回 帖 发 新 帖 刷新版面

主题:一个关于堆栈的问题

有如下的指令:PUSH EBP
                 MOV  EBP,ESP   ;这条语句后,是不是EBP就指向了ESP所指向的   单元了?然后不管ESP怎么移动,EBP仍然指在原来的地方?
                 PUSHF
                 PUSH   EBX
                 SUB  EAX,EAX
                 MOV  EBX,[EBP+8]
                 CMP   BYTE PTR[EBX],0
若我想改为16位的算法该怎么改呢?我改为了下面的,但是CMP   BYTE PTR[BX],0这条语句却报错了,为什么呢?
                 PUSH BP
                 MOV  BP,SP   
                 PUSHF
                 PUSH   BX
                 SUB  AX,AX
                 MOV  BX,[BP+8]
                 CMP   BYTE PTR[BX],0

回复列表 (共2个回复)

沙发

第一个问题:是
第2个问题:是
中间一个你忘改了
改过以后再试试

板凳

MOV  BX,[BP+8]
应该为:
MOV  BX,[BP+4]

我来回复

您尚未登录,请登录后再回复。点此登录或注册