Files

102 lines
1.8 KiB
Plaintext
Executable File
Vendored

//*
//* $Id: //DAILEO/Columbus/IPCamera/source/iNfinity/iNfinity_ROM/source/include/macro.include#1 $
//* $Header: //DAILEO/Columbus/IPCamera/source/iNfinity/iNfinity_ROM/source/include/macro.include#1 $
//* $Date: 2015/05/27 $
//* $DateTime: 2015/05/27 17:11:47 $
//* $Change: 1236156 $
//* $File: //DAILEO/Columbus/IPCamera/source/iNfinity/iNfinity_ROM/source/include/macro.include $
//* $Revision: #1 $
//*
////WREG
.macro WREG reg_addr32, vall
ldr r7, =\reg_addr32
ldr r6, =\vall
str r6, [r7]
b 1011f
.ltorg
1011:
.endm
////REG_C2M
.macro REG_C2M cpu_reg, reg_addr32
ldr r7, =\reg_addr32
str \cpu_reg, [r7]
.endm
////WREG_B
.macro WREG_B reg_addr32, val
ldr r7, =\reg_addr32
ldr r6, =\val
strb r6, [r7]
.endm
////RREG
.macro RREG dest_reg, reg_addr32
ldr r7, =\reg_addr32
ldr \dest_reg, [r7]
.endm
////RREG_B
.macro RREG_B dest_reg, reg_addr32
ldr r7, =\reg_addr32
ldrb \dest_reg, [r7]
.endm
////LOOP_DELAY
.macro LOOP_DELAY val
ldr r7, =\val
1012:
nop
subs r7,r7, #1
bne 1012b
.endm
////DELAYUS
.macro DELAYUS val
ldr r7, =\val
1013:
// in AMBER3, we set subtrahend from 1 to 40
subs r7, r7, #40
bgt 1013b
.endm
////_HOLD_
.macro _HOLD_
b .
.endm
////MEMCPY32
.macro MEMCPY32
1015:
ldr r9, [r10], #4
str r9, [r11], #4
subs r12, r12, #4
bne 1015b
.endm
////MMUSET
.macro MMUSET
1016:
str r3, [r2], #4
add r3, r3, #0x00100000
subs r4, r4, #1
cmp r4, #0
bne 1016b
.endm
////MEMCPY32
.macro MEMCPY32_T
1017:
ldr r4, [r5]
str r4, [r6]
add r5, #4
add r6, #4
sub r7, #4
bne 1017b
.endm