File: bashdr.s

package info (click to toggle)
cc65 2.19-2
  • links: PTS
  • area: main
  • in suites: forky, sid, trixie
  • size: 20,268 kB
  • sloc: ansic: 117,151; asm: 66,339; pascal: 4,248; makefile: 1,009; perl: 607
file content (34 lines) | stat: -rw-r--r-- 1,166 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
;
; 2010-11-14, Ullrich von Bassewitz
; 2016-03-17, Greg King
;
; This module supplies a small BASIC stub program that uses CALL
; to jump to the machine-language code that follows it.
;

        ; The following symbol is used by the linker config. file
        ; to force this module to be included into the output file.
        .export __BASHDR__:abs = 1


.segment        "BASHDR"

        .addr   Next
        .word   .version        ; Line number
        .byte   $BF,'#'         ; CALL token, mark number as hexadecimal
        .byte   <(Start >> 8      ) + '0' + (Start >> 8       > $09) * $07
        .byte   <(Start >> 4 & $0F) + '0' + (Start >> 4 & $0F > $09) * $07
        .byte   <(Start      & $0F) + '0' + (Start      & $0F > $09) * $07
        .byte   $00             ; End of BASIC line
Next:   .addr   $0000           ; BASIC program end marker
Start:

; ------------------------------------------------------------------------

; This padding is needed by a bug in the ROM.
; (The CLOAD command starts BASIC's variables table on top of the last byte
; that was loaded [instead of at the next address].)

.segment        "BASTAIL"

        .byte   0