icall32.asm
来自「MMI层OBJ不能完全编译」· 汇编 代码 · 共 37 行
ASM
37 行
;******************************************************************************
;* ICALL32.ASM - 32 BIT STATE - v2.54 *
;* Copyright (c) 1996-2004 Texas Instruments Incorporated *
;******************************************************************************
;****************************************************************************
;* IND_CALL - PERFORM INDIRECT CALL, SUPPORTING DUAL STATE INTERWORKING
;*
;****************************************************************************
;*
;* o ADDRESS OF CALLED FUNCTION IS IN r4
;* o r4 GETS DESTROYED
;*
;****************************************************************************
.state32
.global IND_CALL
IND_CALL: .asmfunc
TST r4, #1 ; TEST STATE OF DESTINATION
BNE ep_16 ;
BX r4 ; INDIRECT CALL TO 32BIS ENTRY POINT
ep_16: MOV ip, r4 ; FREE r4 BY STORING ITS VALUE IN ip
MOV r4, lr ; STORE RETURN ADDRESS IN r4
ADD lr, pc, #1 ; SETUP NEW RETURN ADDRESS
BX ip ; INDIRECT CALL TO 16BIS ENTRY POINT
.state16
BX r4 ; RETURN
NOP ;
.state32
.endasmfunc
.end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?