mirror of
https://git.k-space.ee/arti/vt1200.git
synced 2026-10-30 12:03:54 +02:00
91 lines
3.9 KiB
Plaintext
91 lines
3.9 KiB
Plaintext
GSP COFF Assembler, Version 2.00, 87.300 Sun Oct 18 15:08:14 2026
|
|
(c) Copyright 1985, 1987, Texas Instruments Inc.
|
|
|
|
PAGE 1
|
|
|
|
0001 ; marker.asm -- loader acceptance app.
|
|
0002 ;
|
|
0003 ; Built by dwt/loader/build.sh with three separate sect
|
|
0004 ; .text 018C0000h (byte 0x318000)
|
|
0005 ; .data 018D0000h (byte 0x31A000)
|
|
0006 ; .bss 018D8000h (byte 0x31B000)
|
|
0007 ;
|
|
0008 ; It is the *COFF image* that the loader must place; it
|
|
0009 ; raw blob. The loader parses the COFF, copies .text a
|
|
0010 ; and calls create_process() with the image's entry poi
|
|
0011 ;
|
|
0012 ; Evidence cells (32-bit, bit addresses; outside every
|
|
0013 ; 018E0000 _start address at run time (must be 018C0
|
|
0014 ; 018E0020 d_magic read from .data (must be DEADBEE
|
|
0015 ; 018E0040 d_two read from .data (must be 1234567
|
|
0016 ; 018E0060 b_zero read from .bss (must be 0; the
|
|
0017 ; 018E0080 b_counter, incremented forever (proves th
|
|
0018 ;
|
|
0019 ; The harness pre-fills the whole .bss range with A5A5A
|
|
0020 ; a zero at 018E0060 is the loader's zero-fill, not a f
|
|
0021
|
|
0022 .def _start
|
|
0023 00000000 .text
|
|
0024 00000000 _start:
|
|
0025 00000000 0550 setf 16, 0, 0
|
|
0026 00000010 0740 setf 32, 0, 1
|
|
0027
|
|
0028 ; Run-time address of this code: position dependence,
|
|
0029 00000020 09E2 movi _start, a2, L
|
|
00000030 00000000'
|
|
0030 00000050 0782 move a2, @018E0000h, 1
|
|
00000060 018E0000
|
|
0031
|
|
0032 ; Initialised .data must have been copied by the loade
|
|
0033 00000080 07A0 move @d_magic, a0, 1
|
|
00000090 00000000"
|
|
0034 000000B0 0780 move a0, @018E0020h, 1
|
|
000000C0 018E0020
|
|
0035
|
|
0036 000000E0 07A1 move @d_two, a1, 1
|
|
000000F0 00000020"
|
|
0037 00000110 0781 move a1, @018E0040h, 1
|
|
00000120 018E0040
|
|
0038
|
|
0039 ; .bss must have been zeroed by the loader (harness pr
|
|
0040 00000140 07A3 move @b_zero, a3, 1
|
|
00000150 00000000+
|
|
0041 00000170 0783 move a3, @018E0060h, 1
|
|
00000180 018E0060
|
|
0042
|
|
0043 ; A live counter: a created process, not a one-shot ju
|
|
0044 000001A0 4484 sub a4, a4
|
|
0045 000001B0 loop:
|
|
0046 000001B0 0B04 addi 1, a4
|
|
000001C0 0001
|
|
0047 000001D0 0784 move a4, @b_counter, 1
|
|
GSP COFF Assembler, Version 2.00, 87.300 Sun Oct 18 15:08:14 2026
|
|
(c) Copyright 1985, 1987, Texas Instruments Inc.
|
|
|
|
PAGE 2
|
|
|
|
000001E0 00000020+
|
|
0048 00000200 0784 move a4, @018E0080h, 1
|
|
00000210 018E0080
|
|
0049 00000230 09E5 movi 2000h, a5, L
|
|
00000240 00002000
|
|
0050 00000260 delay:
|
|
0051 00000260 3C25 dsjs a5, delay
|
|
0052 00000270 C0F3 jruc loop
|
|
0053
|
|
0054 ; Kept to leave a call in the image (and a relocation
|
|
0055 .global sub
|
|
0056 00000280 sub:
|
|
0057 00000280 0960 rets
|
|
0058
|
|
0059 00000000 .data
|
|
0060 00000000 DEADBEEF d_magic: .long 0DEADBEEFh
|
|
0061 00000020 12345678 d_two: .long 012345678h
|
|
0062
|
|
0063 00000000 .bss b_zero, 32, 1
|
|
0064 00000020 .bss b_counter, 32, 1
|
|
0065
|
|
0066 .end
|
|
|
|
No Errors, No Warnings
|