ORG 0000H
START:
//设置位
MOV A,#00H
PUSH ACC
MOV A,#0D0H
PUSH ACC
//保存位
POP 30H
POP 31H
WEI_H EQU 30H
WEI_L EQU 31H
//设置段
MOV A,#00H
PUSH ACC
MOV A,#0D8H
PUSH ACC
//保存段
POP 33H
POP 34H
DUAN_H EQU 33H
DUAN_L EQU 34H
END
///////////////////////////////////////////////////
keil 编译通过后调试至
POP 34H 对应反汇编:C:0x0018 00 NOP
出错提示:
*** error 65: access violation at C:0x0018 : no 'execute/read' permission
------最佳解决方案--------------------
首先是缺少堆栈指针的操作MOV SP,#30H
另外第二次出栈POP时的地址不会为33H和34H
多看看堆栈和POP,PUSH指令
------其他解决方案--------------------
看汇编少了,,