帮忙看下一个51汇编的出错问题(error 65:access violation)
ORG0000H
START:
//设置位
MOVA,#00H
PUSHACC
MOVA,#0D0H
PUSHACC
//保存位
POP30H
POP31H
WEI_HEQU 30H
WEI_LEQU 31H
//设置段
MOVA,#00H
PUSHACC
MOVA,#0D8H
PUSHACC
//保存段
POP33H
POP34H
DUAN_HEQU33H
DUAN_LEQU34H
END
///////////////////////////////////////////////////
keil 编译通过后调试至
POP34H 对应反汇编:C:0x0018 00 NOP
出错提示:
*** error 65: access violation at C:0x0018 : no 'execute/read' permission
[最优解释]
首先是缺少堆栈指针的操作MOV SP,#30H
另外第二次出栈POP时的地址不会为33H和34H
多看看堆栈和POP,PUSH指令
[其他解释]
看汇编少了,,