汇编语言30
关于段中 利用栈将一组数据逆序存储 视屏中的给出的答案不能实现assume cs:code
code segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
dw 0,0,0,0,0,0,0,0
start: mov ax,cs
mov ss,ax
mov sp,32
mov bx,0
mov cx,8
s: push cs:
add bx,2
loop s
mov bx,0
mov cx,8
s1: pop cs:
add bx,2
loop s1
mov ax,4c00h
int 21h
code ends
end start
后来我发现是循环数的问题
如果给出的第一个cx=8,第二个cx=16 结果是将第一组定义的数 给逆序了 而第二组仍未0
C:\Users\zhuzhu\Desktop\未命名.jpg 附 想发一张图片上去 无赖 没有权限 附 我再单步调试时发现 当程序运行到cs:6=0abc时,内存中的cs:0e原来是0987 被自动改为1415越往下运行 越来越多的定义内存值被改变,以至于最后的结果出错。不知道是什么原因 附:突然发现 如果是第一个cx=8,第二个cx=16 可以生成逆序的排列 但是 申请的栈空间却消失了
页:
[1]