驰骋 发表于 2020-12-20 14:51:48

监测点6-1(2)

本帖最后由 驰骋 于 2020-12-20 14:53 编辑

assume cs:codesg

codesg segment

      dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h

      dw 0,0,0,0,0,0,0,0,0,0

start: mov ax, cs

      mov ss,ax

      mov sp, 24h

      mov ax,0

      mov ds,ax

      mov bx,0

      mov cx,8

    s:push

         pop cs:   ;或 pop ss:

      add bx,2

      loop s

      mov ax,4c00h

      int 21h

codesg ends

end start






第一个红色部分,改为:dw 0
第二个红色部分,sp改为12h




请问这样做,为什么达不到目的?
原题目中,入栈后立即出栈,用1个字空间就够,为什么要设置10个字的栈空间?

超级肉肉男 发表于 2020-12-27 22:38:48

第二个红改成12h的话push的时候最后一个data就被挤没了吧,栈空间的话一个字应该是够。
页: [1]
查看完整版本: 监测点6-1(2)