home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
17 Bit Software 3: The Continuation
/
17-Bit_The_Continuation_Disc.iso
/
files
/
nz27.dms
/
nz27.adf
/
Crash
/
crash.asm
< prev
next >
Wrap
Assembly Source File
|
1993-12-03
|
1KB
|
111 lines
INCDIR "vd0:include/"
INCLUDE "exec/exec_lib.i"
INCLUDE "libraries/dos_lib.i"
INCLUDE "misc/easystart.i"
ExecBase equ 4
MEMF_P equ 0
movea.l ExecBase,a6
move.w #-1,d0
jsr _LVOAllocTrap(a6)
cmp.b #-1,d0
beq end_1
move.b d0,Trap_Value
addi.l #32,d0 Add 32 ($20) To Trap value received
lsl #2,d0 * 4 to get address off traps autovector
move.l d0,Trap_Autovector
T_Hand moveq #CodeSiz,d0
moveq #MEMF_P,d1
jsr _LVOAllocMem(a6)
tst.l d0
beq end_1
move.l d0,a0
move.l d0,a2
lea.l Crash(PC),a1
moveq #CodeSiz,d0
subq #1,d0 correct fo dbf in loop
Loop move.b (a1)+,(a0)+
dbf.w d0,Loop
move.l Trap_Autovector,a1
move.l a2,(a1)
CallTr clr.l d0
move.b Trap_Value,d0
lsl #2,d0 cal index for jmp table
lea SelTrap,a0
move.l 0(a0,d0.w),a0
jsr (a0)
rts
SelTrap dc.l Trap_0,Trap_1,Trap_2,Trap_3,Trap_4,Trap_5
dc.l Trap_6,Trap_7,Trap_8,Trap_9,Trap_10,Trap_11
dc.l Trap_12,Trap_13,Trap_14,Trap_15
Trap_0 trap #0
rts
Trap_1 trap #1
rts
Trap_2 trap #2
rts
Trap_3 trap #3
rts
Trap_4 trap #4
rts
Trap_5 trap #5
rts
Trap_6 trap #6
rts
Trap_7 trap #7
rts
Trap_8 trap #8
rts
Trap_9 trap #9
rts
Trap_10 trap #10
rts
Trap_11 trap #11
rts
Trap_12 trap #12
rts
Trap_13 trap #13
rts
Trap_14 trap #14
rts
Trap_15 trap #15
rts
end_1 moveq #3,d1
rts
Crash reset
rte
CodeEnd
CodeSiz equ CodeEnd-Crash
Trap_Value dc.b 0
Trap_Autovector dc.l 0
END