
'-!(!%2 -4!%-' #$
SRET
操作:
操作数
–
操作总结
从子程序中返回,并跳过
字节
1
周期
3+S
描述:
SRET ,通常使用以返回到先前执行的程序在子程序的末尾
这是通过调用, LCALL或者调用指令启动。 SRET跳过产生的地址,
其通常在该子程序被调用的点后,立即指令。
然后,程序继续执行从产生的地址和位置的内容
由堆栈指针指向被弹出到程序计数器。
操作数
–
1
1
1
二进制代码
0
0
1
0
1
操作符号
PC14-8
←
( SP + 1) (SP)的
PC7-0
←
( SP + 3 )(SP + 2)的
教统局,雇员再培训局
←
( SP + 5 ) ( SP + 4 )
SP
←
SP+6
例如:
如果堆栈指针内容为0FAH和RAM的位置0FAH , 0FBH , 0FCH和0FDH
包含值1 H , OH, 5H,和2H,分别为,指令
SRET
离开堆栈指针的值00H及程序返回,继续执行在
位置0125H ,则无条件地跳过。
在从子程序返回时,数据从堆栈中弹出到PC如下:
SP
→
SP + 1
SP + 2
SP + 3
SP + 4
SP + 5
SP + 6
(0FAH)
(0FBH)
(0FCH)
(0FDH)
(0FEH)
(0FFH)
(000H)
0
0
0
PC11 - PC8
PC14
PC13
PC12
PC3 - PC0
PC7 - PC4
0
0
教统局
0
雇员再培训局
0