main proc far
mov ax,s1 ;栈初始化——
mov ss,ax
lea sp,top
;——栈初始化
mov ax,s2 ;数据段初始化——
mov ds,ax
;——数据段初始化
mov si,15
l: mov dl,s[si] ;dl 获取字符串 s 的最后一个(从零开始的第十五个字符)
mov ah,2
;调用 int 21h 2 号功能输出 dl 上的值
int 21h
dec si ;寄存器减一,准备获取下一个字符
cmp si,0
ja l
mov ah,4ch ;终止
int 21h
main endp
s3 ends
end main
2.从键盘上输入两个数,分别放到 x,y 单元,求出它们的和
s1 segment stack
dw 100h dup(?)
top label word
s1 ends
s2 segment
h1 db 'Please input x:','$' ;提示输入
h2 db 'Please input y:','$' ;提示输入
h3 db 'z=x+y:','$' ;提示输出
crlf db 0dh,0ah,24h ;定义回车换行
x dw ?
y dw ?
s2 ends
s3 segment
assume cs:s3,ds:s2,ss:s3
main proc far
mov ax,s1 ;初始化
——
mov ss,ax
lea sp,top
mov ax,s2