将a段8个字型数据,逆序存储到b段中
Assembly codeassume cs:codea segment dw 1, 2, 3, 4, 5, 6, 7, 8a endsb segment dw 0, 0, 0, 0, 0, 0, 0, 0 b endscode segmentstart: mov ax, b mov ss, ax mov sp, 0010h mov ax, a mov ds, ax mov bx, 0 mov cx, 8 s: push [bx] add bx, 2 loop s mov ah, 4ch int 21h code endsend start
如图,为什么从ss开始是顺序存放的?
------解决方案--------------------------------------------------------因为你PUSH的时候是栈顶,所以是高位,所以就出现你不想出现的情况了
mov bx, 8
mov cx, 8
s: push [bx]
sub bx, 2
loop s
试试这样吧
------解决方案--------------------------------------------------------我这里正常,难道栈增长方向不一样?
------解决方案--------------------------------------------------------