stack segment stack 'stack'
dw dup() ;此处输入堆栈段代码
stack ends
data segment
;IBUF OBUF 看成是内存的地址,IBUF+1和IBUF+2就是IBUF后面的第一个和第二个单元的地址
IBUF DB 0FFH,, DUP ()
;DB 是DEFINE BYTE的缩写就是定义的意思;OFFH =
;DB ,, DUP(?)就是DB ,,?,?,?,?,?,?
;x DUP(y)即重复复制y到寄存器x次;
;DB ,,6dup(?)即分别分配内存空间7,,;而?表示未设定初始值。 OBUF DB '>',0DH,0AH,'$'
;0DH和0AH分别是回车和换行的ASCII码
;$'是DOS功能调用INT 21H中9号功能要求的要显示字符串的结束标志。 data ends code segment
begin proc far
assume ss:stack,cs:code,ds:data
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax MOV DX, OFFSET OBUF
MOV AH,
INT 21H
;9号功能调用 格式;MOV DX,待显示字符串的首偏移地址 ,OFFSET是将数值回送变量或标号的偏移地址值
;MOV AH,
;INT 21H本调用执行后,
;显示器显示待显示的字符串。执行前要在DS数据段定义一串字符,该字符串必须以$结束。 MOV DX,OFFSET IBUF
MOV AH,
INT 21H
;10号功能调用 格式;MOV DX,数据区的首偏移地址
;MOV AH,
;INT 21H 档需要输入字符串时,应在DS数据段中事先定义以个变量数据区IBUF,其定义格式如下
;IBUF DB数据区大小,,数据区大小DUP() MOV BL,IBUF+
MOV BH,
MOV IBUF [BX+],'$' MOV DL,0AH
MOV AH,
INT 21H
;2号功能调用 格式;MOV DL,待显示字符的ASCII码
;MOV AH,
;INT 21H本调用执行后,显示器显示待显示的字符 MOV DX, OFFSET IBUF+
MOV AH,
INT 21H ret
;此处输入代码段代码 begin endp
code ends
end begin
stack segment stack 'stack'
dw dup() stack ends
data segment
OBUF DB '>',0DH,0AH,'$'
IBUF DB 0FFH,, DUP ()
data ends code SEGMENT
begin proc far
assume ss:stack,cs:code,ds:data
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
MOV DX, OFFSET OBUF
MOV AH,
INT 21H
MOV DX,OFFSET IBUF
MOV AH,
INT 21H
MOV BL,IBUF+
MOV BH,
MOV IBUF [BX+],'$'
MOV DL,0AH
MOV AH,
INT 21H
MOV DX, OFFSET IBUF+
MOV AH,
INT 21H
ret begin endp
code ends
end begin
。。。。。。。。。。。。。。。。。。。。。。。。