马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 loop 于 2011-4-17 23:03 编辑 assume cs:code,ds:data,ss:stack
data segment
db 'welcome to masm!',0
data ends
stack segment
dw 10 dup(0)
stack ends
code segment
start:
mov bl,5
mov bh,8
mov ax,data
mov ds,ax
mov ax,stack
mov ss,ax
mov sp,11h
mov si,0
mov di,0
mov cx,0
mov cl,2
call show_str
mov ax,4c00h
int 21h
show_str:
mov ax,0b872h
mov es,ax
s: push cx ;第一,如果去掉这里
xor cx,cx
mov cl,[si]
jcxz ok
mov es:[di],cl
xor cx,cx
pop cx ;第二,也去掉这里,换上mov cl,2 ,这样这个程序就可以执行。
mov es:[di+1],cl
inc si
add di,2
jmp short s
ok: ret
code ends
end start
请教这是为什么。。。。 |