name ASMTest
author JADiS
clan Terror Korps
iff code Terror Korps
asm on
;ASMBLOCK
iff
lea myiff,a0
move.l #0,d1
iffl move.b (a0)+,$E801.w
move.b d1,$E802.w
move.b #255,$E800.w
addq.b #1,d1
tst.b $E801.w
bne iffl
move.b #1,$E800.w
loop
tst.b $EE03.w
bne noscan
move.b $EE08.w,scan
move.b $EE09.w,scan+1
move.b #1,$EE00.w
noscan
tst.b $EA07.w
beq nofire
tst.b $EF03.w
bne loop
move.b #4,$EA00.w
bra loop
nofire
tst.b $EB09.w
beq noinbound
move.b $EF05.w,d0
move.b $EB09.w,d1
move.b d1,d2
add.b d0,d2
andi.b #1,d2
tst.b d2
beq blah
tst.b $EF03.w
bne loop
move.b #1,$EF00.w
bra loop
blah
cmp.b d0,d1
bne blaha
tst.b $EF03.w
bne loop
move.b #2,$ED00.w
bra loop
blaha
tst.b $EF03.w
bne loop
move.b #1,$EB00.w
bra loop
noinbound
tst.b $EB04.w
beq noshield
tst.b $EF03.w
bne loop
move.b #2,$EB00.w
bra loop
noshield
cmpi.b #5,scan
bne noflag
tst.b $EA04.w
bne chargeflag
tst.b $EF03.w
bne loop
move.b #254,$EA00.w
bra loop
chargeflag
tst.b $EF03.w
bne loop
move.b #1,$EF00.w
bra loop
noflag
cmpi.b #2,scan
bne noenemy
tst.b $EB08.w
beq shootenemy
tst.b $EF03.w
bne loop
move.b #4,$EB00.w
bra loop
shootenemy
tst.b $EF03.w
bne loop
move.b #2,$ED00.w
bra loop
noenemy
clr.l d0
clr.l d1
clr.l d2
clr.l d3
move.b $EF06.w,d0
move.b $EC00.w,d1
sub.b d1,d0
move.b $EF07.w,d2
move.b $EC01.w,d3
sub.b d3,d2
ext.w d2
ext.w d0
muls d2,d2
muls d0,d0
add.w d0,d2
cmpi.w #2,d2
bgt noflash
tst.b $EF03.w
bne loop
move.b #253,$EA00.w
bra loop
noflash
move.b $EF05.w, d0
andi.l #1,d0
move.b d0,d7
not.b d7
andi.l #1,d7
lea $EF06.w,a1
lea $EC00.w,a2
move.b 0(a1,d7),d1
move.b 0(a2,d7),d2
sub.b d1,d2
move.b d2,d1
tst.b d2
bpl noneg1
neg.b d2
noneg1
move.b 0(a1,d0),d3
move.b 0(a2,d0),d4
sub.b d3,d4
move.b d4,d3
tst.b d4
bpl noneg2
neg.b d4
noneg2
cmpi.b #2,$EF05.w
ble noneg3
neg.b d1
noneg3
move.b $EF05.w, d0
andi.b #2,d0
tst.b d0
bne noneg4
neg.b d3
noneg4
cmpi.b #2,d3
bpl infront
tst.b d1
bmi turnleft
tst.b $EF03.w
bne loop
move.b #4,$EF00.w
bra loop
turnleft
tst.b $EF03.w
bne loop
move.b #3,$EF00.w
bra loop
infront
tst.b d2
bne trythis
move.b scan+1,d6
addq #2,d6
cmp.b d6,d4
bgt forward
tst.b $EF03.w
bne loop
move.b #2,$ED00.w
bra loop
trythis
cmpi.b #1,d2
bne forward
move.b scan+1,d6
addq.w #2,d6
cmp.b d6,d4
bgt forward
tst.b $EF03.w
bne loop
move.b #3,$ED00.w
bra fuse
forward
tst.b $EF03.w
bne loop
move.b #1,$EF00.w
bra loop
bra loop
fuse
move.b $EF05.w, d0
andi.l #1,d0
lea $EF06.w,a1
lea $EC00.w,a2
move.b 0(a1,d0),d1
move.b 0(a2,d0),d2
sub.b d1,d2
tst.b d2
bpl noneg
neg.b d2
noneg
move.b d2,$ED01.w
move.b #$FF,$ED00.w
bra loop
scan
dc.b 0,0
action
dc.b 0,0
gfuse
dc.b 0
myiff
dc.b 'Hope this fucking works\0'
;ENDASM