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

这段代码有错吗,解决方法

发布时间:2010-06-13 21:31:34 文章来源:www.iduyao.cn 采编人员:星星草
这段代码有错吗,
assume cs:code,ds:data,ss:stack
data segment
dw 0123h,1234h,2345h,3456h,4567h,5678h,6789h
data ends

stack segment
dw 0000h,0000h,0000h,0000h,0000h,0000h,0000h
stack ends

code segment
start :
mov ax,data
mov ds,ax

mov ax,stack
mov ss,ax
mov sp,0020h

mov bx,0000h
mov cx,000dh

s:
push [bx]
add bx,0002h
loop s

mov bx,0000h
mov cx,000dh
d:
pop [bx]
add bx,0002h
loop d

mov ax,4c00h
int 21h
code ends
end start
------解决方案--------------------
mov ax,stack
mov ss,ax
mov sp,0020h

执行到这就不对了。
------解决方案--------------------
assume cs:code,ds:data,ss:stack
data segment
dw 0123h,1234h,2345h,3456h,4567h,5678h,6789h
data ends

stack segment
dw 0000h,0000h,0000h,0000h,0000h,0000h,0000h
stack ends

code segment
start :
mov bx,0000h
mov cx,0007h

mov ax,data
mov ds,ax

mov ax,stack
mov ss,ax
mov sp,0020h

s:
push [bx]
add bx,0002h
loop s

mov bx,0000h
mov cx,0007h

d:
pop [bx]
add bx,0002h
loop d

mov ax,4c00h
int 21h
code ends
end start
;编写过程中出错,主要是没注意,堆栈是字操作,不是字节操作,所已刚开始时循环14次,而正确的是循环7次,故出错
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: