主题:一个关于堆栈的问题
有如下的指令: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
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