马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 17066038 于 2016-7-25 17:37 编辑
我练习实验五(6)的代码编写,为何在sub bx,2处执行了预料之外的结果
我的思路是将 段(dw 1,2,3,4,5,6,7,8)做为栈,逐步弹出栈中元素到b段(dw 0,0,0,0,0,0,0,0)
开始时bx指向b段(dw 0,0,0,0,0,0,0,0)的最后一个元素,然后逐步bx=bx-2,实现逆序排列的
结果第一次执行到sub bx,2时就发生了错误,,求解。。。。。
assume cs:code
a segment
dw 1,2,3,4,5,6,7,8
a ends
b segment
dw 0,0,0,0,0,0,0,0
b ends
code segment
start:
mov ax,a
mov ss,ax
mov sp,0h
mov ax,b
mov ds,ax
mov bx,1eh
mov cx,8
s: pop ds:[bx]
sub bx,2
loop s
mov ax,4c00h
int 21h
code ends
end start
|