.nolist ;Ввод числа, величиной с байт inbyte macro x local reg same ,,reg if reg push dx inint dx mov al,dl pop dx else same ,,reg if reg push dx inint dx mov ah,dl pop dx else push ax inint ax mov x,al pop ax endif endif endm ;Вывод беззнакового числа, величиной с байт outbyte macro x,y push ax mov al,x mov ah,0 outword ax,y pop ax endm ;Вывод знакового числа, величиной с байт outshnt macro x,y push ax mov al,x cbw outint ax,y pop ax endm ;Ввод символа с клавиатуры inchar macro x local reg same ,,reg if reg push bx mov bl,ah mov ah,1 int 21h mov ah,bl pop bx else same ,,reg if reg push bx mov bl,al mov ah,1 int 21h mov ah,al mov al,bl pop bx else push ax mov ah,1 int 21h mov x,al pop ax endif endif endm ;Ввод строки с клавиатуры instrg macro x local m1,m push di push ax mov di,0 m1: mov ah,1 int 21h mov x[di],al cmp al,13 je m inc di jmp m1 m: mov x[di],36 pop ax pop di endm ;Вывод строки на экран outstrg macro x,y local l push dx push ax lea dx,x mov ah,9 int 21h pop ax pop dx endm .list