Sharp X68000 Disassemblies
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

fc.s 17KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234
  1. ;=============================================
  2. ; Filename fc.x
  3. ;
  4. ;
  5. ; Base address 000000
  6. ; Exec address 000000
  7. ; Text size 000cdc byte(s)
  8. ; Data size 000000 byte(s)
  9. ; Bss size 000ee4 byte(s)
  10. ; 204 Labels
  11. ;
  12. ; Commandline dis -b2 -h -m68000 --sp -q1 -B -M -o120 -efc.new.lab --overwrite fc.x fc.new.s
  13. ; DIS version 3.16
  14. ;=============================================
  15. .include inc/doscall.mac
  16. .include inc/iocscall.mac
  17. .include inc/fefunc.mac
  18. .cpu 68000
  19. .text
  20. L000000:
  21. lea.l (L001bc0),sp
  22. bsr.w L000ad6
  23. move.l a0,-(sp)
  24. bsr.w L00026e
  25. movea.l (sp)+,a0
  26. bsr.w L000938
  27. bsr.w L0002b2
  28. bsr.w L0002c0
  29. tst.w (L00118a)
  30. bne.s L00002e
  31. lea.l (L000252,pc),a0
  32. bsr.w L000c12
  33. L00002e:
  34. lea.l (L0011a2),a1
  35. bsr.w L000b42
  36. lea.l (L0015b0),a1
  37. bsr.w L000b42
  38. clr.w d0
  39. bra.w L000b0c
  40. L000048:
  41. lea.l (L00023b,pc),a0
  42. bra.s L00006e
  43. L00004e:
  44. lea.l (L000220,pc),a0
  45. bra.s L00006e
  46. L000054:
  47. move.l a0,-(sp)
  48. lea.l (L000203,pc),a0
  49. bsr.w L000c12
  50. movea.l (sp)+,a0
  51. bsr.w L000c12
  52. lea.l (L000208,pc),a0
  53. bra.s L00006e
  54. L00006a:
  55. lea.l (L00008c,pc),a0
  56. L00006e:
  57. bsr.w L000c12
  58. lea.l (L0011a2),a1
  59. bsr.w L000b42
  60. lea.l (L0015b0),a1
  61. bsr.w L000b42
  62. moveq.l #$01,d0
  63. bra.w L000b0c
  64. L00008c:
  65. .dc.b 'X68k Fc v1.01 Copyright 1989 SHARP/Hudson',$0d,$0a
  66. .dc.b '使用法:fc[スイッチ]ファイル1 ファイル2',$0d,$0a
  67. .dc.b $09,'/a',$09,'アスキーモードで比較する',$0d,$0a
  68. .dc.b $09,'/b',$09,'バイナリーモードで比較する',$0d,$0a
  69. .dc.b $09,'/c',$09,'大文字小文字を区別しない',$0d,$0a
  70. .dc.b $09,'/d',$09,'比較結果を省略表示する',$0d,$0a
  71. .dc.b $09,'/n',$09,'行番号を表示する',$0d,$0a
  72. .dc.b $09,'/w',$09,'ブランク文字を圧縮比較する',$0d,$0a
  73. .dc.b $09,'/t数値',$09,'タブをタブカラムまでのスペースとする(2,4,8,16)',$0d,$0a
  74. .dc.b $09,'/l数値',$09,'比較する最大行数の指定',$0d,$0a
  75. .dc.b $09,'/数値',$09,'一致行数の指定',$0d,$0a,$00
  76. L000203:
  77. .dc.b 'fc: ',$00
  78. L000208:
  79. .dc.b ' をオープンできません',$0d,$0a,$00
  80. L000220:
  81. .dc.b 'fc: メモリーが足りません',$0d,$0a,$00
  82. L00023b:
  83. .dc.b 'fc: 違いが多すぎます',$0d,$0a,$00
  84. L000252:
  85. .dc.b 'fc: 違いは見つかりません',$0d,$0a,$00,$00
  86. L00026e:
  87. move.w #$0002,(L001182)
  88. move.w #$0003,(L00118e)
  89. move.w #$0064,(L00118c) ;'d'
  90. clr.w (L001184)
  91. clr.w (L001180)
  92. clr.w (L00118a)
  93. clr.w (L00117e)
  94. clr.w (L00117c)
  95. clr.w (L001186)
  96. clr.w (L001188)
  97. rts
  98. L0002b2:
  99. move.l (L001192),d1
  100. move.l d1,(L00116a)
  101. rts
  102. L0002c0:
  103. cmpi.w #$0002,(L001168)
  104. bne.w L00006a
  105. lea.l (L0010e4),a0
  106. tst.b (a0)
  107. beq.w L00006a
  108. lea.l (L0011a2),a1
  109. bsr.w L000b34
  110. tst.l d0
  111. bmi.w L000054
  112. lea.l (L001126),a0
  113. tst.b (a0)
  114. beq.w L00006a
  115. lea.l (L0015b0),a1
  116. bsr.w L000b34
  117. tst.l d0
  118. bmi.w L000054
  119. tst.w (L00117c)
  120. bne.s L00030e
  121. bsr.s L00031c
  122. L00030e:
  123. cmpi.w #$0002,(L00117c)
  124. beq.w L00072a
  125. bra.s L000380
  126. L00031c:
  127. lea.l (L0010e4),a0
  128. bsr.s L00032a
  129. lea.l (L001126),a0
  130. L00032a:
  131. move.b (a0)+,d0
  132. beq.s L00036a
  133. cmp.b #$2e,d0 ;'.'
  134. bne.s L00032a
  135. lea.l (L000ce4),a1
  136. L00033a:
  137. move.b (a0)+,(a1)+
  138. bne.s L00033a
  139. lea.l (L000ce4),a0
  140. bsr.w L0008a2
  141. lea.l (L00036c,pc),a0
  142. L00034c:
  143. tst.b (a0)
  144. bmi.s L00036a
  145. lea.l (L000ce4),a1
  146. bsr.w L000904
  147. beq.s L000362
  148. L00035c:
  149. tst.b (a0)+
  150. bne.s L00035c
  151. bra.s L00034c
  152. L000362:
  153. move.w #$0002,(L00117c)
  154. L00036a:
  155. rts
  156. L00036c:
  157. .dc.b $78,$00,$72,$00,$61,$00,$6f,$00
  158. .dc.b $7a,$00,$62,$69,$6e,$00,$73,$79
  159. .dc.b $73,$00,$ff,$00
  160. L000380:
  161. bsr.w L000680
  162. move.l (L001172),d0
  163. beq.s L0003be
  164. move.l (L001176),d1
  165. beq.s L0003c6
  166. movea.l d0,a4
  167. movea.l d1,a5
  168. L000398:
  169. movea.l d0,a2
  170. movea.l d1,a3
  171. L00039c:
  172. lea.l ($0006,a2),a0
  173. lea.l ($0006,a3),a1
  174. bsr.w L0004e4
  175. bne.s L00040a
  176. movea.l a2,a4
  177. movea.l a3,a5
  178. move.l (a2),d0
  179. beq.s L0003b6
  180. move.l (a3),d1
  181. bne.s L000398
  182. L0003b6:
  183. move.l (a2),d0
  184. or.w (a3),d0
  185. bne.s L00040a
  186. rts
  187. L0003be:
  188. pea.l (L0010e4)
  189. bra.s L0003cc
  190. L0003c6:
  191. pea.l (L001126)
  192. L0003cc:
  193. lea.l (L0003ec,pc),a0
  194. bsr.w L000c12
  195. movea.l (sp)+,a0
  196. bsr.w L000c12
  197. lea.l (L0003f1,pc),a0
  198. bsr.w L000c12
  199. move.w #$0001,(L00118a)
  200. rts
  201. L0003ec:
  202. .dc.b 'fc: ',$00
  203. L0003f1:
  204. .dc.b ' は不正なファイルです',$0d,$0a,$00,$00
  205. L00040a:
  206. move.w (L00118c),d0
  207. move.w d0,(L001190)
  208. L000416:
  209. movea.l a2,a0
  210. movea.l a3,a1
  211. bsr.s L000462
  212. bcs.s L000440
  213. movea.l a2,a1
  214. movea.l a3,a0
  215. bsr.s L000462
  216. exg.l a0,a1
  217. bcs.s L000440
  218. move.l (a2),d0
  219. beq.s L00044c
  220. move.l (a3),d1
  221. beq.s L00044c
  222. movea.l d0,a2
  223. movea.l d1,a3
  224. subq.w #1,(L001190)
  225. bne.s L000416
  226. bra.w L000048
  227. L000440:
  228. movea.l a0,a2
  229. movea.l a1,a3
  230. bsr.w L000510
  231. bra.w L00039c
  232. L00044c:
  233. tst.l (a2)
  234. beq.s L000454
  235. movea.l (a2)+,a2
  236. bra.s L00044c
  237. L000454:
  238. tst.l (a3)
  239. beq.s L00045c
  240. movea.l (a3)+,a3
  241. bra.s L000454
  242. L00045c:
  243. bsr.w L000510
  244. rts
  245. L000462:
  246. movem.l a2-a3,-(sp)
  247. movea.l a0,a2
  248. movea.l a1,a3
  249. lea.l ($0006,a2),a0
  250. move.w (L00118c),d0
  251. lsr.w #1,d0
  252. move.w d0,-(sp)
  253. L000478:
  254. lea.l ($0006,a3),a1
  255. bsr.s L0004e4
  256. beq.s L000496
  257. L000480:
  258. move.l (a3),d0
  259. beq.s L00048a
  260. movea.l d0,a3
  261. subq.w #1,(sp)
  262. bne.s L000478
  263. L00048a:
  264. andi.b #$fe,ccr
  265. L00048e:
  266. addq.l #2,sp
  267. movem.l (sp)+,a2-a3
  268. rts
  269. L000496:
  270. bsr.s L0004a4
  271. bcs.s L000480
  272. movea.l a2,a0
  273. movea.l a3,a1
  274. ori.b #$01,ccr
  275. bra.s L00048e
  276. L0004a4:
  277. movem.l a0-a3,-(sp)
  278. move.w (L00118e),-(sp)
  279. bra.s L0004bc
  280. L0004b0:
  281. lea.l ($0006,a2),a0
  282. lea.l ($0006,a3),a1
  283. bsr.s L0004e4
  284. bne.s L0004d8
  285. L0004bc:
  286. move.l (a2),d0
  287. or.l (a3),d0
  288. beq.s L0004d2
  289. move.l (a2),d0
  290. beq.s L0004d8
  291. move.l (a3),d1
  292. beq.s L0004d8
  293. movea.l d0,a2
  294. movea.l d1,a3
  295. subq.w #1,(sp)
  296. bne.s L0004b0
  297. L0004d2:
  298. andi.b #$fe,ccr
  299. bra.s L0004dc
  300. L0004d8:
  301. ori.b #$01,ccr
  302. L0004dc:
  303. addq.l #2,sp
  304. movem.l (sp)+,a0-a3
  305. rts
  306. L0004e4:
  307. movem.l a0-a2,-(sp)
  308. lea.l (L000ce4),a1
  309. bsr.w L000848
  310. movea.l d0,a2
  311. movea.l ($0004,sp),a0
  312. lea.l (L000ee4),a1
  313. bsr.w L000848
  314. movea.l d0,a1
  315. movea.l a2,a0
  316. bsr.w L000904
  317. movem.l (sp)+,a0-a2
  318. rts
  319. L000510:
  320. move.l a2,-(sp)
  321. addq.w #1,(L00118a)
  322. pea.l (L0010e4)
  323. pea.l (a4)
  324. pea.l (a2)
  325. bsr.s L000558
  326. lea.l ($000c,sp),sp
  327. pea.l (L001126)
  328. pea.l (a5)
  329. pea.l (a3)
  330. bsr.s L000558
  331. lea.l ($000c,sp),sp
  332. lea.l (L000ee4),a2
  333. lea.l (L00061e),a0
  334. bsr.w L000616
  335. move.b #$0d,(a2)+
  336. move.b #$0a,(a2)+
  337. bsr.w L000602
  338. movea.l (sp)+,a2
  339. rts
  340. L000558:
  341. link.w a6,#$0000
  342. movem.l a0-a1,-(sp)
  343. lea.l (L000ee4),a2
  344. lea.l (L00061e),a0
  345. bsr.w L000616
  346. movea.l ($0010,a6),a0
  347. bsr.w L000616
  348. bsr.w L000602
  349. movea.l ($000c,a6),a1
  350. tst.w (L001188)
  351. bne.s L00059c
  352. L000588:
  353. bsr.s L0005d4
  354. cmpa.l ($0008,a6),a1
  355. beq.s L000594
  356. movea.l (a1),a1
  357. bra.s L000588
  358. L000594:
  359. movem.l (sp)+,a0-a1
  360. unlk a6
  361. rts
  362. L00059c:
  363. bsr.s L0005d4
  364. movea.l (a1),a0
  365. cmpa.l ($0008,a6),a0
  366. beq.s L0005c0
  367. move.l (a0),d0
  368. cmp.l ($0008,a6),d0
  369. beq.s L0005bc
  370. lea.l (L0005cc,pc),a0
  371. bsr.w L000c12
  372. movea.l ($0008,a6),a1
  373. bra.s L0005c2
  374. L0005bc:
  375. movea.l (a1),a1
  376. bsr.s L0005d4
  377. L0005c0:
  378. movea.l (a1),a1
  379. L0005c2:
  380. bsr.s L0005d4
  381. movem.l (sp)+,a0-a1
  382. unlk a6
  383. rts
  384. L0005cc:
  385. .dc.b '.....',$0d,$0a,$00
  386. L0005d4:
  387. lea.l (L000ee4),a2
  388. tst.w (L00117e)
  389. beq.s L0005fc
  390. move.w ($0004,a1),d0
  391. bsr.s L000624
  392. lea.l (L000cdc),a0
  393. bsr.s L000616
  394. move.b #$3a,(a2)+ ;':'
  395. move.b #$20,(a2)+ ;' '
  396. move.b #$20,(a2)+ ;' '
  397. L0005fc:
  398. lea.l ($0006,a1),a0
  399. bsr.s L000616
  400. L000602:
  401. move.b #$0d,(a2)+
  402. move.b #$0a,(a2)+
  403. clr.b (a2)
  404. lea.l (L000ee4),a0
  405. bra.w L000c12
  406. L000616:
  407. move.b (a0)+,(a2)+
  408. bne.s L000616
  409. subq.l #1,a2
  410. rts
  411. L00061e:
  412. move.l ($2b2b,a3),-(a5)
  413. move.l d0,d0
  414. L000624:
  415. move.l a0,-(sp)
  416. lea.l (L000cdc),a0
  417. and.l #$0000ffff,d0
  418. move.w #$2710,d1
  419. bsr.s L00065e
  420. move.w #$03e8,d1
  421. bsr.s L00065e
  422. move.w #$0064,d1 ;'d'
  423. bsr.s L00065e
  424. move.w #$000a,d1
  425. bsr.s L00065e
  426. move.w #$0001,d1
  427. bsr.s L00065e
  428. clr.b (a0)
  429. lea.l (L000cdc),a0
  430. bsr.s L00066c
  431. movea.l (sp)+,a0
  432. rts
  433. L00065e:
  434. divu.w d1,d0
  435. add.w #$0030,d0
  436. move.b d0,(a0)+
  437. clr.w d0
  438. swap.w d0
  439. rts
  440. L00066c:
  441. moveq.l #$03,d1
  442. L00066e:
  443. move.b (a0),d0
  444. cmp.b #$30,d0 ;'0'
  445. bne.s L00067e
  446. move.b #$20,(a0)+ ;' '
  447. dbra.w d1,L00066e
  448. L00067e:
  449. rts
  450. L000680:
  451. clr.l (L001172)
  452. move.l #L001172,(L00116e)
  453. clr.w (L00117a)
  454. lea.l (L0011a2),a1
  455. bsr.s L0006be
  456. clr.l (L001176)
  457. move.l #L001176,(L00116e)
  458. clr.w (L00117a)
  459. lea.l (L0015b0),a1
  460. bsr.s L0006be
  461. rts
  462. L0006be:
  463. lea.l (L000ce4),a0
  464. bsr.w L000b7a
  465. tst.l d0
  466. bmi.s L0006e6
  467. move.l a1,-(sp)
  468. lea.l (L000ee4),a1
  469. bsr.w L0007f6
  470. movea.l a1,a0
  471. addq.w #1,(L00117a)
  472. bsr.s L0006e8
  473. movea.l (sp)+,a1
  474. bra.s L0006be
  475. L0006e6:
  476. rts
  477. L0006e8:
  478. move.l (L00116a),d0
  479. addq.l #1,d0
  480. bclr.l #$00,d0
  481. movea.l d0,a1
  482. movea.l (L00116e),a2
  483. move.l a1,(a2)
  484. move.l a1,(L00116e)
  485. clr.l (a1)+
  486. move.w (L00117a),(a1)+
  487. L00070c:
  488. move.b (a0)+,(a1)+
  489. bne.s L00070c
  490. move.l (L001196),d0
  491. sub.l a1,d0
  492. cmp.l #$00000200,d0
  493. bcs.w L00004e
  494. move.l a1,(L00116a)
  495. rts
  496. L00072a:
  497. moveq.l #$ff,d7
  498. L00072c:
  499. addq.l #1,d7
  500. lea.l (L0011a2),a1
  501. bsr.w L000b50
  502. move.l d0,d1
  503. lea.l (L0015b0),a1
  504. bsr.w L000b50
  505. move.w d0,d2
  506. or.w d1,d0
  507. bmi.s L00078e
  508. cmp.b d1,d2
  509. beq.s L00072c
  510. addq.w #1,(L00118a)
  511. lea.l (L000ce4),a1
  512. move.l d7,d0
  513. bsr.w L0008d6
  514. move.b #$3a,(a1)+ ;':'
  515. move.b #$20,(a1)+ ;' '
  516. move.l d1,d0
  517. bsr.w L0008e2
  518. move.b #$20,(a1)+ ;' '
  519. move.l d2,d0
  520. bsr.w L0008e2
  521. move.b #$0d,(a1)+
  522. move.b #$0a,(a1)+
  523. clr.b (a1)
  524. lea.l (L000ce4),a0
  525. bsr.w L000c12
  526. bra.s L00072c
  527. L00078e:
  528. move.w d1,d0
  529. and.w d2,d0
  530. bmi.s L0007d0
  531. lea.l (L0010e4),a1
  532. lea.l (L001126),a2
  533. tst.w d2
  534. bmi.s L0007a6
  535. exg.l a1,a2
  536. L0007a6:
  537. lea.l (L0007d2,pc),a0
  538. bsr.w L000c12
  539. movea.l a1,a0
  540. bsr.w L000c12
  541. lea.l (L0007d7,pc),a0
  542. bsr.w L000c12
  543. movea.l a2,a0
  544. bsr.w L000c12
  545. lea.l (L0007dc,pc),a0
  546. bsr.w L000c12
  547. addq.w #1,(L00118a)
  548. L0007d0:
  549. rts
  550. L0007d2:
  551. .dc.b 'fc: ',$00
  552. L0007d7:
  553. .dc.b ' は ',$00
  554. L0007dc:
  555. .dc.b ' より大きいファイルです',$0d,$0a,$00
  556. L0007f6:
  557. movem.l a0-a1,-(sp)
  558. clr.w d7
  559. L0007fc:
  560. move.b (a0),d0
  561. beq.s L00080e
  562. addq.l #1,a0
  563. cmp.b #$09,d0
  564. beq.s L000816
  565. L000808:
  566. addq.w #1,d7
  567. move.b d0,(a1)+
  568. bra.s L0007fc
  569. L00080e:
  570. clr.b (a1)
  571. movem.l (sp)+,a0-a1
  572. rts
  573. L000816:
  574. tst.w (L001184)
  575. beq.s L000808
  576. move.w d7,d1
  577. move.w (L001182),d0
  578. lsl.w #1,d0
  579. move.w (L000840,pc,d0.w),d2
  580. add.w d2,d1
  581. addq.w #1,d1
  582. not.w d2
  583. and.w d2,d1
  584. L000834:
  585. addq.w #1,d7
  586. move.b #$20,(a1)+ ;' '
  587. cmp.w d7,d1
  588. bne.s L000834
  589. bra.s L0007fc
  590. L000840:
  591. .dc.w $0001,$0003,$0007,$000f
  592. L000848:
  593. move.w (L001186),d0
  594. or.w (L001180),d0
  595. bne.s L00085a
  596. move.l a0,d0
  597. rts
  598. L00085a:
  599. movem.l a0-a1,-(sp)
  600. tst.w (L001186)
  601. beq.s L000868
  602. bsr.s L0008a2
  603. L000868:
  604. move.b (a0)+,d0
  605. cmp.b #$20,d0 ;' '
  606. beq.s L000876
  607. cmp.b #$09,d0
  608. bne.s L000884
  609. L000876:
  610. tst.w (L001180)
  611. beq.s L000884
  612. bsr.s L000890
  613. move.b #$20,d0 ;' '
  614. L000884:
  615. move.b d0,(a1)+
  616. bne.s L000868
  617. movem.l (sp)+,a0-a1
  618. move.l a1,d0
  619. rts
  620. L000890:
  621. move.b (a0)+,d0
  622. cmp.b #$20,d0 ;' '
  623. beq.s L000890
  624. cmp.b #$09,d0
  625. beq.s L000890
  626. move.b -(a0),d0
  627. rts
  628. L0008a2:
  629. move.l a0,-(sp)
  630. L0008a4:
  631. move.b (a0),d0
  632. beq.s L0008d2
  633. cmp.b #$81,d0
  634. bcc.s L0008c2
  635. cmp.b #$5b,d0 ;'['
  636. bcc.s L0008be
  637. cmp.b #$41,d0 ;'A'
  638. bcs.s L0008be
  639. add.b #$20,d0 ;' '
  640. L0008be:
  641. move.b d0,(a0)+
  642. bra.s L0008a4
  643. L0008c2:
  644. cmp.b #$e0,d0
  645. bcc.s L0008ce
  646. cmp.b #$a0,d0
  647. bcc.s L0008be
  648. L0008ce:
  649. addq.l #2,a0
  650. bra.s L0008a4
  651. L0008d2:
  652. movea.l (sp)+,a0
  653. rts
  654. L0008d6:
  655. swap.w d0
  656. bsr.s L0008dc
  657. swap.w d0
  658. L0008dc:
  659. rol.w #8,d0
  660. bsr.s L0008e2
  661. rol.w #8,d0
  662. L0008e2:
  663. move.w d0,-(sp)
  664. lsr.w #4,d0
  665. bsr.s L0008f0
  666. move.w (sp),d0
  667. bsr.s L0008f0
  668. move.w (sp)+,d0
  669. rts
  670. L0008f0:
  671. and.w #$000f,d0
  672. add.w #$0030,d0
  673. cmp.w #$003a,d0 ;':'
  674. bcs.s L000900
  675. addq.w #7,d0
  676. L000900:
  677. move.b d0,(a1)+
  678. rts
  679. L000904:
  680. movem.l d0-d1/a0-a1,-(sp)
  681. L000908:
  682. move.b (a0)+,d0
  683. beq.s L00091a
  684. move.b (a1)+,d1
  685. beq.s L000928
  686. cmp.b d1,d0
  687. beq.s L000908
  688. L000914:
  689. movem.l (sp)+,d0-d1/a0-a1
  690. rts
  691. L00091a:
  692. tst.b (a1)
  693. beq.s L00092e
  694. andi.b #$fb,ccr
  695. ori.b #$01,ccr
  696. bra.s L000914
  697. L000928:
  698. andi.b #$fa,ccr
  699. bra.s L000914
  700. L00092e:
  701. andi.b #$e0,ccr
  702. ori.b #$04,ccr
  703. bra.s L000914
  704. L000938:
  705. clr.w (L001168)
  706. clr.w (L0010e4)
  707. clr.w (L001126)
  708. L00094a:
  709. bsr.s L00097a
  710. tst.b (a0)
  711. beq.s L000956
  712. bsr.s L000958
  713. tst.b (a0)
  714. bne.s L00094a
  715. L000956:
  716. rts
  717. L000958:
  718. lea.l (L0010e4),a1
  719. tst.w (a1)
  720. beq.s L00096e
  721. lea.l (L001126),a1
  722. tst.w (a1)
  723. bne.w L00006a
  724. L00096e:
  725. bsr.w L000ac2
  726. addq.w #1,(L001168)
  727. rts
  728. L00097a:
  729. bsr.w L000890
  730. cmp.b #$2d,d0 ;'-'
  731. beq.s L00098c
  732. cmp.b #$2f,d0 ;'/'
  733. beq.s L00098c
  734. rts
  735. L00098c:
  736. addq.l #1,a0
  737. L00098e:
  738. move.b (a0),d0
  739. beq.s L00097a
  740. cmp.b #$20,d0 ;' '
  741. beq.s L00097a
  742. addq.l #1,a0
  743. bsr.w L000ab0
  744. lea.l (L0009bc,pc),a1
  745. L0009a2:
  746. move.w (a1)+,d1
  747. bmi.s L0009b0
  748. movea.l (a1)+,a2
  749. cmp.b d1,d0
  750. bne.s L0009a2
  751. jsr (a2)
  752. bra.s L00098e
  753. L0009b0:
  754. bsr.w L000aa0
  755. bcs.w L00006a
  756. bsr.s L000a2a
  757. bra.s L00098e
  758. L0009bc:
  759. .dc.b $00,$74
  760. .dc.l L000a4c
  761. .dc.b $00,$6e
  762. .dc.l L0009ee
  763. .dc.b $00,$62
  764. .dc.l L000a02
  765. .dc.b $00,$61
  766. .dc.l L0009f8
  767. .dc.b $00,$77
  768. .dc.l L000a0c
  769. .dc.b $00,$63
  770. .dc.l L000a16
  771. .dc.b $00,$64
  772. .dc.l L000a20
  773. .dc.b $00,$6c
  774. .dc.l L000a3a
  775. .dc.b $ff,$ff
  776. L0009ee:
  777. move.w #$ffff,(L00117e)
  778. rts
  779. L0009f8:
  780. move.w #$0001,(L00117c)
  781. rts
  782. L000a02:
  783. move.w #$0002,(L00117c)
  784. rts
  785. L000a0c:
  786. move.w #$ffff,(L001180)
  787. rts
  788. L000a16:
  789. move.w #$ffff,(L001186)
  790. rts
  791. L000a20:
  792. move.w #$ffff,(L001188)
  793. rts
  794. L000a2a:
  795. and.w #$00ff,d0
  796. beq.w L00006a
  797. move.w d0,(L00118e)
  798. rts
  799. L000a3a:
  800. bsr.s L000a80
  801. cmp.w #$000a,d0
  802. bcs.w L00006a
  803. move.w d0,(L00118c)
  804. rts
  805. L000a4c:
  806. bsr.s L000a80
  807. clr.w d1
  808. cmp.w #$0002,d0
  809. beq.s L000a70
  810. addq.w #1,d1
  811. cmp.w #$0004,d0
  812. beq.s L000a70
  813. addq.w #1,d1
  814. cmp.w #$0008,d0
  815. beq.s L000a70
  816. addq.w #1,d1
  817. cmp.w #$0010,d0
  818. bne.w L00006a
  819. L000a70:
  820. move.w d1,(L001182)
  821. move.w #$ffff,(L001184)
  822. rts
  823. L000a80:
  824. clr.l d1
  825. clr.l d0
  826. L000a84:
  827. move.b (a0)+,d0
  828. sub.w #$0030,d0
  829. bmi.s L000a9a
  830. cmp.w #$000a,d0
  831. bcc.s L000a9a
  832. mulu.w #$000a,d1
  833. add.l d0,d1
  834. bra.s L000a84
  835. L000a9a:
  836. subq.l #1,a0
  837. move.l d1,d0
  838. rts
  839. L000aa0:
  840. sub.b #$30,d0 ;'0'
  841. bcs.s L000aae
  842. cmp.b #$0a,d0
  843. eori.b #$01,ccr
  844. L000aae:
  845. rts
  846. L000ab0:
  847. cmp.b #$5b,d0 ;'['
  848. bcc.s L000ac0
  849. cmp.b #$41,d0 ;'A'
  850. bcs.s L000ac0
  851. add.b #$20,d0 ;' '
  852. L000ac0:
  853. rts
  854. L000ac2:
  855. move.b (a0)+,d0
  856. beq.s L000ad0
  857. cmp.b #$20,d0 ;' '
  858. beq.s L000ad0
  859. move.b d0,(a1)+
  860. bra.s L000ac2
  861. L000ad0:
  862. subq.l #1,a0
  863. clr.b (a1)+
  864. rts
  865. L000ad6:
  866. adda.l #$00000010,a0
  867. suba.l a0,a1
  868. movem.l a0-a1,-(sp)
  869. DOS _SETBLOCK
  870. move.l #$00ffffff,(sp)
  871. DOS _MALLOC
  872. and.l #$00ffffff,d0
  873. move.l d0,(sp)
  874. DOS _MALLOC
  875. move.l d0,(L001192)
  876. add.l (sp)+,d0
  877. move.l d0,(L001196)
  878. addq.l #4,sp
  879. lea.l ($0001,a2),a0
  880. rts
  881. L000b0c:
  882. move.w d0,-(sp)
  883. DOS _EXIT2
  884. L000b10:
  885. move.l a0,($000a,a1)
  886. clr.w ($0006,a1)
  887. clr.w ($0004,a1)
  888. clr.w ($0008,a1)
  889. move.w ($0002,a1),-(sp)
  890. move.l a0,-(sp)
  891. DOS _OPEN
  892. addq.l #6,sp
  893. move.w d0,($0000.w,a1)
  894. movea.l ($000a,a1),a0
  895. rts
  896. L000b34:
  897. move.l a0,-(sp)
  898. move.w #$0000,($0002,a1)
  899. bsr.s L000b10
  900. movea.l (sp)+,a0
  901. rts
  902. L000b42:
  903. cmpi.w #$0005,(a1)
  904. blt.s L000b4e
  905. move.w (a1),-(sp)
  906. DOS _CLOSE
  907. addq.l #2,sp
  908. L000b4e:
  909. rts
  910. L000b50:
  911. move.l a0,-(sp)
  912. move.w ($0008,a1),d0
  913. cmp.w ($0006,a1),d0
  914. bcs.s L000b64
  915. bsr.w L000bee
  916. subq.l #1,d0
  917. bmi.s L000b76
  918. L000b64:
  919. clr.l d0
  920. move.w ($0008,a1),d0
  921. lea.l ($000e,a1),a0
  922. adda.l d0,a0
  923. move.b (a0),d0
  924. addq.w #1,($0008,a1)
  925. L000b76:
  926. movea.l (sp)+,a0
  927. rts
  928. L000b7a:
  929. movem.l d1/a0-a1,-(sp)
  930. clr.w d1
  931. L000b80:
  932. move.w ($0008,a1),d0
  933. cmp.w ($0006,a1),d0
  934. bcs.s L000b90
  935. bsr.s L000bee
  936. subq.l #1,d0
  937. bmi.s L000be2
  938. L000b90:
  939. move.w ($0008,a1),d0
  940. move.b ($0e,a1,d0.w),d0
  941. addq.w #1,($0008,a1)
  942. cmp.b #$0d,d0
  943. beq.s L000bc8
  944. cmp.b #$1a,d0
  945. beq.s L000bb8
  946. move.b d0,(a0)+
  947. addq.w #1,d1
  948. cmp.w #$00ff,d1
  949. bcs.s L000b80
  950. clr.b (a0)
  951. clr.l d0
  952. bra.s L000be8
  953. L000bb8:
  954. subq.w #1,($0008,a1)
  955. cmpa.l ($0004,sp),a0
  956. beq.s L000be6
  957. clr.b (a0)
  958. clr.l d0
  959. bra.s L000be8
  960. L000bc8:
  961. clr.b (a0)
  962. move.w ($0008,a1),d0
  963. cmp.w ($0006,a1),d0
  964. bcs.s L000bda
  965. bsr.s L000bee
  966. subq.l #1,d0
  967. bmi.s L000be2
  968. L000bda:
  969. addq.w #1,($0008,a1)
  970. clr.l d0
  971. bra.s L000be8
  972. L000be2:
  973. clr.w ($0008,a1)
  974. L000be6:
  975. moveq.l #$ff,d0
  976. L000be8:
  977. movem.l (sp)+,d1/a0-a1
  978. rts
  979. L000bee:
  980. move.l #$00000400,-(sp)
  981. pea.l ($000e,a1)
  982. move.w ($0000.w,a1),-(sp)
  983. DOS _READ
  984. adda.l #$0000000a,sp
  985. move.w d0,($0006,a1)
  986. addq.w #1,($0004,a1)
  987. clr.w ($0008,a1)
  988. rts
  989. L000c12:
  990. pea.l (a0)
  991. DOS _PRINT
  992. addq.l #4,sp
  993. rts
  994. L000c1a:
  995. move.w d0,-(sp)
  996. DOS _PUTCHAR
  997. move.w (sp)+,d0
  998. rts
  999. L000c22:
  1000. move.l d0,-(sp)
  1001. move.w #$000d,-(sp)
  1002. DOS _PUTCHAR
  1003. move.w #$000a,(sp)
  1004. DOS _PUTCHAR
  1005. addq.l #2,sp
  1006. move.l (sp)+,d0
  1007. rts
  1008. L000c36:
  1009. movem.l d0-d2,-(sp)
  1010. move.w d0,d2
  1011. rol.w #8,d2
  1012. bra.s L000c4e
  1013. L000c40:
  1014. movem.l d0-d2,-(sp)
  1015. move.w d0,d2
  1016. rol.w #4,d2
  1017. bsr.s L000c5c
  1018. rol.w #4,d2
  1019. bsr.s L000c5c
  1020. L000c4e:
  1021. rol.w #4,d2
  1022. bsr.s L000c5c
  1023. rol.w #4,d2
  1024. bsr.s L000c5c
  1025. movem.l (sp)+,d0-d2
  1026. rts
  1027. L000c5c:
  1028. move.w d2,d0
  1029. and.w #$000f,d0
  1030. cmp.w #$000a,d0
  1031. bcs.s L000c6a
  1032. addq.w #7,d0
  1033. L000c6a:
  1034. add.w #$0030,d0
  1035. bra.s L000c1a
  1036. L000c70:
  1037. link.w a6,#-$0006
  1038. movem.l d0-d2/a0,-(sp)
  1039. lea.l (-$0006,a6),a0
  1040. and.l #$0000ffff,d0
  1041. move.w #$2710,d1
  1042. bsr.s L000cb6
  1043. move.w #$03e8,d1
  1044. bsr.s L000cb6
  1045. move.w #$0064,d1 ;'d'
  1046. bsr.s L000cb6
  1047. move.w #$000a,d1
  1048. bsr.s L000cb6
  1049. move.w #$0001,d1
  1050. bsr.s L000cb6
  1051. clr.b (a0)
  1052. lea.l (-$0006,a6),a0
  1053. bsr.s L000cc4
  1054. addq.l #1,a0
  1055. bsr.w L000c12
  1056. movem.l (sp)+,d0-d2/a0
  1057. unlk a6
  1058. rts
  1059. L000cb6:
  1060. divu.w d1,d0
  1061. add.w #$0030,d0
  1062. move.b d0,(a0)+
  1063. clr.w d0
  1064. swap.w d0
  1065. rts
  1066. L000cc4:
  1067. move.l a0,-(sp)
  1068. moveq.l #$03,d1
  1069. L000cc8:
  1070. move.b (a0),d0
  1071. cmp.b #$30,d0 ;'0'
  1072. bne.s L000cd8
  1073. move.b #$20,(a0)+ ;' '
  1074. dbra.w d1,L000cc8
  1075. L000cd8:
  1076. movea.l (sp)+,a0
  1077. rts
  1078. .bss
  1079. L000cdc:
  1080. .ds.b 8
  1081. L000ce4:
  1082. .ds.b 512
  1083. L000ee4:
  1084. .ds.b 512
  1085. L0010e4:
  1086. .ds.b 66
  1087. L001126:
  1088. .ds.b 66
  1089. L001168:
  1090. .ds.w 1
  1091. L00116a:
  1092. .ds.l 1
  1093. L00116e:
  1094. .ds.l 1
  1095. L001172:
  1096. .ds.l 1
  1097. L001176:
  1098. .ds.l 1
  1099. L00117a:
  1100. .ds.w 1
  1101. L00117c:
  1102. .ds.w 1
  1103. L00117e:
  1104. .ds.w 1
  1105. L001180:
  1106. .ds.w 1
  1107. L001182:
  1108. .ds.w 1
  1109. L001184:
  1110. .ds.w 1
  1111. L001186:
  1112. .ds.w 1
  1113. L001188:
  1114. .ds.w 1
  1115. L00118a:
  1116. .ds.w 1
  1117. L00118c:
  1118. .ds.w 1
  1119. L00118e:
  1120. .ds.w 1
  1121. L001190:
  1122. .ds.w 1
  1123. L001192:
  1124. .ds.l 1
  1125. L001196:
  1126. .ds.b 12
  1127. L0011a2:
  1128. .ds.b 1038
  1129. L0015b0:
  1130. .ds.b 1552
  1131. L001bc0:
  1132. .end L000000