diff options
Diffstat (limited to 'ports/rxv1/iar/src/tx_thread_stack_build.s')
| -rw-r--r-- | ports/rxv1/iar/src/tx_thread_stack_build.s | 54 |
1 files changed, 28 insertions, 26 deletions
diff --git a/ports/rxv1/iar/src/tx_thread_stack_build.s b/ports/rxv1/iar/src/tx_thread_stack_build.s index d52a40e9..b76c5839 100644 --- a/ports/rxv1/iar/src/tx_thread_stack_build.s +++ b/ports/rxv1/iar/src/tx_thread_stack_build.s @@ -28,7 +28,7 @@ ;/* FUNCTION RELEASE */ ;/* */ ;/* _tx_thread_stack_build RXv1/IAR */ -;/* 6.1.8 */ +;/* 6.1.9 */ ;/* AUTHOR */ ;/* */ ;/* William E. Lamie, Microsoft Corporation */ @@ -61,6 +61,11 @@ ;/* DATE NAME DESCRIPTION */ ;/* */ ;/* 08-02-2021 William E. Lamie Initial Version 6.1.8 */ +;/* 10-15-2021 William E. Lamie Modified comment(s), and */ +;/* removed unnecessary stack */ +;/* type placement, */ +;/* resulting in version 6.1.9 */ + ;/* */ ;/**************************************************************************/ @@ -72,8 +77,7 @@ __tx_thread_stack_build: ; /* Build an interrupt frame. The form of the fake interrupt stack ; on the Renesas RX should look like the following after it is built: ; -; Stack Top: 1 Interrupt stack frame type -; ACC0 +; Stack Top: ACC0 ; R6 ; R7 ; R8 @@ -95,41 +99,39 @@ __tx_thread_stack_build: ; ; Stack Bottom: (higher memory address) */ ; - MOV.L 16[R1],R3 ; Pickup end of stack area - BCLR #0, R3 ; mask for 4-byte alignment + MOV.L 16[R1],R3 ; Pickup end of stack area + BCLR #0, R3 ; Mask for 4-byte alignment BCLR #1, R3 ; ; /* Build the stack frame. */ ; MOV.L #30000h, R4 - MOV.L R4, [-R3] ; initial PSW (SVC mode, U flag set) - MOV.L R2, [-R3] ; initial PC + MOV.L R4, [-R3] ; Initial PSW (SVC mode, U flag set) + MOV.L R2, [-R3] ; Initial PC MOV.L #0, R4 - MOV.L R4,[-R3] ; initial R2 ... - MOV.L R4,[-R3] ; initial R1 ... - MOV.L R4,[-R3] ; initial R5 ... - MOV.L R4,[-R3] ; initial R4 ... - MOV.L R4,[-R3] ; initial R3 ... - MOV.L R4,[-R3] ; initial R15 ... - MOV.L R4,[-R3] ; initial R14 ... - MOV.L R4,[-R3] ; initial R13 ... - MOV.L R4,[-R3] ; initial R12 ... - MOV.L R4,[-R3] ; initial R11 ... - MOV.L R4,[-R3] ; initial R10 ... - MOV.L R4,[-R3] ; initial R9 ... - MOV.L R4,[-R3] ; initial R8 ... - MOV.L R4,[-R3] ; initial R7 ... - MOV.L R4,[-R3] ; initial R6 ... + MOV.L R4,[-R3] ; Initial R2 ... + MOV.L R4,[-R3] ; Initial R1 ... + MOV.L R4,[-R3] ; Initial R5 ... + MOV.L R4,[-R3] ; Initial R4 ... + MOV.L R4,[-R3] ; Initial R3 ... + MOV.L R4,[-R3] ; Initial R15 ... + MOV.L R4,[-R3] ; Initial R14 ... + MOV.L R4,[-R3] ; Initial R13 ... + MOV.L R4,[-R3] ; Initial R12 ... + MOV.L R4,[-R3] ; Initial R11 ... + MOV.L R4,[-R3] ; Initial R10 ... + MOV.L R4,[-R3] ; Initial R9 ... + MOV.L R4,[-R3] ; Initial R8 ... + MOV.L R4,[-R3] ; Initial R7 ... + MOV.L R4,[-R3] ; Initial R6 ... - MOV.L R4,[-R3] ; Accumulator 0 + MOV.L R4,[-R3] ; Accumulator 0 MOV.L R4,[-R3] - MOV.L #1, R4 - MOV.L R4,[-R3] ; indicate interrupt stack frame ; /* Setup stack pointer. */ ; thread_ptr -> tx_thread_stack_ptr = R1; MOV.L R3, 8[R1] - ; store initial SP in thread control block + ; Store initial SP in thread control block RTS ;} |
