Desktop / Типы программ ввода с клавиатуры и вывода символов на экран
.docПрограмма типа ЕХЕ
1. Вывод строки
; hello.asm
; Выводит на экран сообщение "Hello World!" и завершается
.model small ; модель памяти, используемая для ЕХЕ
.stack 100h ; сегмент стека размером в 256 байт
.code
start: mov ax,DGROUP ; сегментный адрес строки message
;mov ax,@data можно использовать предопределенную
; метку @data
mov ds,ax ; помещается в DS
mov dx,offset message ; в DX адрес начала строки
mov ah,9
int 21h ; функция DOS "вывод строки"
mov ax,4C00h
int 21h ; функция DOS "завершить программу"
.data
message db "Hello World!",0Dh,0Ah,'$'
end start
Программа типа COM
2. Выводит посимвольно
; Выводит на экран все ASCII-символы
;
.model tiny
.code
org 100h ; начало СОМ-файла
start:
mov ex,256 ; вывести 256 символов
mov dl,0 ; первый символ - с кодом 00
mov ah,2 ; номер функции DOS "вывод символа"
cloop: int 21h ; вызов DOS
inc dl ; увеличение DL на 1 - следующий символ
test dl,0Fh ; если DL не кратен 16,
jnz continue_loop ; продолжить цикл,
push dx ; иначе: сохранить текущий символ
mov dl,0Dh ; вывести CR (возврат каретки)
int 21h
mov dl,0Ah ; вывести LF (перевод строки)
int 21h
pop dx ; восстановить текущий символ
continue_loop:
loop cloop ; продолжить цикл
ret ; завершение СОМ-файла
end start
3. Считывание строки с клавиатуры
mov dx,offset buffer
mov ah,0Ah
int 21h ; считать строку символов в буфер
4. Считывание символа с клавиатуры
mov ah,08h ; считать символ с клавиатуры в AL
int 21h ; без эха, с ожиданием, с проверкой на
; Ctrl-Break