Помощь - Поиск - Пользователи - Календарь
Полная версия: Работа с экраном
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Ассемблер
dron4ik
Привет всем. нужно написать прогу которая выводить звездочки по углам и вцентре разного цвета, вроде написал одну зведочку но tlink выдает Warning:No stack.
Mycode Segment 'Code'
assume cs: Mycode, ss: Mycode, ds: Mycode, es: Mycode
Main Proc

Startpoint:

mov ah,2
mov dh,10
mov dl,22
mov bh,0
int 10h
mov ah,0eh
mov al,'*'
mov bh,0
int 10h
mov ah,2
mov dh,30
mov dl,16
mov bh,0
int 10h
mov ah,0eh
mov al,'$'
mov bh,0
int 10h
mov ax, 4c00h
int 21h

Main EndP

Mycode EndS

End Startpoint
volvo
Цитата
вроде написал одну зведочку
Написать-то ты написал, но выводится она у тебя в режиме телетайпа, то есть, без цвета. Чтоб вывести цветную звездочку - используй не функцию 0eh, а 09h.

Цитата
tlink выдает Warning:No stack.
Правильно выдает, у тебя в программе описан только один сегмент - сегмент кода, сегмента стека нет. Опиши его, тогда предупреждения не будет.
dron4ik
Это прогу делаю типа Ком файла там же всего один сегмент, место 0eh можно написать 09H?
volvo
А если ты делаешь Com, то делай его как положено:
Mycode Segment 'Code'
assume cs: Mycode, ss: Mycode, ds: Mycode, es: Mycode
org 100h
Startpoint:
mov ah,2
mov dh,10
mov dl,22
mov bh,0
int 10h
mov ah,0eh
mov al,'*'
mov bh,0
int 10h
mov ah,2
mov dh,30
mov dl,16
mov bh,0
int 10h
mov ah,0eh
mov al,'$'
mov bh,0
int 10h
mov ax, 4c00h
int 21h

Mycode EndS

End Startpoint
, и компилировать/линковать вот так:
tasm /z/zi/l test.asm
tlink /v test.obj

(линковка именно с ключом /v, чтобы создать Com)
dron4ik
я пееределал верннее написал др прогу но она у мя не выводит звезочку..
Mycode Segment 'Code'
assume cs: Mycode, ss: Mycode, ds: Mycode, es: Mycode
org 100h
Main Proc

Startpoint:
mov ax, 0B800h
mov es, ax
mov ah, 1Eh
mov al, '*'

mov es:[(11*80+36)*2], ax
mov ah, 09h

mov ax, 4c00h
int 21h

Main EndP
Mycode EndS

End Startpoint
volvo
Вот так - выводит?
Mycode Segment 'Code'
assume cs: Mycode, ss: Mycode, ds: Mycode, es: Mycode
org 100h

Startpoint:
mov ax, 0B800h
mov es, ax

; Установка режима №3
mov ah, 0
mov al, 3
int 10h

mov ah, 1Eh
mov al, '*'

mov es:[(11*80+36)*2], ax
mov ah, 09h

mov ax, 4c00h
int 21h
Mycode EndS

End Startpoint
dron4ik
выводит серийный номер жесткого диска..
volvo
Цитата
выводит серийный номер жесткого диска..
blink.gif С чего бы? У меня выводит звездочку... Ну, значит, не судьба тебе увидеть звездочки...
dron4ik
у меня ОС Windows 7 может поэтому чтото не то? я не смогу сделать вывод звездочки на экран?

Добавлено через 4 мин.
А как расставить остальные звездочки по углам? мне придется еще четыре раза написать этот же код только с др координтами?
dron4ik
странно..теперь все заново скомпилил ваш код то рисует звезду)
dron4ik
расставил точки) Ура!

Добавлено через 8 мин.
Volvo, спасибо smile.gif
dron4ik
Используется ли в этой проге прямая адресация в видеопамять?
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.