summaryrefslogtreecommitdiff
path: root/nuttx/arch/z80/src
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 /nuttx/arch/z80/src
parente4186520020237dadb64f2dd4340ec763f126286 (diff)
downloadpx4-nuttx-17b8c8b411d677cdbf4fc0a51172525ba94349ce.tar.gz
px4-nuttx-17b8c8b411d677cdbf4fc0a51172525ba94349ce.tar.bz2
px4-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
Diffstat (limited to 'nuttx/arch/z80/src')
-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
3 files changed, 32 insertions, 33 deletions
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