102 lines
1.8 KiB
Plaintext
Executable File
Vendored
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 |