帮忙看上一个51汇编的出错有关问题(error 65:access violation)

帮忙看下一个51汇编的出错问题(error 65:access violation)
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指令
------其他解决方案--------------------
看汇编少了,,