summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2007-12-29 23:47:22 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2007-12-29 23:47:22 +0000
commit17b8c8b411d677cdbf4fc0a51172525ba94349ce (patch)
tree67fde176942f4d7a99cfd96a5ee5dac19a58a803
parente4186520020237dadb64f2dd4340ec763f126286 (diff)
downloadnuttx-17b8c8b411d677cdbf4fc0a51172525ba94349ce.tar.gz
nuttx-17b8c8b411d677cdbf4fc0a51172525ba94349ce.tar.bz2
nuttx-17b8c8b411d677cdbf4fc0a51172525ba94349ce.zip
Fix comments and reg frame offsets
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@460 42af7a65-404d-4744-a932-0658087f49c3
-rw-r--r--nuttx/arch/z80/include/z80/irq.h18
-rw-r--r--nuttx/arch/z80/src/common/up_head.asm27
-rw-r--r--nuttx/arch/z80/src/common/up_restoreusercontext.asm18
-rw-r--r--nuttx/arch/z80/src/common/up_saveusercontext.asm20
4 files changed, 41 insertions, 42 deletions
diff --git a/nuttx/arch/z80/include/z80/irq.h b/nuttx/arch/z80/include/z80/irq.h
index 059bf0486..a187fd4c3 100644
--- a/nuttx/arch/z80/include/z80/irq.h
+++ b/nuttx/arch/z80/include/z80/irq.h
@@ -60,15 +60,15 @@
* in the TCB to many context switches.
*/
-#define XCPT_I (0) /* Saved I w/interrupt state in carry */
-#define XCPT_AF (1) /* Saved AF register */
-#define XCPT_BC (2) /* Saved BC register */
-#define XCPT_DE (3) /* Saved DE register */
-#define XCPT_HL (4) /* Saved HL register */
-#define XCPT_IX (5) /* Saved IX register */
-#define XCPT_IY (6) /* Saved IY register */
-#define XCPT_SP (7) /* Offset to SP at time of interrupt */
-#define XCPT_PC (8) /* Offset to PC at time of interrupt */
+#define XCPT_I (0) /* Offset 0: Saved I w/interrupt state in carry */
+#define XCPT_AF (1) /* Offset 1: Saved AF register */
+#define XCPT_BC (2) /* Offset 2: Saved BC register */
+#define XCPT_DE (3) /* Offset 3: Saved DE register */
+#define XCPT_HL (4) /* Offset 4: Saved HL register */
+#define XCPT_IX (5) /* Offset 5: Saved IX register */
+#define XCPT_IY (6) /* Offset 6: Saved IY register */
+#define XCPT_SP (7) /* Offset 7: Offset to SP at time of interrupt */
+#define XCPT_PC (8) /* Offset 8: Offset to PC at time of interrupt */
#define XCPTCONTEXT_REGS (9)
#define XCPTCONTEXT_SIZE (2 * XCPTCONTEXT_REGS)
diff --git a/nuttx/arch/z80/src/common/up_head.asm b/nuttx/arch/z80/src/common/up_head.asm
index dad74d4c3..36a145be7 100644
--- a/nuttx/arch/z80/src/common/up_head.asm
+++ b/nuttx/arch/z80/src/common/up_head.asm
@@ -42,15 +42,15 @@
; Register save area layout
- XCPT_PC == 0 ; Offset to PC at time of interrupt
- XCPT_AF == 2 ; Saved AF register
- XCPT_HL == 4 ; Saved HL register
- XCPT_SP == 6 ; Offset to SP at time of interrupt
- XCPT_IY == 8 ; Saved IY register
- XCPT_IX == 10 ; Saved IX register
- XCPT_DE == 12 ; Saved DE register
- XCPT_BC == 14 ; Saved BC register
- XCPT_I == 16 ; Saved I w/interrupt state in carry
+ XCPT_I == 0 ; Offset 0: Saved I w/interrupt state in carry
+ XCPT_BC == 2 ; Offset 1: Saved BC register
+ XCPT_DE == 4 ; Offset 2: Saved DE register
+ XCPT_IX == 6 ; Offset 3: Saved IX register
+ XCPT_IY == 8 ; Offset 4: Saved IY register
+ XCPT_SP == 10 ; Offset 5: Offset to SP at time of interrupt
+ XCPT_HL == 12 ; Offset 6: Saved HL register
+ XCPT_AF == 14 ; Offset 7: Saved AF register
+ XCPT_PC == 16 ; Offset 8: Offset to PC at time of interrupt
; Default stack base (needs to be fixed)
@@ -99,7 +99,7 @@ forever:
; Offset 8: Return PC is already on the stack
push af ; Offset 7: AF (retaining flags)
push hl ; Offset 6: HL
- ld hl, #-(3*2) ; HL is the value of the stack pointer before
+ ld hl, #(3*2) ; HL is the value of the stack pointer before
add hl, sp ; the interrupt occurred
push hl ; Offset 5: Stack pointer
push iy ; Offset 4: IY
@@ -111,11 +111,10 @@ forever:
push af ; Offset 0: I with interrupt state in carry
di
- ; Call the interrupt decode logic
- ; SP points to the beggining of the reg structure
+ ; Call the interrupt decode logic. SP points to the beggining of the reg structure
ld hl, #0 ; Argument is the beginning of the reg structure
- add hl, sp
- push hl
+ add hl, sp ;
+ push hl ;
call _up_decodeirq ; Decode the IRQ
; Restore registers. HL points to the beginning of the reg structure to restore
diff --git a/nuttx/arch/z80/src/common/up_restoreusercontext.asm b/nuttx/arch/z80/src/common/up_restoreusercontext.asm
index 86b497426..1840b260e 100644
--- a/nuttx/arch/z80/src/common/up_restoreusercontext.asm
+++ b/nuttx/arch/z80/src/common/up_restoreusercontext.asm
@@ -35,15 +35,15 @@
; Register save area layout
- .globl XCPT_I ; Saved I w/interrupt state in carry
- .globl XCPT_AF ; Saved AF register
- .globl XCPT_BC ; Saved BC register
- .globl XCPT_DE ; Saved DE register
- .globl XCPT_HL ; Saved HL register
- .globl XCPT_IX ; Saved IX register
- .globl XCPT_IY ; Saved IY register
- .globl XCPT_SP ; Offset to SP at time of interrupt
- .globl XCPT_PC ; Offset to PC at time of interrupt
+ .globl XCPT_I ; Offset 0: Saved I w/interrupt state in carry
+ .globl XCPT_BC ; Offset 1: Saved BC register
+ .globl XCPT_DE ; Offset 2: Saved DE register
+ .globl XCPT_IX ; Offset 3: Saved IX register
+ .globl XCPT_IY ; Offset 4: Saved IY register
+ .globl XCPT_SP ; Offset 5: Offset to SP at time of interrupt
+ .globl XCPT_HL ; Offset 6: Saved HL register
+ .globl XCPT_AF ; Offset 7: Saved AF register
+ .globl XCPT_PC ; Offset 8: Offset to PC at time of interrupt
;**************************************************************************
; up_restoreusercontext
diff --git a/nuttx/arch/z80/src/common/up_saveusercontext.asm b/nuttx/arch/z80/src/common/up_saveusercontext.asm
index 707fdd515..b5c0dbb21 100644
--- a/nuttx/arch/z80/src/common/up_saveusercontext.asm
+++ b/nuttx/arch/z80/src/common/up_saveusercontext.asm
@@ -39,15 +39,15 @@
; Register save area layout
- .globl XCPT_I ; Saved I w/interrupt state in carry
- .globl XCPT_AF ; Saved AF register
- .globl XCPT_BC ; Saved BC register
- .globl XCPT_DE ; Saved DE register
- .globl XCPT_HL ; Saved HL register
- .globl XCPT_IX ; Saved IX register
- .globl XCPT_IY ; Saved IY register
- .globl XCPT_SP ; Offset to SP at time of interrupt
- .globl XCPT_PC ; Offset to PC at time of interrupt
+ .globl XCPT_I ; Offset 0: Saved I w/interrupt state in carry
+ .globl XCPT_BC ; Offset 1: Saved BC register
+ .globl XCPT_DE ; Offset 2: Saved DE register
+ .globl XCPT_IX ; Offset 3: Saved IX register
+ .globl XCPT_IY ; Offset 4: Saved IY register
+ .globl XCPT_SP ; Offset 5: Offset to SP at time of interrupt
+ .globl XCPT_HL ; Offset 6: Saved HL register
+ .globl XCPT_AF ; Offset 7: Saved AF register
+ .globl XCPT_PC ; Offset 8: Offset to PC at time of interrupt
; Stack frame
@@ -56,7 +56,7 @@
FRAME_RET == 4 ; Location of return address on the stack
FRAME_REGS == 6 ; Location of reg save area on stack
- SP_OFFSET == -6
+ SP_OFFSET == 6
;*************************************************************************
; Name: up_saveusercontext