opreg.a51

来自「本RTOS参考 usOS-II, ARM-RTX」· A51 代码 · 共 117 行

A51
117
字号
;NAME	PUSH_REG
;NAME	POP_REG
  
  NAME   OP_REG

?PR?Push_Reg?OP_REG    SEGMENT CODE
?PR?Pop_Reg?OP_REG      SEGMENT CODE

	PUBLIC	Push_Reg
	PUBLIC  Pop_Reg
;--------------------------------------------	
	PUBLIC  STACK
;--------------------------------------------
;?STACK SEGMENT IDATA

?STACK      SEGMENT   IDATA

        RSEG    ?STACK
STACK:                                          ;堆栈
        DS  0
;--------------------------------------------	

  
	RSEG  ?PR?Push_Reg?OP_REG
Push_Reg:
	USING	0
	  
	  ;// SP -= 2 //
    DEC SP
    DEC SP
	  
	  ;// SP -= 13 //
    DEC SP
    DEC SP
    DEC SP
    DEC SP
    DEC SP
    DEC SP
    DEC SP
    DEC SP
    
    DEC SP
    DEC SP
    DEC SP
    DEC SP
    DEC SP
	  
	  ;//压栈和出栈按中断压栈和出栈的顺序
	  PUSH ACC
    PUSH B
    PUSH DPH
    PUSH DPL
    PUSH PSW
    PUSH 0
    PUSH 1
    PUSH 2
    PUSH 3
    PUSH 4
    PUSH 5
    PUSH 6
    PUSH 7
    ;PUSH IE ;//debug
    ;POP  IE ;//debug
    
    ;// SP += 2 //  
    INC SP
    INC SP
    
	  RET
  
  RSEG  ?PR?Pop_Reg?OP_REG
Pop_Reg:
	USING	0
	  
	  ;// SP -= 2 //
	  DEC SP
	  DEC SP
	  
    
    POP 7
    POP 6
    POP 5
    POP 4
    POP 3
    POP 2
    POP 1
    POP 0
    POP PSW
    POP DPL
    POP DPH
    POP B
    POP ACC
        
    ;// SP += 13 //
    INC SP
    INC SP
    INC SP
    INC SP
    INC SP
    INC SP
    INC SP
    INC SP
    
    INC SP
    INC SP
    INC SP
    INC SP
    INC SP
    
    ;// SP += 2 //
    INC SP
    INC SP
    
	  RET 
	
	END

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?