专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 汇编语言

求解,这程序哪错了

发布时间:2010-06-14 15:51:55 文章来源:www.iduyao.cn 采编人员:星星草
大虾求解,这程序哪错了?
Assembly code
assume cs:code
data segment
db 'Welcome to masm!',0
data ends
stack segment
db 16 dup (0)
stack ends
code segment
start:
mov dh,8
mov dl,3
mov cl,2
sub ch,ch
mov ax,data
mov ds,ax
mov ax,stack
mov ss,ax
mov sp,16
sub si,si
sub di,di
mov ax,0b800h
mov es,ax
call show_str
mov ax,4c00h
int 21h
show_str:
push cx
mov cl,[si]
jcxz ok
pop cx
mov al,[si]
mov ah,cl
mov es:[di+160*8+3],ax
add di,2
inc si
jmp short show_str
ok:
pop cx
ret
code ends
end start

目的是在屏幕的8行3列,用绿色显示DATA段中的字符串。

------解决方案--------------------
子程序堆栈失衡。push/pop应成对才可保持堆栈平衡。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: