Home » Archimedes archive » Acorn User » AU 1994-04.adf » !StarInfo_StarInfo » Vlietinck/FFTscreen

Vlietinck/FFTscreen

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Acorn User » AU 1994-04.adf » !StarInfo_StarInfo
Filename: Vlietinck/FFTscreen
Read OK:
File size: 1963 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM     >FFTscreen
   20REM by  Jan Vlietinck
   30REM (c) AU April 1994
   40:
   50MODE 13
   60OFF
   70pw=8
   80dm=2^pw
   90PROC_ass(dm)
  100ORIGIN 640,512
  110FOR f=1 TO 10
  120 CLS
  130 PROCfft(f)
  140 CALL begin
  150 w=GET
  160NEXT
  170END
  180
  190DEF PROCfft(f)
  200CASE f OF
  210 WHEN 1:
  220  RECTANGLE FILL -30,-5,60,10
  230  RECTANGLE FILL -5,-30,10,60
  240 WHEN 2:
  250  ELLIPSE FILL 0,0,16,32
  260 WHEN 3:
  270  RECTANGLE FILL -16,-16,32
  280 WHEN 4:
  290  t=INT(16*SQR(3))
  300  MOVE -t,-16
  310  MOVE  t+4,-16
  320  PLOT 85,0,32
  330 WHEN 5:
  340  r=16
  350  s=4
  360  CIRCLE FILL -r,0,s
  370  CIRCLE FILL  r,0,s
  380  CIRCLE FILL 0,-r,s
  390  CIRCLE FILL 0, r,s
  400 WHEN 6:
  410  CIRCLE FILL -16,0,16
  420  CIRCLE FILL  16,0,16
  430 WHEN 7:
  440  MOVE 0,0
  450  MOVE -16,12
  460  PLOT 85,20,12
  470  MOVE 0,0
  480  MOVE -16,-12
  490  PLOT 85,20,-12
  500 WHEN 8:
  510  MOVE -20,-20
  520  MOVE 20,10
  530  PLOT 85, 0,30
  540 WHEN 9:
  550  ELLIPSE FILL 0,0,30,20,RAD(30)
  560 WHEN 10:
  570  FOR i=0 TO 10
  580   POINT RND(64)-32,RND(64)-32
  590  NEXT
  600ENDCASE
  610ENDPROC
  620
  630DEF PROCcoltable(ctable)
  640swp=-1
  650c=0
  660m=15
  670FOR k=0 TO m
  680 PROCput(c+(k AND %1100)*5.25,k AND %11)
  690NEXT
  700FOR t=1 TO 3
  710 c=t
  720 m=4*(4-t)-1
  730 PROCside(  4)
  740 PROCside(- 1)
  750 PROCside( 16)
  760 PROCside(- 4)
  770 PROCside(  1)
  780 PROCside(-16)
  790NEXT
  800ENDPROC
  810
  820DEF PROCside(rgb)
  830FOR i=1 TO t
  840 c+=rgb
  850 FOR k=m*(1-swp)/2 TO m*(1+swp)/2 STEP swp
  860  PROCput(c+(k AND %1100)*5.25,k AND %11)
  870 NEXT
  880 swp=-swp
  890NEXT
  900ENDPROC
  910
  920DEF PROCput(c,t)
  930b1=(c>>5) AND 1
  940b2=(c>>4) AND 1
  950g1=(c>>3) AND 1
  960g2=(c>>2) AND 1
  970r1=(c>>1) AND 1
  980r2=(c>>0) AND 1
  990col=t+4*(r2+2*(b2+2*(r1+2*(g2+2*(g1+2*b1)))))
 1000?ctable=col
 1010ctable+=1
 1020ENDPROC
 1030
 1040DEF PROC_ass(nr)
 1050LOCAL n
 1060DIM cstabel nr*2*4
 1070FOR i=0 TO nr-1
 1080 h=-2*PI*i/nr
 1090 cstabel!(8*i)=0.5+COS(h)*2^12
 1100 cstabel!(8*i+4)=0.5+SIN(h)*2^12
 1110NEXT
 1120DIM atable dm*dm*8
 1130DIM ctable 256
 1140PROCcoltable(ctable)
 1150n=0
 1160i=1
 1170j=2
 1180xi=3
 1190yi=4
 1200xj=5
 1210yj=6
 1220t=7
 1230a=8
 1240c=9
 1250s=10
 1260l=11
 1270q=12
 1280k=13
 1290lk=14
 1300w=11
 1310sp=13
 1320DIM Q% 4000
 1330FOR pass=0 TO 2 STEP 2
 1340P%=Q%
 1350[OPT pass
 1360.cstab  EQUD cstabel
 1370.ctd    EQUD ctable
 1380.spd    EQUD 0
 1390.cnd    EQUD 0
 1400.ad     EQUD atable
 1410.fft_x  FNfft(0)
 1420]
 1430NEXT
 1440Q%=P%
 1450FOR pass=0 TO 2 STEP 2
 1460P%=Q%
 1470[OPT pass
 1480.fft_y  FNfft(pw)
 1490]
 1500NEXT
 1510Q%=P%
 1520FOR pass=0 TO 2 STEP 2
 1530P%=Q%
 1540[OPT pass
 1550.begin
 1560        STMFD (sp)!,{lk}
 1570        BL set
 1580        BL scan_screen
 1590        BL fft_2D
 1600        BL write_screen
 1610        LDMFD (sp)!,{pc}
 1620
 1630.screend
 1640        EQUD 148
 1650        EQUD -1
 1660.screen EQUD 0
 1670
 1680.set
 1690        ADR r0,screend
 1700        ADR r1,screen
 1710        SWI "OS_ReadVduVariables"
 1720        MOV pc,lk
 1730
 1740.scan_screen
 1750        LDR s,screen
 1760        ADD s,s,#(320-dm)/2
 1770        ADD s,s,#(256-dm)/2*320
 1780        LDR a,ad
 1790        MOV q,#0
 1800        MOV j,#dm
 1810.y_scan
 1820        MOV i,#dm
 1830.x_scan
 1840        LDRB t,[s],#1
 1850        MOV t,t,LSL #8
 1860        STMIA (a)!,{t,q}
 1870        SUBS i,i,#1
 1880        BNE x_scan
 1890        ADD s,s,#(320-dm)
 1900        SUBS j,j,#1
 1910        BNE y_scan
 1920        MOV pc,lk
 1930
 1940.write_screen
 1950        LDR s,screen
 1960        ADD s,s,#(320-dm)/2
 1970        ADD s,s,#(256-dm)/2*320
 1980        LDR n,ctd
 1990        LDR a,ad
 2000        MOV q,#0
 2010        MOV j,#(dm-1)
 2020.y_write
 2030        MOV i,#(dm-1)
 2040.x_write
 2050        LDMIA (a)!,{t,w}
 2060        MUL q,t,t
 2070        MLA q,w,w,q
 2080        MOV w,#0
 2090        ADD t,w,#1<<30
 2100        CMP q,t
 2110        SUBHS q,q,t
 2120        ADC w,w,w
 2130]
 2140FOR i%=2 TO 30 STEP 2
 2150[OPT pass
 2160        ADD t,w,#1<<30
 2170        CMP q,t,ROR #i%
 2180        SUBHS q,q,t,ROR #i%
 2190        ADC w,w,w
 2200]
 2210NEXT
 2220[OPT pass
 2230        ADD xi,i,#dm/2
 2240        AND xi,xi,#(dm-1)
 2250        ADD yi,j,#dm/2
 2260        AND yi,yi,#(dm-1)
 2270        ADD t,yi,yi,LSL #2
 2280        ADD t,xi,t,LSL #6
 2290        MOV w,w,ASR #6
 2300        ADD w,w,#64
 2310        AND w,w,#255
 2320        LDRB w,[n,w]
 2330        STRB w,[s,t]
 2340        SUBS i,i,#1
 2350        BPL x_write
 2360        SUBS j,j,#1
 2370        BPL y_write
 2380        MOV pc,lk
 2390
 2400.fft_2D
 2410        STMFD (sp)!,{lk}
 2420        STR sp,spd
 2430        LDR a,ad
 2440        MOV t,#dm
 2450        STR t,cnd
 2460.x_loop
 2470        MOV i,#dm-1
 2480        MOV c,#0
 2490.t_loop
 2500        LDR j,[a,i,LSL #3]
 2510        ADD c,c,j
 2520        SUBS i,i,#1
 2530        BPL t_loop
 2540        CMP c,#0
 2550        BLNE fft_x
 2560        ADD a,a,#dm*8
 2570        LDR t,cnd
 2580        SUBS t,t,#1
 2590        STR t,cnd
 2600        BNE x_loop
 2610        LDR a,ad
 2620        MOV t,#dm
 2630        STR t,cnd
 2640.y_loop
 2650        BL fft_y
 2660        ADD a,a,#8
 2670        LDR t,cnd
 2680        SUBS t,t,#1
 2690        STR t,cnd
 2700        BNE y_loop
 2710        LDR sp,spd
 2720        LDMFD (sp)!,{pc}
 2730]:NEXT
 2740ENDPROC
 2750
 2760DEF FNfft(pw)
 2770[OPT pass
 2780; Bit reversal
 2790        MOV n,#dm
 2800        MOV i,#0
 2810        MOV j,#0
 2820.for
 2830        CMP i,j
 2840        BHS endif
 2850        ADD t,a,i,LSL #3+pw
 2860        ADD q,a,j,LSL #3+pw
 2870        LDMIA t,{xi,yi}
 2880        LDMIA q,{xj,yj}
 2890        STMIA t,{xj,yj}
 2900        STMIA q,{xi,yi}
 2910.endif
 2920        MOV l,n,LSR #1
 2930.while
 2940        CMP l,j
 2950        BHI endwhile
 2960        SUB j,j,l
 2970        MOV l,l,LSR #1
 2980        BAL while
 2990.endwhile
 3000        ADD j,j,l
 3010        ADD i,i,#1
 3020        SUB t,n,i
 3030        CMP t,#2
 3040        BHI for
 3050
 3060; fft
 3070        MOV t,#0
 3080        STR t,dat
 3090        MOV k,n,LSR #1
 3100        MOV l,#1
 3110.for1
 3120        MOV j,#0
 3130.for2
 3140        LDR q,cstab
 3150        MUL t,j,k
 3160        ADD t,q,t,LSL #3
 3170        LDMIA t,{c,s}
 3180        MOV i,j
 3190.for3
 3200        ADD t,a,i,LSL #3+pw
 3210        LDMIA t,{xi,yi}
 3220        ADD t,t,l,LSL #3+pw
 3230        LDMIA t,{xj,yj}
 3240        MUL t,s,yj
 3250        RSB t,t,#0
 3260        MLA t,c,xj,t
 3270        MUL q,s,xj
 3280        MLA q,c,yj,q
 3290        SUB xj,xi,t,ASR #12
 3300        SUB yj,yi,q,ASR #12
 3310        ADD xi,xi,t,ASR #12
 3320        ADD yi,yi,q,ASR #12
 3330        ADD t,a,i,LSL #3+pw
 3340        STMIA t,{xi,yi}
 3350        ADD t,t,l,LSL #3+pw
 3360        STMIA t,{xj,yj}
 3370        ADD i,i,l,LSL #1
 3380        CMP i,n
 3390        BLO for3
 3400        ADD j,j,#1
 3410        CMP j,l
 3420        BLO for2
 3430        LDR t,dat
 3440        ADD t,t,#1
 3450        CMP t,#2
 3460        MOVEQ t,#0
 3470        STR t,dat
 3480        BEQ skip
 3490        MOV j,#0
 3500.for4
 3510        ADD t,a,j,LSL #3+pw
 3520        LDMIA t,{xj,yj}
 3530        MOV xj,xj,ASR #1
 3540        MOV yj,yj,ASR #1
 3550        STMIA t,{xj,yj}
 3560        ADD j,j,#1
 3570        CMP j,n
 3580        BLO for4
 3590.skip
 3600        MOV l,l,LSL #1
 3610        MOVS k,k,LSR #1
 3620        BNE for1
 3630        MOV pc,lk
 3640.dat    EQUD 0
 3650]
 3660=""

�     >FFTscreen
� by  Jan Vlietinck
� (c) AU April 1994
(:
2� 13
<�
Fpw=8
Pdm=2^pw
Z
�_ass(dm)
dȑ 640,512
n� f=1 � 10
x �
� �fft(f)
� � begin
� w=�
��
��
�
�
� �fft(f)
�
Ȏ f �
�	 � 1:
�  ȓ Ȑ -30,-5,60,10
�  ȓ Ȑ -5,-30,10,60
�	 � 2:
�  ȝ Ȑ 0,0,16,32
	 � 3:
  ȓ Ȑ -16,-16,32
	 � 4:
"  t=�(16*�(3))
,  � -t,-16
6  �  t+4,-16
@  � 85,0,32
J	 � 5:
T
  r=16
^	  s=4
h  ȏ Ȑ -r,0,s
r  ȏ Ȑ  r,0,s
|  ȏ Ȑ 0,-r,s
�  ȏ Ȑ 0, r,s
�	 � 6:
�  ȏ Ȑ -16,0,16
�  ȏ Ȑ  16,0,16
�	 � 7:
�  � 0,0
�  � -16,12
�  � 85,20,12
�  � 0,0
�  � -16,-12
�  � 85,20,-12
�	 � 8:
�  � -20,-20

  � 20,10
  � 85, 0,30
	 � 9:
&  ȝ Ȑ 0,0,30,20,�(30)
0
 � 10:
:  � i=0 � 10
D   Ȓ �(64)-32,�(64)-32
N  �
X�
b�
l
v� �coltable(ctable)
�
swp=-1
�c=0
�m=15
�
� k=0 � m
�% �put(c+(k � %1100)*5.25,k � %11)
��
�
� t=1 � 3
� c=t
� m=4*(4-t)-1
� �side(  4)
� �side(- 1)
� �side( 16)
� �side(- 4)
 �side(  1)
 �side(-16)
�
 �
*
4� �side(rgb)
>
� i=1 � t
H c+=rgb
R( � k=m*(1-swp)/2 � m*(1+swp)/2 � swp
\&  �put(c+(k � %1100)*5.25,k � %11)
f �
p
 swp=-swp
z�
��
�
�� �put(c,t)
�b1=(c>>5) � 1
�b2=(c>>4) � 1
�g1=(c>>3) � 1
�g2=(c>>2) � 1
�r1=(c>>1) � 1
�r2=(c>>0) � 1
�1col=t+4*(r2+2*(b2+2*(r1+2*(g2+2*(g1+2*b1)))))
�?ctable=col
�
ctable+=1
��

� �_ass(nr)
� n
$� cstabel nr*2*4
.� i=0 � nr-1
8 h=-2*�*i/nr
B  cstabel!(8*i)=0.5+�(h)*2^12
L" cstabel!(8*i+4)=0.5+�(h)*2^12
V�
`� atable dm*dm*8
j� ctable 256
t�coltable(ctable)
~n=0
�i=1
�j=2
�xi=3
�yi=4
�xj=5
�yj=6
�t=7
�a=8
�c=9
�s=10
�l=11
�q=12
k=13

	lk=14
w=11
	sp=13
(
� Q% 4000
2� pass=0 � 2 � 2
<	P%=Q%
F
[OPT pass
P.cstab  EQUD cstabel
Z.ctd    EQUD ctable
d.spd    EQUD 0
n.cnd    EQUD 0
x.ad     EQUD atable
�.fft_x  �fft(0)
�]
��
�	Q%=P%
�� pass=0 � 2 � 2
�	P%=Q%
�
[OPT pass
�.fft_y  �fft(pw)
�]
��
�	Q%=P%
�� pass=0 � 2 � 2
�	P%=Q%

[OPT pass

.begin
        STMFD (sp)!,{lk}
"        BL set
,        BL scan_screen
6        BL fft_2D
@        BL write_screen
J        LDMFD (sp)!,{pc}
T
^.screend
h        EQUD 148
r        EQUD -1
|.screen EQUD 0
�
�.set
�        ADR r0,screend
�        ADR r1,screen
�%        SWI "OS_ReadVduVariables"
�        MOV pc,lk
�
�.scan_screen
�        LDR s,screen
�        ADD s,s,#(320-dm)/2
�#        ADD s,s,#(256-dm)/2*320
�        LDR a,ad
�        MOV q,#0
        MOV j,#dm
.y_scan
        MOV i,#dm
&.x_scan
0        LDRB t,[s],#1
:        MOV t,t,LSL #8
D        STMIA (a)!,{t,q}
N        SUBS i,i,#1
X        BNE x_scan
b        ADD s,s,#(320-dm)
l        SUBS j,j,#1
v        BNE y_scan
�        MOV pc,lk
�
�.write_screen
�        LDR s,screen
�        ADD s,s,#(320-dm)/2
�#        ADD s,s,#(256-dm)/2*320
�        LDR n,ctd
�        LDR a,ad
�        MOV q,#0
�        MOV j,#(dm-1)
�.y_write
�        MOV i,#(dm-1)
�.x_write
        LDMIA (a)!,{t,w}
        MUL q,t,t
        MLA q,w,w,q
         MOV w,#0
*        ADD t,w,#1<<30
4        CMP q,t
>        SUBHS q,q,t
H        ADC w,w,w
R]
\� i%=2 � 30 � 2
f
[OPT pass
p        ADD t,w,#1<<30
z        CMP q,t,ROR #i%
�        SUBHS q,q,t,ROR #i%
�        ADC w,w,w
�]
��
�
[OPT pass
�        ADD xi,i,#dm/2
�        � xi,xi,#(dm-1)
�        ADD yi,j,#dm/2
�        � yi,yi,#(dm-1)
�        ADD t,yi,yi,LSL #2
�        ADD t,xi,t,LSL #6
�        MOV w,w,ASR #6
�        ADD w,w,#64
	        � w,w,#255
	        LDRB w,[n,w]
	        STRB w,[s,t]
	$        SUBS i,i,#1
	.        BPL x_write
	8        SUBS j,j,#1
	B        BPL y_write
	L        MOV pc,lk
	V
	`.fft_2D
	j        STMFD (sp)!,{lk}
	t        STR sp,spd
	~        LDR a,ad
	�        MOV t,#dm
	�        STR t,cnd
	�.x_loop
	�        MOV i,#dm-1
	�        MOV c,#0
	�.t_loop
	�        LDR j,[a,i,LSL #3]
	�        ADD c,c,j
	�        SUBS i,i,#1
	�        BPL t_loop
	�        CMP c,#0
	�        BLNE fft_x
        ADD a,a,#dm*8

        LDR t,cnd
        SUBS t,t,#1
        STR t,cnd
(        BNE x_loop
2        LDR a,ad
<        MOV t,#dm
F        STR t,cnd
P.y_loop
Z        BL fft_y
d        ADD a,a,#8
n        LDR t,cnd
x        SUBS t,t,#1
�        STR t,cnd
�        BNE y_loop
�        LDR sp,spd
�        LDMFD (sp)!,{pc}
�]:�
��
�
�� �fft(pw)
�
[OPT pass
�; Bit reversal
�        MOV n,#dm
�        MOV i,#0
�        MOV j,#0
.for
        CMP i,j
        BHS endif
"        ADD t,a,i,LSL #3+pw
,        ADD q,a,j,LSL #3+pw
6        LDMIA t,{xi,yi}
@        LDMIA q,{xj,yj}
J        STMIA t,{xj,yj}
T        STMIA q,{xi,yi}
^
.endif
h        MOV l,n,LSR #1
r
.while
|        CMP l,j
�        BHI endwhile
�        SUB j,j,l
�        MOV l,l,LSR #1
�        BAL while
�
.endwhile
�        ADD j,j,l
�        ADD i,i,#1
�        SUB t,n,i
�        CMP t,#2
�        BHI for
�
�	; fft
�        MOV t,#0
        STR t,dat
        MOV k,n,LSR #1
        MOV l,#1
&	.for1
0        MOV j,#0
:	.for2
D        LDR q,cstab
N        MUL t,j,k
X        ADD t,q,t,LSL #3
b        LDMIA t,{c,s}
l        MOV i,j
v	.for3
�        ADD t,a,i,LSL #3+pw
�        LDMIA t,{xi,yi}
�        ADD t,t,l,LSL #3+pw
�        LDMIA t,{xj,yj}
�        MUL t,s,yj
�        RSB t,t,#0
�        MLA t,c,xj,t
�        MUL q,s,xj
�        MLA q,c,yj,q
�        SUB xj,xi,t,ASR #12
�        SUB yj,yi,q,ASR #12
�        ADD xi,xi,t,ASR #12
�        ADD yi,yi,q,ASR #12

        ADD t,a,i,LSL #3+pw

        STMIA t,{xi,yi}

        ADD t,t,l,LSL #3+pw

         STMIA t,{xj,yj}

*        ADD i,i,l,LSL #1

4        CMP i,n

>        BLO for3

H        ADD j,j,#1

R        CMP j,l

\        BLO for2

f        LDR t,dat

p        ADD t,t,#1

z        CMP t,#2

�        �Q t,#0

�        STR t,dat

�        BEQ skip

�        MOV j,#0

�	.for4

�        ADD t,a,j,LSL #3+pw

�        LDMIA t,{xj,yj}

�        MOV xj,xj,ASR #1

�        MOV yj,yj,ASR #1

�        STMIA t,{xj,yj}

�        ADD j,j,#1

�        CMP j,n

�        BLO for4
	.skip
        MOV l,l,LSL #1
        MOVS k,k,LSR #1
$        BNE for1
.        MOV pc,lk
8.dat    EQUD 0
B]
L=""
�
00000000  0d 00 0a 14 f4 20 20 20  20 20 3e 46 46 54 73 63  |.....     >FFTsc|
00000010  72 65 65 6e 0d 00 14 17  f4 20 62 79 20 20 4a 61  |reen..... by  Ja|
00000020  6e 20 56 6c 69 65 74 69  6e 63 6b 0d 00 1e 17 f4  |n Vlietinck.....|
00000030  20 28 63 29 20 41 55 20  41 70 72 69 6c 20 31 39  | (c) AU April 19|
00000040  39 34 0d 00 28 05 3a 0d  00 32 08 eb 20 31 33 0d  |94..(.:..2.. 13.|
00000050  00 3c 05 87 0d 00 46 08  70 77 3d 38 0d 00 50 0b  |.<....F.pw=8..P.|
00000060  64 6d 3d 32 5e 70 77 0d  00 5a 0d f2 5f 61 73 73  |dm=2^pw..Z.._ass|
00000070  28 64 6d 29 0d 00 64 0e  c8 91 20 36 34 30 2c 35  |(dm)..d... 640,5|
00000080  31 32 0d 00 6e 0e e3 20  66 3d 31 20 b8 20 31 30  |12..n.. f=1 . 10|
00000090  0d 00 78 06 20 db 0d 00  82 0c 20 f2 66 66 74 28  |..x. ..... .fft(|
000000a0  66 29 0d 00 8c 0c 20 d6  20 62 65 67 69 6e 0d 00  |f).... . begin..|
000000b0  96 08 20 77 3d a5 0d 00  a0 05 ed 0d 00 aa 05 e0  |.. w=...........|
000000c0  0d 00 b4 04 0d 00 be 0d  dd 20 f2 66 66 74 28 66  |......... .fft(f|
000000d0  29 0d 00 c8 0a c8 8e 20  66 20 ca 0d 00 d2 09 20  |)...... f ..... |
000000e0  c9 20 31 3a 0d 00 dc 18  20 20 c8 93 20 c8 90 20  |. 1:....  .. .. |
000000f0  2d 33 30 2c 2d 35 2c 36  30 2c 31 30 0d 00 e6 18  |-30,-5,60,10....|
00000100  20 20 c8 93 20 c8 90 20  2d 35 2c 2d 33 30 2c 31  |  .. .. -5,-30,1|
00000110  30 2c 36 30 0d 00 f0 09  20 c9 20 32 3a 0d 00 fa  |0,60.... . 2:...|
00000120  15 20 20 c8 9d 20 c8 90  20 30 2c 30 2c 31 36 2c  |.  .. .. 0,0,16,|
00000130  33 32 0d 01 04 09 20 c9  20 33 3a 0d 01 0e 16 20  |32.... . 3:.... |
00000140  20 c8 93 20 c8 90 20 2d  31 36 2c 2d 31 36 2c 33  | .. .. -16,-16,3|
00000150  32 0d 01 18 09 20 c9 20  34 3a 0d 01 22 12 20 20  |2.... . 4:..".  |
00000160  74 3d a8 28 31 36 2a b6  28 33 29 29 0d 01 2c 0e  |t=.(16*.(3))..,.|
00000170  20 20 ec 20 2d 74 2c 2d  31 36 0d 01 36 10 20 20  |  . -t,-16..6.  |
00000180  ec 20 20 74 2b 34 2c 2d  31 36 0d 01 40 0f 20 20  |.  t+4,-16..@.  |
00000190  f0 20 38 35 2c 30 2c 33  32 0d 01 4a 09 20 c9 20  |. 85,0,32..J. . |
000001a0  35 3a 0d 01 54 0a 20 20  72 3d 31 36 0d 01 5e 09  |5:..T.  r=16..^.|
000001b0  20 20 73 3d 34 0d 01 68  12 20 20 c8 8f 20 c8 90  |  s=4..h.  .. ..|
000001c0  20 2d 72 2c 30 2c 73 0d  01 72 12 20 20 c8 8f 20  | -r,0,s..r.  .. |
000001d0  c8 90 20 20 72 2c 30 2c  73 0d 01 7c 12 20 20 c8  |..  r,0,s..|.  .|
000001e0  8f 20 c8 90 20 30 2c 2d  72 2c 73 0d 01 86 12 20  |. .. 0,-r,s.... |
000001f0  20 c8 8f 20 c8 90 20 30  2c 20 72 2c 73 0d 01 90  | .. .. 0, r,s...|
00000200  09 20 c9 20 36 3a 0d 01  9a 14 20 20 c8 8f 20 c8  |. . 6:....  .. .|
00000210  90 20 2d 31 36 2c 30 2c  31 36 0d 01 a4 14 20 20  |. -16,0,16....  |
00000220  c8 8f 20 c8 90 20 20 31  36 2c 30 2c 31 36 0d 01  |.. ..  16,0,16..|
00000230  ae 09 20 c9 20 37 3a 0d  01 b8 0b 20 20 ec 20 30  |.. . 7:....  . 0|
00000240  2c 30 0d 01 c2 0e 20 20  ec 20 2d 31 36 2c 31 32  |,0....  . -16,12|
00000250  0d 01 cc 10 20 20 f0 20  38 35 2c 32 30 2c 31 32  |....  . 85,20,12|
00000260  0d 01 d6 0b 20 20 ec 20  30 2c 30 0d 01 e0 0f 20  |....  . 0,0.... |
00000270  20 ec 20 2d 31 36 2c 2d  31 32 0d 01 ea 11 20 20  | . -16,-12....  |
00000280  f0 20 38 35 2c 32 30 2c  2d 31 32 0d 01 f4 09 20  |. 85,20,-12.... |
00000290  c9 20 38 3a 0d 01 fe 0f  20 20 ec 20 2d 32 30 2c  |. 8:....  . -20,|
000002a0  2d 32 30 0d 02 08 0d 20  20 ec 20 32 30 2c 31 30  |-20....  . 20,10|
000002b0  0d 02 12 10 20 20 f0 20  38 35 2c 20 30 2c 33 30  |....  . 85, 0,30|
000002c0  0d 02 1c 09 20 c9 20 39  3a 0d 02 26 1b 20 20 c8  |.... . 9:..&.  .|
000002d0  9d 20 c8 90 20 30 2c 30  2c 33 30 2c 32 30 2c b2  |. .. 0,0,30,20,.|
000002e0  28 33 30 29 0d 02 30 0a  20 c9 20 31 30 3a 0d 02  |(30)..0. . 10:..|
000002f0  3a 10 20 20 e3 20 69 3d  30 20 b8 20 31 30 0d 02  |:.  . i=0 . 10..|
00000300  44 1b 20 20 20 c8 92 20  b3 28 36 34 29 2d 33 32  |D.   .. .(64)-32|
00000310  2c b3 28 36 34 29 2d 33  32 0d 02 4e 07 20 20 ed  |,.(64)-32..N.  .|
00000320  0d 02 58 05 cb 0d 02 62  05 e1 0d 02 6c 04 0d 02  |..X....b....l...|
00000330  76 17 dd 20 f2 63 6f 6c  74 61 62 6c 65 28 63 74  |v.. .coltable(ct|
00000340  61 62 6c 65 29 0d 02 80  0a 73 77 70 3d 2d 31 0d  |able)....swp=-1.|
00000350  02 8a 07 63 3d 30 0d 02  94 08 6d 3d 31 35 0d 02  |...c=0....m=15..|
00000360  9e 0d e3 20 6b 3d 30 20  b8 20 6d 0d 02 a8 25 20  |... k=0 . m...% |
00000370  f2 70 75 74 28 63 2b 28  6b 20 80 20 25 31 31 30  |.put(c+(k . %110|
00000380  30 29 2a 35 2e 32 35 2c  6b 20 80 20 25 31 31 29  |0)*5.25,k . %11)|
00000390  0d 02 b2 05 ed 0d 02 bc  0d e3 20 74 3d 31 20 b8  |.......... t=1 .|
000003a0  20 33 0d 02 c6 08 20 63  3d 74 0d 02 d0 10 20 6d  | 3.... c=t.... m|
000003b0  3d 34 2a 28 34 2d 74 29  2d 31 0d 02 da 0f 20 f2  |=4*(4-t)-1.... .|
000003c0  73 69 64 65 28 20 20 34  29 0d 02 e4 0f 20 f2 73  |side(  4).... .s|
000003d0  69 64 65 28 2d 20 31 29  0d 02 ee 0f 20 f2 73 69  |ide(- 1).... .si|
000003e0  64 65 28 20 31 36 29 0d  02 f8 0f 20 f2 73 69 64  |de( 16).... .sid|
000003f0  65 28 2d 20 34 29 0d 03  02 0f 20 f2 73 69 64 65  |e(- 4).... .side|
00000400  28 20 20 31 29 0d 03 0c  0f 20 f2 73 69 64 65 28  |(  1).... .side(|
00000410  2d 31 36 29 0d 03 16 05  ed 0d 03 20 05 e1 0d 03  |-16)....... ....|
00000420  2a 04 0d 03 34 10 dd 20  f2 73 69 64 65 28 72 67  |*...4.. .side(rg|
00000430  62 29 0d 03 3e 0d e3 20  69 3d 31 20 b8 20 74 0d  |b)..>.. i=1 . t.|
00000440  03 48 0b 20 63 2b 3d 72  67 62 0d 03 52 28 20 e3  |.H. c+=rgb..R( .|
00000450  20 6b 3d 6d 2a 28 31 2d  73 77 70 29 2f 32 20 b8  | k=m*(1-swp)/2 .|
00000460  20 6d 2a 28 31 2b 73 77  70 29 2f 32 20 88 20 73  | m*(1+swp)/2 . s|
00000470  77 70 0d 03 5c 26 20 20  f2 70 75 74 28 63 2b 28  |wp..\&  .put(c+(|
00000480  6b 20 80 20 25 31 31 30  30 29 2a 35 2e 32 35 2c  |k . %1100)*5.25,|
00000490  6b 20 80 20 25 31 31 29  0d 03 66 06 20 ed 0d 03  |k . %11)..f. ...|
000004a0  70 0d 20 73 77 70 3d 2d  73 77 70 0d 03 7a 05 ed  |p. swp=-swp..z..|
000004b0  0d 03 84 05 e1 0d 03 8e  04 0d 03 98 0f dd 20 f2  |.............. .|
000004c0  70 75 74 28 63 2c 74 29  0d 03 a2 11 62 31 3d 28  |put(c,t)....b1=(|
000004d0  63 3e 3e 35 29 20 80 20  31 0d 03 ac 11 62 32 3d  |c>>5) . 1....b2=|
000004e0  28 63 3e 3e 34 29 20 80  20 31 0d 03 b6 11 67 31  |(c>>4) . 1....g1|
000004f0  3d 28 63 3e 3e 33 29 20  80 20 31 0d 03 c0 11 67  |=(c>>3) . 1....g|
00000500  32 3d 28 63 3e 3e 32 29  20 80 20 31 0d 03 ca 11  |2=(c>>2) . 1....|
00000510  72 31 3d 28 63 3e 3e 31  29 20 80 20 31 0d 03 d4  |r1=(c>>1) . 1...|
00000520  11 72 32 3d 28 63 3e 3e  30 29 20 80 20 31 0d 03  |.r2=(c>>0) . 1..|
00000530  de 31 63 6f 6c 3d 74 2b  34 2a 28 72 32 2b 32 2a  |.1col=t+4*(r2+2*|
00000540  28 62 32 2b 32 2a 28 72  31 2b 32 2a 28 67 32 2b  |(b2+2*(r1+2*(g2+|
00000550  32 2a 28 67 31 2b 32 2a  62 31 29 29 29 29 29 0d  |2*(g1+2*b1))))).|
00000560  03 e8 0f 3f 63 74 61 62  6c 65 3d 63 6f 6c 0d 03  |...?ctable=col..|
00000570  f2 0d 63 74 61 62 6c 65  2b 3d 31 0d 03 fc 05 e1  |..ctable+=1.....|
00000580  0d 04 06 04 0d 04 10 0f  dd 20 f2 5f 61 73 73 28  |......... ._ass(|
00000590  6e 72 29 0d 04 1a 07 ea  20 6e 0d 04 24 14 de 20  |nr)..... n..$.. |
000005a0  63 73 74 61 62 65 6c 20  6e 72 2a 32 2a 34 0d 04  |cstabel nr*2*4..|
000005b0  2e 10 e3 20 69 3d 30 20  b8 20 6e 72 2d 31 0d 04  |... i=0 . nr-1..|
000005c0  38 10 20 68 3d 2d 32 2a  af 2a 69 2f 6e 72 0d 04  |8. h=-2*.*i/nr..|
000005d0  42 20 20 63 73 74 61 62  65 6c 21 28 38 2a 69 29  |B  cstabel!(8*i)|
000005e0  3d 30 2e 35 2b 9b 28 68  29 2a 32 5e 31 32 0d 04  |=0.5+.(h)*2^12..|
000005f0  4c 22 20 63 73 74 61 62  65 6c 21 28 38 2a 69 2b  |L" cstabel!(8*i+|
00000600  34 29 3d 30 2e 35 2b b5  28 68 29 2a 32 5e 31 32  |4)=0.5+.(h)*2^12|
00000610  0d 04 56 05 ed 0d 04 60  14 de 20 61 74 61 62 6c  |..V....`.. atabl|
00000620  65 20 64 6d 2a 64 6d 2a  38 0d 04 6a 10 de 20 63  |e dm*dm*8..j.. c|
00000630  74 61 62 6c 65 20 32 35  36 0d 04 74 15 f2 63 6f  |table 256..t..co|
00000640  6c 74 61 62 6c 65 28 63  74 61 62 6c 65 29 0d 04  |ltable(ctable)..|
00000650  7e 07 6e 3d 30 0d 04 88  07 69 3d 31 0d 04 92 07  |~.n=0....i=1....|
00000660  6a 3d 32 0d 04 9c 08 78  69 3d 33 0d 04 a6 08 79  |j=2....xi=3....y|
00000670  69 3d 34 0d 04 b0 08 78  6a 3d 35 0d 04 ba 08 79  |i=4....xj=5....y|
00000680  6a 3d 36 0d 04 c4 07 74  3d 37 0d 04 ce 07 61 3d  |j=6....t=7....a=|
00000690  38 0d 04 d8 07 63 3d 39  0d 04 e2 08 73 3d 31 30  |8....c=9....s=10|
000006a0  0d 04 ec 08 6c 3d 31 31  0d 04 f6 08 71 3d 31 32  |....l=11....q=12|
000006b0  0d 05 00 08 6b 3d 31 33  0d 05 0a 09 6c 6b 3d 31  |....k=13....lk=1|
000006c0  34 0d 05 14 08 77 3d 31  31 0d 05 1e 09 73 70 3d  |4....w=11....sp=|
000006d0  31 33 0d 05 28 0d de 20  51 25 20 34 30 30 30 0d  |13..(.. Q% 4000.|
000006e0  05 32 14 e3 20 70 61 73  73 3d 30 20 b8 20 32 20  |.2.. pass=0 . 2 |
000006f0  88 20 32 0d 05 3c 09 50  25 3d 51 25 0d 05 46 0d  |. 2..<.P%=Q%..F.|
00000700  5b 4f 50 54 20 70 61 73  73 0d 05 50 18 2e 63 73  |[OPT pass..P..cs|
00000710  74 61 62 20 20 45 51 55  44 20 63 73 74 61 62 65  |tab  EQUD cstabe|
00000720  6c 0d 05 5a 17 2e 63 74  64 20 20 20 20 45 51 55  |l..Z..ctd    EQU|
00000730  44 20 63 74 61 62 6c 65  0d 05 64 12 2e 73 70 64  |D ctable..d..spd|
00000740  20 20 20 20 45 51 55 44  20 30 0d 05 6e 12 2e 63  |    EQUD 0..n..c|
00000750  6e 64 20 20 20 20 45 51  55 44 20 30 0d 05 78 17  |nd    EQUD 0..x.|
00000760  2e 61 64 20 20 20 20 20  45 51 55 44 20 61 74 61  |.ad     EQUD ata|
00000770  62 6c 65 0d 05 82 13 2e  66 66 74 5f 78 20 20 a4  |ble.....fft_x  .|
00000780  66 66 74 28 30 29 0d 05  8c 05 5d 0d 05 96 05 ed  |fft(0)....].....|
00000790  0d 05 a0 09 51 25 3d 50  25 0d 05 aa 14 e3 20 70  |....Q%=P%..... p|
000007a0  61 73 73 3d 30 20 b8 20  32 20 88 20 32 0d 05 b4  |ass=0 . 2 . 2...|
000007b0  09 50 25 3d 51 25 0d 05  be 0d 5b 4f 50 54 20 70  |.P%=Q%....[OPT p|
000007c0  61 73 73 0d 05 c8 14 2e  66 66 74 5f 79 20 20 a4  |ass.....fft_y  .|
000007d0  66 66 74 28 70 77 29 0d  05 d2 05 5d 0d 05 dc 05  |fft(pw)....]....|
000007e0  ed 0d 05 e6 09 51 25 3d  50 25 0d 05 f0 14 e3 20  |.....Q%=P%..... |
000007f0  70 61 73 73 3d 30 20 b8  20 32 20 88 20 32 0d 05  |pass=0 . 2 . 2..|
00000800  fa 09 50 25 3d 51 25 0d  06 04 0d 5b 4f 50 54 20  |..P%=Q%....[OPT |
00000810  70 61 73 73 0d 06 0e 0a  2e 62 65 67 69 6e 0d 06  |pass.....begin..|
00000820  18 1c 20 20 20 20 20 20  20 20 53 54 4d 46 44 20  |..        STMFD |
00000830  28 73 70 29 21 2c 7b 6c  6b 7d 0d 06 22 12 20 20  |(sp)!,{lk}..".  |
00000840  20 20 20 20 20 20 42 4c  20 73 65 74 0d 06 2c 1a  |      BL set..,.|
00000850  20 20 20 20 20 20 20 20  42 4c 20 73 63 61 6e 5f  |        BL scan_|
00000860  73 63 72 65 65 6e 0d 06  36 15 20 20 20 20 20 20  |screen..6.      |
00000870  20 20 42 4c 20 66 66 74  5f 32 44 0d 06 40 1b 20  |  BL fft_2D..@. |
00000880  20 20 20 20 20 20 20 42  4c 20 77 72 69 74 65 5f  |       BL write_|
00000890  73 63 72 65 65 6e 0d 06  4a 1c 20 20 20 20 20 20  |screen..J.      |
000008a0  20 20 4c 44 4d 46 44 20  28 73 70 29 21 2c 7b 70  |  LDMFD (sp)!,{p|
000008b0  63 7d 0d 06 54 04 0d 06  5e 0c 2e 73 63 72 65 65  |c}..T...^..scree|
000008c0  6e 64 0d 06 68 14 20 20  20 20 20 20 20 20 45 51  |nd..h.        EQ|
000008d0  55 44 20 31 34 38 0d 06  72 13 20 20 20 20 20 20  |UD 148..r.      |
000008e0  20 20 45 51 55 44 20 2d  31 0d 06 7c 12 2e 73 63  |  EQUD -1..|..sc|
000008f0  72 65 65 6e 20 45 51 55  44 20 30 0d 06 86 04 0d  |reen EQUD 0.....|
00000900  06 90 08 2e 73 65 74 0d  06 9a 1a 20 20 20 20 20  |....set....     |
00000910  20 20 20 41 44 52 20 72  30 2c 73 63 72 65 65 6e  |   ADR r0,screen|
00000920  64 0d 06 a4 19 20 20 20  20 20 20 20 20 41 44 52  |d....        ADR|
00000930  20 72 31 2c 73 63 72 65  65 6e 0d 06 ae 25 20 20  | r1,screen...%  |
00000940  20 20 20 20 20 20 53 57  49 20 22 4f 53 5f 52 65  |      SWI "OS_Re|
00000950  61 64 56 64 75 56 61 72  69 61 62 6c 65 73 22 0d  |adVduVariables".|
00000960  06 b8 15 20 20 20 20 20  20 20 20 4d 4f 56 20 70  |...        MOV p|
00000970  63 2c 6c 6b 0d 06 c2 04  0d 06 cc 10 2e 73 63 61  |c,lk.........sca|
00000980  6e 5f 73 63 72 65 65 6e  0d 06 d6 18 20 20 20 20  |n_screen....    |
00000990  20 20 20 20 4c 44 52 20  73 2c 73 63 72 65 65 6e  |    LDR s,screen|
000009a0  0d 06 e0 1f 20 20 20 20  20 20 20 20 41 44 44 20  |....        ADD |
000009b0  73 2c 73 2c 23 28 33 32  30 2d 64 6d 29 2f 32 0d  |s,s,#(320-dm)/2.|
000009c0  06 ea 23 20 20 20 20 20  20 20 20 41 44 44 20 73  |..#        ADD s|
000009d0  2c 73 2c 23 28 32 35 36  2d 64 6d 29 2f 32 2a 33  |,s,#(256-dm)/2*3|
000009e0  32 30 0d 06 f4 14 20 20  20 20 20 20 20 20 4c 44  |20....        LD|
000009f0  52 20 61 2c 61 64 0d 06  fe 14 20 20 20 20 20 20  |R a,ad....      |
00000a00  20 20 4d 4f 56 20 71 2c  23 30 0d 07 08 15 20 20  |  MOV q,#0....  |
00000a10  20 20 20 20 20 20 4d 4f  56 20 6a 2c 23 64 6d 0d  |      MOV j,#dm.|
00000a20  07 12 0b 2e 79 5f 73 63  61 6e 0d 07 1c 15 20 20  |....y_scan....  |
00000a30  20 20 20 20 20 20 4d 4f  56 20 69 2c 23 64 6d 0d  |      MOV i,#dm.|
00000a40  07 26 0b 2e 78 5f 73 63  61 6e 0d 07 30 19 20 20  |.&..x_scan..0.  |
00000a50  20 20 20 20 20 20 4c 44  52 42 20 74 2c 5b 73 5d  |      LDRB t,[s]|
00000a60  2c 23 31 0d 07 3a 1a 20  20 20 20 20 20 20 20 4d  |,#1..:.        M|
00000a70  4f 56 20 74 2c 74 2c 4c  53 4c 20 23 38 0d 07 44  |OV t,t,LSL #8..D|
00000a80  1c 20 20 20 20 20 20 20  20 53 54 4d 49 41 20 28  |.        STMIA (|
00000a90  61 29 21 2c 7b 74 2c 71  7d 0d 07 4e 17 20 20 20  |a)!,{t,q}..N.   |
00000aa0  20 20 20 20 20 53 55 42  53 20 69 2c 69 2c 23 31  |     SUBS i,i,#1|
00000ab0  0d 07 58 16 20 20 20 20  20 20 20 20 42 4e 45 20  |..X.        BNE |
00000ac0  78 5f 73 63 61 6e 0d 07  62 1d 20 20 20 20 20 20  |x_scan..b.      |
00000ad0  20 20 41 44 44 20 73 2c  73 2c 23 28 33 32 30 2d  |  ADD s,s,#(320-|
00000ae0  64 6d 29 0d 07 6c 17 20  20 20 20 20 20 20 20 53  |dm)..l.        S|
00000af0  55 42 53 20 6a 2c 6a 2c  23 31 0d 07 76 16 20 20  |UBS j,j,#1..v.  |
00000b00  20 20 20 20 20 20 42 4e  45 20 79 5f 73 63 61 6e  |      BNE y_scan|
00000b10  0d 07 80 15 20 20 20 20  20 20 20 20 4d 4f 56 20  |....        MOV |
00000b20  70 63 2c 6c 6b 0d 07 8a  04 0d 07 94 11 2e 77 72  |pc,lk.........wr|
00000b30  69 74 65 5f 73 63 72 65  65 6e 0d 07 9e 18 20 20  |ite_screen....  |
00000b40  20 20 20 20 20 20 4c 44  52 20 73 2c 73 63 72 65  |      LDR s,scre|
00000b50  65 6e 0d 07 a8 1f 20 20  20 20 20 20 20 20 41 44  |en....        AD|
00000b60  44 20 73 2c 73 2c 23 28  33 32 30 2d 64 6d 29 2f  |D s,s,#(320-dm)/|
00000b70  32 0d 07 b2 23 20 20 20  20 20 20 20 20 41 44 44  |2...#        ADD|
00000b80  20 73 2c 73 2c 23 28 32  35 36 2d 64 6d 29 2f 32  | s,s,#(256-dm)/2|
00000b90  2a 33 32 30 0d 07 bc 15  20 20 20 20 20 20 20 20  |*320....        |
00000ba0  4c 44 52 20 6e 2c 63 74  64 0d 07 c6 14 20 20 20  |LDR n,ctd....   |
00000bb0  20 20 20 20 20 4c 44 52  20 61 2c 61 64 0d 07 d0  |     LDR a,ad...|
00000bc0  14 20 20 20 20 20 20 20  20 4d 4f 56 20 71 2c 23  |.        MOV q,#|
00000bd0  30 0d 07 da 19 20 20 20  20 20 20 20 20 4d 4f 56  |0....        MOV|
00000be0  20 6a 2c 23 28 64 6d 2d  31 29 0d 07 e4 0c 2e 79  | j,#(dm-1).....y|
00000bf0  5f 77 72 69 74 65 0d 07  ee 19 20 20 20 20 20 20  |_write....      |
00000c00  20 20 4d 4f 56 20 69 2c  23 28 64 6d 2d 31 29 0d  |  MOV i,#(dm-1).|
00000c10  07 f8 0c 2e 78 5f 77 72  69 74 65 0d 08 02 1c 20  |....x_write.... |
00000c20  20 20 20 20 20 20 20 4c  44 4d 49 41 20 28 61 29  |       LDMIA (a)|
00000c30  21 2c 7b 74 2c 77 7d 0d  08 0c 15 20 20 20 20 20  |!,{t,w}....     |
00000c40  20 20 20 4d 55 4c 20 71  2c 74 2c 74 0d 08 16 17  |   MUL q,t,t....|
00000c50  20 20 20 20 20 20 20 20  4d 4c 41 20 71 2c 77 2c  |        MLA q,w,|
00000c60  77 2c 71 0d 08 20 14 20  20 20 20 20 20 20 20 4d  |w,q.. .        M|
00000c70  4f 56 20 77 2c 23 30 0d  08 2a 1a 20 20 20 20 20  |OV w,#0..*.     |
00000c80  20 20 20 41 44 44 20 74  2c 77 2c 23 31 3c 3c 33  |   ADD t,w,#1<<3|
00000c90  30 0d 08 34 13 20 20 20  20 20 20 20 20 43 4d 50  |0..4.        CMP|
00000ca0  20 71 2c 74 0d 08 3e 17  20 20 20 20 20 20 20 20  | q,t..>.        |
00000cb0  53 55 42 48 53 20 71 2c  71 2c 74 0d 08 48 15 20  |SUBHS q,q,t..H. |
00000cc0  20 20 20 20 20 20 20 41  44 43 20 77 2c 77 2c 77  |       ADC w,w,w|
00000cd0  0d 08 52 05 5d 0d 08 5c  13 e3 20 69 25 3d 32 20  |..R.]..\.. i%=2 |
00000ce0  b8 20 33 30 20 88 20 32  0d 08 66 0d 5b 4f 50 54  |. 30 . 2..f.[OPT|
00000cf0  20 70 61 73 73 0d 08 70  1a 20 20 20 20 20 20 20  | pass..p.       |
00000d00  20 41 44 44 20 74 2c 77  2c 23 31 3c 3c 33 30 0d  | ADD t,w,#1<<30.|
00000d10  08 7a 1b 20 20 20 20 20  20 20 20 43 4d 50 20 71  |.z.        CMP q|
00000d20  2c 74 2c 52 4f 52 20 23  69 25 0d 08 84 1f 20 20  |,t,ROR #i%....  |
00000d30  20 20 20 20 20 20 53 55  42 48 53 20 71 2c 71 2c  |      SUBHS q,q,|
00000d40  74 2c 52 4f 52 20 23 69  25 0d 08 8e 15 20 20 20  |t,ROR #i%....   |
00000d50  20 20 20 20 20 41 44 43  20 77 2c 77 2c 77 0d 08  |     ADC w,w,w..|
00000d60  98 05 5d 0d 08 a2 05 ed  0d 08 ac 0d 5b 4f 50 54  |..].........[OPT|
00000d70  20 70 61 73 73 0d 08 b6  1a 20 20 20 20 20 20 20  | pass....       |
00000d80  20 41 44 44 20 78 69 2c  69 2c 23 64 6d 2f 32 0d  | ADD xi,i,#dm/2.|
00000d90  08 c0 1b 20 20 20 20 20  20 20 20 80 20 78 69 2c  |...        . xi,|
00000da0  78 69 2c 23 28 64 6d 2d  31 29 0d 08 ca 1a 20 20  |xi,#(dm-1)....  |
00000db0  20 20 20 20 20 20 41 44  44 20 79 69 2c 6a 2c 23  |      ADD yi,j,#|
00000dc0  64 6d 2f 32 0d 08 d4 1b  20 20 20 20 20 20 20 20  |dm/2....        |
00000dd0  80 20 79 69 2c 79 69 2c  23 28 64 6d 2d 31 29 0d  |. yi,yi,#(dm-1).|
00000de0  08 de 1e 20 20 20 20 20  20 20 20 41 44 44 20 74  |...        ADD t|
00000df0  2c 79 69 2c 79 69 2c 4c  53 4c 20 23 32 0d 08 e8  |,yi,yi,LSL #2...|
00000e00  1d 20 20 20 20 20 20 20  20 41 44 44 20 74 2c 78  |.        ADD t,x|
00000e10  69 2c 74 2c 4c 53 4c 20  23 36 0d 08 f2 1a 20 20  |i,t,LSL #6....  |
00000e20  20 20 20 20 20 20 4d 4f  56 20 77 2c 77 2c 41 53  |      MOV w,w,AS|
00000e30  52 20 23 36 0d 08 fc 17  20 20 20 20 20 20 20 20  |R #6....        |
00000e40  41 44 44 20 77 2c 77 2c  23 36 34 0d 09 06 16 20  |ADD w,w,#64.... |
00000e50  20 20 20 20 20 20 20 80  20 77 2c 77 2c 23 32 35  |       . w,w,#25|
00000e60  35 0d 09 10 18 20 20 20  20 20 20 20 20 4c 44 52  |5....        LDR|
00000e70  42 20 77 2c 5b 6e 2c 77  5d 0d 09 1a 18 20 20 20  |B w,[n,w]....   |
00000e80  20 20 20 20 20 53 54 52  42 20 77 2c 5b 73 2c 74  |     STRB w,[s,t|
00000e90  5d 0d 09 24 17 20 20 20  20 20 20 20 20 53 55 42  |]..$.        SUB|
00000ea0  53 20 69 2c 69 2c 23 31  0d 09 2e 17 20 20 20 20  |S i,i,#1....    |
00000eb0  20 20 20 20 42 50 4c 20  78 5f 77 72 69 74 65 0d  |    BPL x_write.|
00000ec0  09 38 17 20 20 20 20 20  20 20 20 53 55 42 53 20  |.8.        SUBS |
00000ed0  6a 2c 6a 2c 23 31 0d 09  42 17 20 20 20 20 20 20  |j,j,#1..B.      |
00000ee0  20 20 42 50 4c 20 79 5f  77 72 69 74 65 0d 09 4c  |  BPL y_write..L|
00000ef0  15 20 20 20 20 20 20 20  20 4d 4f 56 20 70 63 2c  |.        MOV pc,|
00000f00  6c 6b 0d 09 56 04 0d 09  60 0b 2e 66 66 74 5f 32  |lk..V...`..fft_2|
00000f10  44 0d 09 6a 1c 20 20 20  20 20 20 20 20 53 54 4d  |D..j.        STM|
00000f20  46 44 20 28 73 70 29 21  2c 7b 6c 6b 7d 0d 09 74  |FD (sp)!,{lk}..t|
00000f30  16 20 20 20 20 20 20 20  20 53 54 52 20 73 70 2c  |.        STR sp,|
00000f40  73 70 64 0d 09 7e 14 20  20 20 20 20 20 20 20 4c  |spd..~.        L|
00000f50  44 52 20 61 2c 61 64 0d  09 88 15 20 20 20 20 20  |DR a,ad....     |
00000f60  20 20 20 4d 4f 56 20 74  2c 23 64 6d 0d 09 92 15  |   MOV t,#dm....|
00000f70  20 20 20 20 20 20 20 20  53 54 52 20 74 2c 63 6e  |        STR t,cn|
00000f80  64 0d 09 9c 0b 2e 78 5f  6c 6f 6f 70 0d 09 a6 17  |d.....x_loop....|
00000f90  20 20 20 20 20 20 20 20  4d 4f 56 20 69 2c 23 64  |        MOV i,#d|
00000fa0  6d 2d 31 0d 09 b0 14 20  20 20 20 20 20 20 20 4d  |m-1....        M|
00000fb0  4f 56 20 63 2c 23 30 0d  09 ba 0b 2e 74 5f 6c 6f  |OV c,#0.....t_lo|
00000fc0  6f 70 0d 09 c4 1e 20 20  20 20 20 20 20 20 4c 44  |op....        LD|
00000fd0  52 20 6a 2c 5b 61 2c 69  2c 4c 53 4c 20 23 33 5d  |R j,[a,i,LSL #3]|
00000fe0  0d 09 ce 15 20 20 20 20  20 20 20 20 41 44 44 20  |....        ADD |
00000ff0  63 2c 63 2c 6a 0d 09 d8  17 20 20 20 20 20 20 20  |c,c,j....       |
00001000  20 53 55 42 53 20 69 2c  69 2c 23 31 0d 09 e2 16  | SUBS i,i,#1....|
00001010  20 20 20 20 20 20 20 20  42 50 4c 20 74 5f 6c 6f  |        BPL t_lo|
00001020  6f 70 0d 09 ec 14 20 20  20 20 20 20 20 20 43 4d  |op....        CM|
00001030  50 20 63 2c 23 30 0d 09  f6 16 20 20 20 20 20 20  |P c,#0....      |
00001040  20 20 42 4c 4e 45 20 66  66 74 5f 78 0d 0a 00 19  |  BLNE fft_x....|
00001050  20 20 20 20 20 20 20 20  41 44 44 20 61 2c 61 2c  |        ADD a,a,|
00001060  23 64 6d 2a 38 0d 0a 0a  15 20 20 20 20 20 20 20  |#dm*8....       |
00001070  20 4c 44 52 20 74 2c 63  6e 64 0d 0a 14 17 20 20  | LDR t,cnd....  |
00001080  20 20 20 20 20 20 53 55  42 53 20 74 2c 74 2c 23  |      SUBS t,t,#|
00001090  31 0d 0a 1e 15 20 20 20  20 20 20 20 20 53 54 52  |1....        STR|
000010a0  20 74 2c 63 6e 64 0d 0a  28 16 20 20 20 20 20 20  | t,cnd..(.      |
000010b0  20 20 42 4e 45 20 78 5f  6c 6f 6f 70 0d 0a 32 14  |  BNE x_loop..2.|
000010c0  20 20 20 20 20 20 20 20  4c 44 52 20 61 2c 61 64  |        LDR a,ad|
000010d0  0d 0a 3c 15 20 20 20 20  20 20 20 20 4d 4f 56 20  |..<.        MOV |
000010e0  74 2c 23 64 6d 0d 0a 46  15 20 20 20 20 20 20 20  |t,#dm..F.       |
000010f0  20 53 54 52 20 74 2c 63  6e 64 0d 0a 50 0b 2e 79  | STR t,cnd..P..y|
00001100  5f 6c 6f 6f 70 0d 0a 5a  14 20 20 20 20 20 20 20  |_loop..Z.       |
00001110  20 42 4c 20 66 66 74 5f  79 0d 0a 64 16 20 20 20  | BL fft_y..d.   |
00001120  20 20 20 20 20 41 44 44  20 61 2c 61 2c 23 38 0d  |     ADD a,a,#8.|
00001130  0a 6e 15 20 20 20 20 20  20 20 20 4c 44 52 20 74  |.n.        LDR t|
00001140  2c 63 6e 64 0d 0a 78 17  20 20 20 20 20 20 20 20  |,cnd..x.        |
00001150  53 55 42 53 20 74 2c 74  2c 23 31 0d 0a 82 15 20  |SUBS t,t,#1.... |
00001160  20 20 20 20 20 20 20 53  54 52 20 74 2c 63 6e 64  |       STR t,cnd|
00001170  0d 0a 8c 16 20 20 20 20  20 20 20 20 42 4e 45 20  |....        BNE |
00001180  79 5f 6c 6f 6f 70 0d 0a  96 16 20 20 20 20 20 20  |y_loop....      |
00001190  20 20 4c 44 52 20 73 70  2c 73 70 64 0d 0a a0 1c  |  LDR sp,spd....|
000011a0  20 20 20 20 20 20 20 20  4c 44 4d 46 44 20 28 73  |        LDMFD (s|
000011b0  70 29 21 2c 7b 70 63 7d  0d 0a aa 07 5d 3a ed 0d  |p)!,{pc}....]:..|
000011c0  0a b4 05 e1 0d 0a be 04  0d 0a c8 0e dd 20 a4 66  |............. .f|
000011d0  66 74 28 70 77 29 0d 0a  d2 0d 5b 4f 50 54 20 70  |ft(pw)....[OPT p|
000011e0  61 73 73 0d 0a dc 12 3b  20 42 69 74 20 72 65 76  |ass....; Bit rev|
000011f0  65 72 73 61 6c 0d 0a e6  15 20 20 20 20 20 20 20  |ersal....       |
00001200  20 4d 4f 56 20 6e 2c 23  64 6d 0d 0a f0 14 20 20  | MOV n,#dm....  |
00001210  20 20 20 20 20 20 4d 4f  56 20 69 2c 23 30 0d 0a  |      MOV i,#0..|
00001220  fa 14 20 20 20 20 20 20  20 20 4d 4f 56 20 6a 2c  |..        MOV j,|
00001230  23 30 0d 0b 04 08 2e 66  6f 72 0d 0b 0e 13 20 20  |#0.....for....  |
00001240  20 20 20 20 20 20 43 4d  50 20 69 2c 6a 0d 0b 18  |      CMP i,j...|
00001250  15 20 20 20 20 20 20 20  20 42 48 53 20 65 6e 64  |.        BHS end|
00001260  69 66 0d 0b 22 1f 20 20  20 20 20 20 20 20 41 44  |if..".        AD|
00001270  44 20 74 2c 61 2c 69 2c  4c 53 4c 20 23 33 2b 70  |D t,a,i,LSL #3+p|
00001280  77 0d 0b 2c 1f 20 20 20  20 20 20 20 20 41 44 44  |w..,.        ADD|
00001290  20 71 2c 61 2c 6a 2c 4c  53 4c 20 23 33 2b 70 77  | q,a,j,LSL #3+pw|
000012a0  0d 0b 36 1b 20 20 20 20  20 20 20 20 4c 44 4d 49  |..6.        LDMI|
000012b0  41 20 74 2c 7b 78 69 2c  79 69 7d 0d 0b 40 1b 20  |A t,{xi,yi}..@. |
000012c0  20 20 20 20 20 20 20 4c  44 4d 49 41 20 71 2c 7b  |       LDMIA q,{|
000012d0  78 6a 2c 79 6a 7d 0d 0b  4a 1b 20 20 20 20 20 20  |xj,yj}..J.      |
000012e0  20 20 53 54 4d 49 41 20  74 2c 7b 78 6a 2c 79 6a  |  STMIA t,{xj,yj|
000012f0  7d 0d 0b 54 1b 20 20 20  20 20 20 20 20 53 54 4d  |}..T.        STM|
00001300  49 41 20 71 2c 7b 78 69  2c 79 69 7d 0d 0b 5e 0a  |IA q,{xi,yi}..^.|
00001310  2e 65 6e 64 69 66 0d 0b  68 1a 20 20 20 20 20 20  |.endif..h.      |
00001320  20 20 4d 4f 56 20 6c 2c  6e 2c 4c 53 52 20 23 31  |  MOV l,n,LSR #1|
00001330  0d 0b 72 0a 2e 77 68 69  6c 65 0d 0b 7c 13 20 20  |..r..while..|.  |
00001340  20 20 20 20 20 20 43 4d  50 20 6c 2c 6a 0d 0b 86  |      CMP l,j...|
00001350  18 20 20 20 20 20 20 20  20 42 48 49 20 65 6e 64  |.        BHI end|
00001360  77 68 69 6c 65 0d 0b 90  15 20 20 20 20 20 20 20  |while....       |
00001370  20 53 55 42 20 6a 2c 6a  2c 6c 0d 0b 9a 1a 20 20  | SUB j,j,l....  |
00001380  20 20 20 20 20 20 4d 4f  56 20 6c 2c 6c 2c 4c 53  |      MOV l,l,LS|
00001390  52 20 23 31 0d 0b a4 15  20 20 20 20 20 20 20 20  |R #1....        |
000013a0  42 41 4c 20 77 68 69 6c  65 0d 0b ae 0d 2e 65 6e  |BAL while.....en|
000013b0  64 77 68 69 6c 65 0d 0b  b8 15 20 20 20 20 20 20  |dwhile....      |
000013c0  20 20 41 44 44 20 6a 2c  6a 2c 6c 0d 0b c2 16 20  |  ADD j,j,l.... |
000013d0  20 20 20 20 20 20 20 41  44 44 20 69 2c 69 2c 23  |       ADD i,i,#|
000013e0  31 0d 0b cc 15 20 20 20  20 20 20 20 20 53 55 42  |1....        SUB|
000013f0  20 74 2c 6e 2c 69 0d 0b  d6 14 20 20 20 20 20 20  | t,n,i....      |
00001400  20 20 43 4d 50 20 74 2c  23 32 0d 0b e0 13 20 20  |  CMP t,#2....  |
00001410  20 20 20 20 20 20 42 48  49 20 66 6f 72 0d 0b ea  |      BHI for...|
00001420  04 0d 0b f4 09 3b 20 66  66 74 0d 0b fe 14 20 20  |.....; fft....  |
00001430  20 20 20 20 20 20 4d 4f  56 20 74 2c 23 30 0d 0c  |      MOV t,#0..|
00001440  08 15 20 20 20 20 20 20  20 20 53 54 52 20 74 2c  |..        STR t,|
00001450  64 61 74 0d 0c 12 1a 20  20 20 20 20 20 20 20 4d  |dat....        M|
00001460  4f 56 20 6b 2c 6e 2c 4c  53 52 20 23 31 0d 0c 1c  |OV k,n,LSR #1...|
00001470  14 20 20 20 20 20 20 20  20 4d 4f 56 20 6c 2c 23  |.        MOV l,#|
00001480  31 0d 0c 26 09 2e 66 6f  72 31 0d 0c 30 14 20 20  |1..&..for1..0.  |
00001490  20 20 20 20 20 20 4d 4f  56 20 6a 2c 23 30 0d 0c  |      MOV j,#0..|
000014a0  3a 09 2e 66 6f 72 32 0d  0c 44 17 20 20 20 20 20  |:..for2..D.     |
000014b0  20 20 20 4c 44 52 20 71  2c 63 73 74 61 62 0d 0c  |   LDR q,cstab..|
000014c0  4e 15 20 20 20 20 20 20  20 20 4d 55 4c 20 74 2c  |N.        MUL t,|
000014d0  6a 2c 6b 0d 0c 58 1c 20  20 20 20 20 20 20 20 41  |j,k..X.        A|
000014e0  44 44 20 74 2c 71 2c 74  2c 4c 53 4c 20 23 33 0d  |DD t,q,t,LSL #3.|
000014f0  0c 62 19 20 20 20 20 20  20 20 20 4c 44 4d 49 41  |.b.        LDMIA|
00001500  20 74 2c 7b 63 2c 73 7d  0d 0c 6c 13 20 20 20 20  | t,{c,s}..l.    |
00001510  20 20 20 20 4d 4f 56 20  69 2c 6a 0d 0c 76 09 2e  |    MOV i,j..v..|
00001520  66 6f 72 33 0d 0c 80 1f  20 20 20 20 20 20 20 20  |for3....        |
00001530  41 44 44 20 74 2c 61 2c  69 2c 4c 53 4c 20 23 33  |ADD t,a,i,LSL #3|
00001540  2b 70 77 0d 0c 8a 1b 20  20 20 20 20 20 20 20 4c  |+pw....        L|
00001550  44 4d 49 41 20 74 2c 7b  78 69 2c 79 69 7d 0d 0c  |DMIA t,{xi,yi}..|
00001560  94 1f 20 20 20 20 20 20  20 20 41 44 44 20 74 2c  |..        ADD t,|
00001570  74 2c 6c 2c 4c 53 4c 20  23 33 2b 70 77 0d 0c 9e  |t,l,LSL #3+pw...|
00001580  1b 20 20 20 20 20 20 20  20 4c 44 4d 49 41 20 74  |.        LDMIA t|
00001590  2c 7b 78 6a 2c 79 6a 7d  0d 0c a8 16 20 20 20 20  |,{xj,yj}....    |
000015a0  20 20 20 20 4d 55 4c 20  74 2c 73 2c 79 6a 0d 0c  |    MUL t,s,yj..|
000015b0  b2 16 20 20 20 20 20 20  20 20 52 53 42 20 74 2c  |..        RSB t,|
000015c0  74 2c 23 30 0d 0c bc 18  20 20 20 20 20 20 20 20  |t,#0....        |
000015d0  4d 4c 41 20 74 2c 63 2c  78 6a 2c 74 0d 0c c6 16  |MLA t,c,xj,t....|
000015e0  20 20 20 20 20 20 20 20  4d 55 4c 20 71 2c 73 2c  |        MUL q,s,|
000015f0  78 6a 0d 0c d0 18 20 20  20 20 20 20 20 20 4d 4c  |xj....        ML|
00001600  41 20 71 2c 63 2c 79 6a  2c 71 0d 0c da 1f 20 20  |A q,c,yj,q....  |
00001610  20 20 20 20 20 20 53 55  42 20 78 6a 2c 78 69 2c  |      SUB xj,xi,|
00001620  74 2c 41 53 52 20 23 31  32 0d 0c e4 1f 20 20 20  |t,ASR #12....   |
00001630  20 20 20 20 20 53 55 42  20 79 6a 2c 79 69 2c 71  |     SUB yj,yi,q|
00001640  2c 41 53 52 20 23 31 32  0d 0c ee 1f 20 20 20 20  |,ASR #12....    |
00001650  20 20 20 20 41 44 44 20  78 69 2c 78 69 2c 74 2c  |    ADD xi,xi,t,|
00001660  41 53 52 20 23 31 32 0d  0c f8 1f 20 20 20 20 20  |ASR #12....     |
00001670  20 20 20 41 44 44 20 79  69 2c 79 69 2c 71 2c 41  |   ADD yi,yi,q,A|
00001680  53 52 20 23 31 32 0d 0d  02 1f 20 20 20 20 20 20  |SR #12....      |
00001690  20 20 41 44 44 20 74 2c  61 2c 69 2c 4c 53 4c 20  |  ADD t,a,i,LSL |
000016a0  23 33 2b 70 77 0d 0d 0c  1b 20 20 20 20 20 20 20  |#3+pw....       |
000016b0  20 53 54 4d 49 41 20 74  2c 7b 78 69 2c 79 69 7d  | STMIA t,{xi,yi}|
000016c0  0d 0d 16 1f 20 20 20 20  20 20 20 20 41 44 44 20  |....        ADD |
000016d0  74 2c 74 2c 6c 2c 4c 53  4c 20 23 33 2b 70 77 0d  |t,t,l,LSL #3+pw.|
000016e0  0d 20 1b 20 20 20 20 20  20 20 20 53 54 4d 49 41  |. .        STMIA|
000016f0  20 74 2c 7b 78 6a 2c 79  6a 7d 0d 0d 2a 1c 20 20  | t,{xj,yj}..*.  |
00001700  20 20 20 20 20 20 41 44  44 20 69 2c 69 2c 6c 2c  |      ADD i,i,l,|
00001710  4c 53 4c 20 23 31 0d 0d  34 13 20 20 20 20 20 20  |LSL #1..4.      |
00001720  20 20 43 4d 50 20 69 2c  6e 0d 0d 3e 14 20 20 20  |  CMP i,n..>.   |
00001730  20 20 20 20 20 42 4c 4f  20 66 6f 72 33 0d 0d 48  |     BLO for3..H|
00001740  16 20 20 20 20 20 20 20  20 41 44 44 20 6a 2c 6a  |.        ADD j,j|
00001750  2c 23 31 0d 0d 52 13 20  20 20 20 20 20 20 20 43  |,#1..R.        C|
00001760  4d 50 20 6a 2c 6c 0d 0d  5c 14 20 20 20 20 20 20  |MP j,l..\.      |
00001770  20 20 42 4c 4f 20 66 6f  72 32 0d 0d 66 15 20 20  |  BLO for2..f.  |
00001780  20 20 20 20 20 20 4c 44  52 20 74 2c 64 61 74 0d  |      LDR t,dat.|
00001790  0d 70 16 20 20 20 20 20  20 20 20 41 44 44 20 74  |.p.        ADD t|
000017a0  2c 74 2c 23 31 0d 0d 7a  14 20 20 20 20 20 20 20  |,t,#1..z.       |
000017b0  20 43 4d 50 20 74 2c 23  32 0d 0d 84 13 20 20 20  | CMP t,#2....   |
000017c0  20 20 20 20 20 ec 51 20  74 2c 23 30 0d 0d 8e 15  |     .Q t,#0....|
000017d0  20 20 20 20 20 20 20 20  53 54 52 20 74 2c 64 61  |        STR t,da|
000017e0  74 0d 0d 98 14 20 20 20  20 20 20 20 20 42 45 51  |t....        BEQ|
000017f0  20 73 6b 69 70 0d 0d a2  14 20 20 20 20 20 20 20  | skip....       |
00001800  20 4d 4f 56 20 6a 2c 23  30 0d 0d ac 09 2e 66 6f  | MOV j,#0.....fo|
00001810  72 34 0d 0d b6 1f 20 20  20 20 20 20 20 20 41 44  |r4....        AD|
00001820  44 20 74 2c 61 2c 6a 2c  4c 53 4c 20 23 33 2b 70  |D t,a,j,LSL #3+p|
00001830  77 0d 0d c0 1b 20 20 20  20 20 20 20 20 4c 44 4d  |w....        LDM|
00001840  49 41 20 74 2c 7b 78 6a  2c 79 6a 7d 0d 0d ca 1c  |IA t,{xj,yj}....|
00001850  20 20 20 20 20 20 20 20  4d 4f 56 20 78 6a 2c 78  |        MOV xj,x|
00001860  6a 2c 41 53 52 20 23 31  0d 0d d4 1c 20 20 20 20  |j,ASR #1....    |
00001870  20 20 20 20 4d 4f 56 20  79 6a 2c 79 6a 2c 41 53  |    MOV yj,yj,AS|
00001880  52 20 23 31 0d 0d de 1b  20 20 20 20 20 20 20 20  |R #1....        |
00001890  53 54 4d 49 41 20 74 2c  7b 78 6a 2c 79 6a 7d 0d  |STMIA t,{xj,yj}.|
000018a0  0d e8 16 20 20 20 20 20  20 20 20 41 44 44 20 6a  |...        ADD j|
000018b0  2c 6a 2c 23 31 0d 0d f2  13 20 20 20 20 20 20 20  |,j,#1....       |
000018c0  20 43 4d 50 20 6a 2c 6e  0d 0d fc 14 20 20 20 20  | CMP j,n....    |
000018d0  20 20 20 20 42 4c 4f 20  66 6f 72 34 0d 0e 06 09  |    BLO for4....|
000018e0  2e 73 6b 69 70 0d 0e 10  1a 20 20 20 20 20 20 20  |.skip....       |
000018f0  20 4d 4f 56 20 6c 2c 6c  2c 4c 53 4c 20 23 31 0d  | MOV l,l,LSL #1.|
00001900  0e 1a 1b 20 20 20 20 20  20 20 20 4d 4f 56 53 20  |...        MOVS |
00001910  6b 2c 6b 2c 4c 53 52 20  23 31 0d 0e 24 14 20 20  |k,k,LSR #1..$.  |
00001920  20 20 20 20 20 20 42 4e  45 20 66 6f 72 31 0d 0e  |      BNE for1..|
00001930  2e 15 20 20 20 20 20 20  20 20 4d 4f 56 20 70 63  |..        MOV pc|
00001940  2c 6c 6b 0d 0e 38 12 2e  64 61 74 20 20 20 20 45  |,lk..8..dat    E|
00001950  51 55 44 20 30 0d 0e 42  05 5d 0d 0e 4c 07 3d 22  |QUD 0..B.]..L.="|
00001960  22 0d ff                                          |"..|
00001963