📄 write_a9.asm
字号:
;******************************************************************************
; TEXAS INSTRUMENTS INCORPORATED PROPRIETARY INFORMATION
;
; Property of Texas Instruments
; For Unrestricted Internal Use Only
; Unauthorized reproduction and/or distribution is strictly prohibited.
; This product is protected under copyright law and trade secret law
; as an unpublished work.
;
; Created 1999, (C) Copyright 1999 Texas Instruments. All rights reserved.
;
;
; Filename : write_a9.asm
;
; Description : Write word, half word and byte to memory
;
; Project : Perseus
;
; Author : Sebastien Sabatier
;
;*******************************************************************************
.state16 ; thumb mode
;.ref edata ;defined by armas
.global $w_32_a9
.global $w_16_a9
.global $w_8_a9
.global $w_multi_a9
;.ref etext
;
; Write a word by word, half word and byte
;
; Data is written to the address given in argument.
;
; Input : R0 = address, R1 = data
;
; Output : None.
;
$w_32_a9:
push {r4,lr}
str r1, [r0]
pop {r4,pc} ; Return to caller
$w_16_a9:
push {r4,lr}
strh r1, [r0]
pop {r4,pc} ; Return to caller
$w_8_a9:
push {r4,lr}
strb r1, [r0]
pop {r4,pc} ; Return to caller
;
; Write 4 words using STM instruction
;
; Data is written to the address given in argument.
;
; Input : R0 = address, R1-R3 = data
;
; Output : None.
;
$w_multi_a9:
push {lr}
stmia r0!, {r1-r3}
pop {pc} ; return to caller
.end ; Terminate assembly
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -