Files

75 lines
2.9 KiB
Plaintext

GSP COFF Assembler, Version 2.00, 87.300 Sun Oct 18 03:03:04 2026
(c) Copyright 1985, 1987, Texas Instruments Inc.
PAGE 1
0001 ; retprobe.asm -- MINIMAL test of the DI return-PC tram
0002 ;
0003 ; Installs `entry` on the DI RAM stub (00000DB0h). `en
0004 ; interrupt frame's saved PC with `ret_hook` and runs t
0005 ; `ret_hook` bumps a marker and returns to the saved PC
0006 ; NOT preserve registers, so TCP liveness tells us whet
0007 ; itself is sound. Scratch is in the payload's own pag
0008 ;
0009 ; Linked at bit 01840000h by dwt/visual/build.sh.
0010
0011 00000000 .text
0012 00000000 _start:
0013 00000000 01E0 pushst
0014 00000010 0360 dint
0015 00000020 0540 setf 32, 0, 0
0016 00000030 09E0 movi entry, a0, L
00000040 00000160'
0017 00000060 0580 move a0, @00000DC0h, 0
00000070 00000DC0
0018 00000090 0550 setf 16, 0, 0
0019 000000A0 09E0 movi 0C080h, a0, L
000000B0 0000C080
0020 000000D0 0580 move a0, @00000DB0h, 0
000000E0 00000DB0
0021 00000100 4400 sub a0, a0
0022 00000110 0580 move a0, @01840800h, 0 ; marker
00000120 01840800
0023 00000140 01C0 popst
0024 00000150 0960 rets
0025
0026 00000160 entry:
0027 00000160 0780 move a0, @01840810h, 1
00000170 01840810
0028 00000190 0740 setf 32, 0, 1
0029 000001A0 B7E0 move *sp(020h), a0, 1
000001B0 0020
0030 000001C0 0780 move a0, @01840804h, 1 ; orig_pc
000001D0 01840804
0031 000001F0 09E0 movi ret_hook, a0, L
00000200 000002A0'
0032 00000220 B20F move a0, *sp(020h), 1
00000230 0020
0033 00000240 07A0 move @01840810h, a0, 1
00000250 01840810
0034 00000270 C080 jauc 3F7146D0h
00000280 3F7146D0
0035
0036 000002A0 ret_hook:
0037 000002A0 05A0 move @01840800h, a0, 0
000002B0 01840800
0038 000002D0 1020 inc a0
0039 000002E0 0580 move a0, @01840800h, 0
000002F0 01840800
0040 00000310 0740 setf 32, 0, 1
0041 00000320 07A0 move @01840804h, a0, 1 ; orig_pc
00000330 01840804
GSP COFF Assembler, Version 2.00, 87.300 Sun Oct 18 03:03:04 2026
(c) Copyright 1985, 1987, Texas Instruments Inc.
PAGE 2
0042 00000350 A20F move a0, -*sp, 1
0043 00000360 0180 getst a0 ; (clobbers a0 on purpose)
0044 00000370 A20F move a0, -*sp, 1
0045 00000380 01C0 popst
0046 00000390 0960 rets
0047 .end
No Errors, No Warnings