diff options
author | red031000 <rubenru09@aol.com> | 2020-09-03 18:38:32 +0100 |
---|---|---|
committer | red031000 <rubenru09@aol.com> | 2020-09-03 18:38:50 +0100 |
commit | de5004d18612a49bd6f04c26c81cf9c790c0721b (patch) | |
tree | ba5849e6c263a16674d42ee19a288ac14e874fc2 /arm7/asm/OS_message.s | |
parent | 1b96581aa2aecec27b6f1e523c3611f9bb400caa (diff) |
arm7 OS_message
Diffstat (limited to 'arm7/asm/OS_message.s')
-rw-r--r-- | arm7/asm/OS_message.s | 147 |
1 files changed, 0 insertions, 147 deletions
diff --git a/arm7/asm/OS_message.s b/arm7/asm/OS_message.s deleted file mode 100644 index ade175de..00000000 --- a/arm7/asm/OS_message.s +++ /dev/null @@ -1,147 +0,0 @@ - .include "asm/macros.inc" - .include "global.inc" - - .text - - arm_func_start OS_ReadMessage -OS_ReadMessage: ; 0x037F980C - stmdb sp!, {r4, r5, r6, r7, r8, lr} - mov r6, r0 - mov r5, r1 - mov r7, r2 - bl OS_DisableInterrupts - mov r4, r0 - and r8, r7, #1 - add r7, r6, #8 - b _037F9850 -_037F9830: - cmp r8, #0 - bne _037F9848 - mov r0, r4 - bl OS_RestoreInterrupts - mov r0, #0 - b _037F987C -_037F9848: - mov r0, r7 - bl OS_SleepThread -_037F9850: - ldr r0, [r6, #28] - cmp r0, #0 - beq _037F9830 - cmp r5, #0 - ldrne r1, [r6, #16] - ldrne r0, [r6, #24] - ldrne r0, [r1, r0, lsl #2] - strne r0, [r5] - mov r0, r4 - bl OS_RestoreInterrupts - mov r0, #1 -_037F987C: - ldmia sp!, {r4, r5, r6, r7, r8, lr} - bx lr - - arm_func_start OS_ReceiveMessage -OS_ReceiveMessage: ; 0x037F9884 - stmdb sp!, {r4, r5, r6, r7, r8, lr} - mov r6, r0 - mov r5, r1 - mov r7, r2 - bl OS_DisableInterrupts - mov r4, r0 - and r8, r7, #1 - add r7, r6, #8 - b _037F98C8 -_037F98A8: - cmp r8, #0 - bne _037F98C0 - mov r0, r4 - bl OS_RestoreInterrupts - mov r0, #0 - b _037F991C -_037F98C0: - mov r0, r7 - bl OS_SleepThread -_037F98C8: - ldr r0, [r6, #28] - cmp r0, #0 - beq _037F98A8 - cmp r5, #0 - ldrne r1, [r6, #16] - ldrne r0, [r6, #24] - ldrne r0, [r1, r0, lsl #2] - strne r0, [r5] - ldr r0, [r6, #24] - add r0, r0, #1 - ldr r1, [r6, #20] - bl _s32_div_f - str r1, [r6, #24] - ldr r0, [r6, #28] - sub r0, r0, #1 - str r0, [r6, #28] - mov r0, r6 - bl OS_WakeupThread - mov r0, r4 - bl OS_RestoreInterrupts - mov r0, #1 -_037F991C: - ldmia sp!, {r4, r5, r6, r7, r8, lr} - bx lr - - arm_func_start OS_SendMessage -OS_SendMessage: ; 0x037F9924 - stmdb sp!, {r4, r5, r6, r7, lr} - sub sp, sp, #4 - mov r6, r0 - mov r5, r1 - mov r7, r2 - bl OS_DisableInterrupts - mov r4, r0 - and r7, r7, #1 - b _037F9968 -_037F9948: - cmp r7, #0 - bne _037F9960 - mov r0, r4 - bl OS_RestoreInterrupts - mov r0, #0 - b _037F99AC -_037F9960: - mov r0, r6 - bl OS_SleepThread -_037F9968: - ldr r2, [r6, #28] - ldr r1, [r6, #20] - cmp r1, r2 - ble _037F9948 - ldr r0, [r6, #24] - add r0, r0, r2 - bl _s32_div_f - ldr r0, [r6, #16] - str r5, [r0, r1, lsl #2] - ldr r0, [r6, #28] - add r0, r0, #1 - str r0, [r6, #28] - add r0, r6, #8 - bl OS_WakeupThread - mov r0, r4 - bl OS_RestoreInterrupts - mov r0, #1 -_037F99AC: - add sp, sp, #4 - ldmia sp!, {r4, r5, r6, r7, lr} - bx lr - - arm_func_start OS_InitMessageQueue -OS_InitMessageQueue: ; 0x037F99B8 - mov ip, #0 - str ip, [r0, #4] - ldr r3, [r0, #4] - str r3, [r0] - str ip, [r0, #12] - ldr r3, [r0, #12] - str r3, [r0, #8] - str r1, [r0, #16] - str r2, [r0, #20] - str ip, [r0, #24] - str ip, [r0, #28] - bx lr |