projects
/
fw
/
sdcc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
* src/pic16/glue.c: fixed bug #983491 - "Merge duplicate strings
[fw/sdcc]
/
device
/
lib
/
gbz80
/
crt0.s
diff --git
a/device/lib/gbz80/crt0.s
b/device/lib/gbz80/crt0.s
index eb015280ea44f56e557bfb86031dcc953691831e..814b43ed2cdc8b1916ca88366acac5dc1fc54534 100644
(file)
--- a/
device/lib/gbz80/crt0.s
+++ b/
device/lib/gbz80/crt0.s
@@
-1,62
+1,68
@@
-
;; Generic crt0.s for a
Z80
-
.globl _
_main
-
-
.area
_HEADER (ABS)
- ;; Reset vector
- .org 0
- jp init
-
- .org 0x08
- reti
- .org 0x10
- reti
- .org 0x18
- reti
- .org 0x20
- reti
- .org 0x28
- reti
- .org 0x30
- reti
- .org 0x38
- reti
-
- .org 0x100
- jp 0x150
-
- .org 0x150
+
;; Generic crt0.s for a GB
Z80
+
.globl
_main
+
+
.area
_HEADER (ABS)
+
;; Reset vector
+
.org 0
+
jp init
+
+
.org 0x08
+
reti
+
.org 0x10
+
reti
+
.org 0x18
+
reti
+
.org 0x20
+
reti
+
.org 0x28
+
reti
+
.org 0x30
+
reti
+
.org 0x38
+
reti
+
+
.org 0x100
+
jp 0x150
+
+
.org 0x150
init:
init:
- di
- ;; Stack at the top of memory.
- ld sp,#0xdfff
+ di
+ ;; Stack at the top of memory.
+ ld sp,#0xdfff
+
+ ;; Setup global data
+ call gsinit
- ;; Use _main instead of main to bypass sdcc's intelligence
-
call _
_main
- jp _exit
+
;; Use _main instead of main to bypass sdcc's intelligence
+
call
_main
+
jp _exit
- ;; Ordering of segments for the linker.
- .area _CODE
- .area _DATA
+ ;; Ordering of segments for the linker.
+ .area _HOME
+ .area _CODE
+ .area _GSINIT
+ .area _GSFINAL
+ .area _DATA
+ .area _BSS
+ .area _HEAP
+
+ .area _CODE
__clock::
__clock::
- ld a,#2
- rst 0x00
- ret
-
-_getsp::
- ld hl,#0
- add hl,sp
- ret
-
-__printTStates::
- ld a,#3
- rst 0x00
- ret
-
+ ld a,#2
+ rst 0x08
+ ret
+
_exit::
_exit::
- ;; Exit - special code to the emulator
- ld a,#1
- rst 0x00
+
;; Exit - special code to the emulator
+ ld a,#0
+ rst 0x08
1$:
1$:
- halt
- jr 1$
+ halt
+ jr 1$
+
+ .area _GSINIT
+gsinit::
+
+ .area _GSFINAL
+ ret