2
0
mirror of https://frontier.innolan.net/github/amigaos-cross-toolchain6.git synced 2024-10-19 10:29:55 +00:00
Files
amigaos-cross-toolchain6/test/test3/testno.s
2017-05-27 00:00:48 +02:00

307 lines
4.5 KiB
ArmAsm

#NO_APP
.text
.align 2
.globl _gfx_fillRectSmallScreen
_gfx_fillRectSmallScreen:
movem.l #16190,-(sp)
move.l 48(sp),d4
move.l 52(sp),d3
moveq #15,d5
and.l d0,d5
move.l d5,d2
add.l d5,d2
lea _startBitPatterns.1038,a2
move.w (a2,d2.l),d7
move.w a1,d2
add.w d0,d2
moveq #15,d6
and.l d6,d2
add.l d2,d2
lea _endBitPatterns.1039,a2
move.w (a2,d2.l),a4
moveq #0,d2
move.w a1,d2
move.l d5,a1
lea 15(a1,d2.l),a1
move.l a1,d5
asr.l #4,d5
moveq #1,d2
cmp.l d5,d2
jeq .L19
mulu.w #200,d1
lsr.w #3,d0
and.l #65535,d0
add.l d1,d0
lea (a0,d0.l),a5
and.l #65535,d3
move.w d4,d2
lsl.w #6,d2
or.w #1,d2
move.l d5,d6
subq.l #1,d6
add.l d6,d6
move.w d5,d0
subq.w #2,d0
move.w d0,a3
add.w d0,a3
move.w #200,a1
sub.w a3,a1
move.w a1,a3
lsl.w #6,d4
or.w d0,d4
move.w d4,a6
moveq #1,d0
cmp.l d5,d0
jge .L20
.L3:
moveq #2,d0
cmp.l d5,d0
jeq .L21
moveq #0,d4
lea _hw_waitBlitter,a2
.L9:
moveq #1,d5
lsl.l d4,d5
and.l d3,d5
jsr (a2)
move.w #970,14676032
move.w #0,14676034
move.w #-1,14676036
move.w #-1,14676038
move.w #198,14676070
move.w #198,14676064
move.w #0,14676066
move.w #0,14676068
move.w d7,14676084
tst.l d5
sne d0
ext.w d0
move.w d0,14676082
move.l a5,14676040
move.l a5,14676052
move.w d2,14676056
jsr (a2)
move.w #970,14676032
move.w a4,14676084
move.l a5,d0
add.l d6,d0
move.l d0,14676040
move.l d0,14676052
move.w d2,14676056
jsr (a2)
move.w #256,d0
tst.l d5
jeq .L8
move.w #511,d0
.L8:
move.w d0,14676032
move.w a3,14676070
move.l a5,d0
addq.l #2,d0
move.l d0,14676052
move.w a6,14676056
lea (40,a5),a5
addq.l #1,d4
moveq #5,d0
cmp.l d4,d0
jne .L9
.L1:
movem.l (sp)+,#31996
rts
.L19:
move.w a4,d6
and.w d6,d7
mulu.w #200,d1
lsr.w #3,d0
and.l #65535,d0
add.l d1,d0
lea (a0,d0.l),a5
and.l #65535,d3
move.w d4,d2
lsl.w #6,d2
or.w #1,d2
move.l d5,d6
subq.l #1,d6
add.l d6,d6
move.w d5,d0
subq.w #2,d0
move.w d0,a3
add.w d0,a3
move.w #200,a1
sub.w a3,a1
move.w a1,a3
lsl.w #6,d4
or.w d0,d4
move.w d4,a6
moveq #1,d0
cmp.l d5,d0
jlt .L3
.L20:
moveq #0,d4
lea _hw_waitBlitter,a2
moveq #1,d6
.L4:
move.l d6,d5
lsl.l d4,d5
and.l d3,d5
jsr (a2)
move.w #970,14676032
move.w #0,14676034
move.w #-1,14676036
move.w #-1,14676038
move.w #198,14676070
move.w #198,14676064
move.w #0,14676066
move.w #0,14676068
move.w d7,14676084
tst.l d5
sne d0
ext.w d0
move.w d0,14676082
move.l a5,14676040
move.l a5,14676052
move.w d2,14676056
lea (40,a5),a5
addq.l #1,d4
moveq #5,d1
cmp.l d4,d1
jeq .L1
move.l d6,d5
lsl.l d4,d5
and.l d3,d5
jsr (a2)
move.w #970,14676032
move.w #0,14676034
move.w #-1,14676036
move.w #-1,14676038
move.w #198,14676070
move.w #198,14676064
move.w #0,14676066
move.w #0,14676068
move.w d7,14676084
tst.l d5
sne d0
ext.w d0
move.w d0,14676082
move.l a5,14676040
move.l a5,14676052
move.w d2,14676056
lea (40,a5),a5
addq.l #1,d4
moveq #5,d1
cmp.l d4,d1
jne .L4
jra .L1
.L21:
moveq #0,d5
lea _hw_waitBlitter,a2
moveq #1,d4
.L7:
move.l d4,d0
lsl.l d5,d0
and.l d3,d0
move.l d0,a3
jsr (a2)
move.w #970,14676032
move.w #0,14676034
move.w #-1,14676036
move.w #-1,14676038
move.w #198,14676070
move.w #198,14676064
move.w #0,14676066
move.w #0,14676068
move.w d7,14676084
cmp.w #0,a3
sne d0
ext.w d0
move.w d0,14676082
move.l a5,14676040
move.l a5,14676052
move.w d2,14676056
jsr (a2)
move.w #970,14676032
move.w a4,14676084
move.l a5,d0
add.l d6,d0
move.l d0,14676040
move.l d0,14676052
move.w d2,14676056
lea (40,a5),a5
addq.l #1,d5
moveq #5,d1
cmp.l d5,d1
jeq .L1
move.l d4,d0
lsl.l d5,d0
and.l d3,d0
move.l d0,a3
jsr (a2)
move.w #970,14676032
move.w #0,14676034
move.w #-1,14676036
move.w #-1,14676038
move.w #198,14676070
move.w #198,14676064
move.w #0,14676066
move.w #0,14676068
move.w d7,14676084
cmp.w #0,a3
sne d0
ext.w d0
move.w d0,14676082
move.l a5,14676040
move.l a5,14676052
move.w d2,14676056
jsr (a2)
move.w #970,14676032
move.w a4,14676084
move.l a5,d0
add.l d6,d0
move.l d0,14676040
move.l d0,14676052
move.w d2,14676056
lea (40,a5),a5
addq.l #1,d5
moveq #5,d1
cmp.l d5,d1
jne .L7
jra .L1
.align 2
_endBitPatterns.1039:
.word -1
.word -32768
.word -16384
.word -8192
.word -4096
.word -2048
.word -1024
.word -512
.word -256
.word -128
.word -64
.word -32
.word -16
.word -8
.word -4
.word -2
.word -1
.align 2
_startBitPatterns.1038:
.word -1
.word 32767
.word 16383
.word 8191
.word 4095
.word 2047
.word 1023
.word 511
.word 255
.word 127
.word 63
.word 31
.word 15
.word 7
.word 3
.word 1
.word 0