]> git.sur5r.net Git - cc65/commitdiff
Added a module that contains a small basic stub (SYS header) that starts
authoruz <uz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Sun, 14 Nov 2010 11:50:38 +0000 (11:50 +0000)
committeruz <uz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Sun, 14 Nov 2010 11:50:38 +0000 (11:50 +0000)
machine language code following it. Using this header, machine language
programs linked to this stub can be started using RUN.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4861 b7a2c559-68d2-44c3-8de9-860c34a00d81

libsrc/cbm/Makefile
libsrc/cbm/exehdr.s [new file with mode: 0644]

index a012eb3ee8deb715f7b893c04a7b05a7dff1353f..a650381df9a21e4e0314fd3dee5214bb7319a210 100644 (file)
@@ -64,6 +64,7 @@ S_OBJS =      c_acptr.o       \
                ctype.o         \
                cvline.o        \
                 diskcmd.o       \
+                exehdr.o        \
                 filedes.o       \
                 filename.o      \
                 filevars.o      \
diff --git a/libsrc/cbm/exehdr.s b/libsrc/cbm/exehdr.s
new file mode 100644 (file)
index 0000000..541d2e5
--- /dev/null
@@ -0,0 +1,27 @@
+;
+; Ullrich von Bassewitz, 2010-11-14
+;
+; This module supplies a small BASIC stub program that jumps to the machine
+; language code that follows it using SYS.
+;
+
+        ; The following symbol is used by linker config to force the module
+        ; to get included into the output file
+        .export         __EXEHDR__: absolute = 1
+
+.segment        "EXEHDR"
+
+        .addr   Next
+        .word   .version        ; Line number
+        .byte   $9E             ; SYS token
+        .byte   <(((Start /  1000) .mod 10) + '0')
+        .byte   <(((Start /   100) .mod 10) + '0')
+        .byte   <(((Start /    10) .mod 10) + '0')
+        .byte   <(((Start /     1) .mod 10) + '0')
+        .byte   $00             ; End of BASIC line
+Next:   .word   0               ; BASIC end marker
+Start:
+
+
+
+