Uknc
2007/03/15
Пример работы советских кодописателей == спагетти а не код
ROM:111112 ; ---------------------------------------------------------------------------
ROM:111112
ROM:111112 loc_111112: ; CODE XREF: ROM:111132
ROM:111112 add @#22546, PC
ROM:111116 return
ROM:111120 ; ---------------------------------------------------------------------------
ROM:111120 trap 4
ROM:111122 inc @#7064
ROM:111126 dec @#7064
ROM:111132 beq loc_111112
ROM:111134 tst @#7060
ROM:111140 beq loc_111204
ROM:111142 return
ROM:111144 ; ---------------------------------------------------------------------------
ROM:111144 inc @#7066
ROM:111150 mov @#23150, R5
ROM:111154 mov 34(R5), @#177016
ROM:111162 mov 40(R5), @#177020
ROM:111170 mov 40(R5), @#177022
ROM:111176 movb 70(R5), @64(R5)
ROM:111204
ROM:111204 loc_111204: ; CODE XREF: ROM:111140
ROM:111204 movb @22542, R0
ROM:111210 inc @#22542
ROM:111214 bic #200, @#22542 ; 'A'
ROM:111222 mov #-66652, -(SP)
ROM:111226 bic #-400, R0
ROM:111232 cmp R0, #40 ; ' '
ROM:111236 bcc loc_111260
ROM:111240 tstb @#22552
ROM:111244 beq loc_111252
ROM:111246 jmp loc_111730
ROM:111252 ; ---------------------------------------------------------------------------
ROM:111252
ROM:111252 loc_111252: ; CODE XREF: ROM:111244
ROM:111252 asl R0
ROM:111254 jmp @13142(R0)
ROM:111260 ; ---------------------------------------------------------------------------
ROM:111260
ROM:111260 loc_111260: ; CODE XREF: ROM:111236
ROM:111260 cmpb R0, #77 ; '?'
ROM:111264 blos sub_111272
ROM:111266 bis @#22556, R0
ROM:111272 ; --------------- S U B R O U T I N E ---------------------------------------
ROM:111272
ROM:111272
ROM:111272 sub_111272: ; CODE XREF: ROM:111264�j
ROM:111272 ; ROM:111744�P ...
ROM:111272 asl R0
ROM:111274 mov 14142(R0), R1
ROM:111300 mov 10(R5), R0
ROM:111304 mov #-770, R2
ROM:111310 mov #-754, R3
ROM:111314 mov @R5, @R2
ROM:111316 add 56(R5), PC
ROM:111322 movb (R1)+, R4
ROM:111324 mov R4, @R3
ROM:111326 add R0, @R2
ROM:111330 movb (R1)+, R4
ROM:111332 mov R4, @R3
ROM:111334 add R0, @R2
ROM:111336 movb (R1)+, R4
ROM:111340 mov R4, @R3
ROM:111342 add R0, @R2
ROM:111344 movb (R1)+, R4
ROM:111346 mov R4, @R3
ROM:111350 add R0, @R2
ROM:111352 movb (R1)+, R4
ROM:111354 mov R4, @R3
ROM:111356 add R0, @R2
ROM:111360 movb (R1)+, R4
ROM:111362 mov R4, @R3
ROM:111364 add R0, @R2
ROM:111366 movb (R1)+, R4
ROM:111370 mov R4, @R3
ROM:111372 add R0, @R2
ROM:111374 movb (R1)+, R4
ROM:111376 mov R4, @R3
ROM:111400 add R0, @R2
ROM:111402 movb (R1)+, R4
ROM:111404 mov R4, @R3
ROM:111406 add R0, @R2
ROM:111410 movb (R1)+, R4
ROM:111412 mov R4, @R3
ROM:111414 add R0, @R2
ROM:111416 movb (R1)+, R4
ROM:111420 mov R4, @R3
ROM:111422 inc @R5
ROM:111424 dec 16(R5)
ROM:111430 bne locret_111624
ROM:111432 mov 22(R5), @R5
ROM:111436 mov 4(R5), 16(R5)
ROM:111444
ROM:111444 loc_111444: ; CODE XREF: ROM:114222�J
ROM:111444 add #54, 32(R5) ; ','
ROM:111452 cmp 32(R5), 26(R5)
ROM:111460 bne loc_111470
ROM:111462 mov 24(R5), 32(R5)
ROM:111470
ROM:111470 loc_111470: ; CODE XREF: sub_111272+166�j
ROM:111470 add @32(R5), @R5
ROM:111474 dec 20(R5)
ROM:111500 bne locret_111624
ROM:111502 add 74(R5), PC
ROM:111506 br loc_111626
ROM:111510 ; ---------------------------------------------------------------------------
ROM:111510 inc 20(R5)
ROM:111514 mov #13, -(SP)
ROM:111520 add #54, 30(R5) ; ','
ROM:111526 cmp 30(R5), #4670
ROM:111534 bne loc_111544
ROM:111536 mov #2500, 30(R5)
ROM:111544
ROM:111544 loc_111544: ; CODE XREF: sub_111272+242�j
ROM:111544 ; sub_111272+300�j
ROM:111544 mov @#23170, R0
ROM:111550 beq loc_111574
ROM:111552 bpl loc_111556
ROM:111554 neg R0
ROM:111556
ROM:111556 loc_111556: ; CODE XREF: sub_111272+260�j
ROM:111556 cmp R0, #14
ROM:111562 blos loc_111614
ROM:111564 trap 0
ROM:111566 mov @#23150, R5
ROM:111572 br loc_111544
ROM:111574 ; ---------------------------------------------------------------------------
ROM:111574
ROM:111574 loc_111574: ; CODE XREF: sub_111272+256�j
ROM:111574 clr @#23164
ROM:111600 mov #2, @#7134
ROM:111606 movb #177, @23160 ; '?'
ROM:111614
ROM:111614 loc_111614: ; CODE XREF: sub_111272+270�j
ROM:111614 call sub_113344
ROM:111620 add (SP)+, @#23170
ROM:111624
ROM:111624 locret_111624: ; CODE XREF: sub_111272+136�j
ROM:111624 ; sub_111272+206�j
ROM:111624 return
ROM:111626 ; ---------------------------------------------------------------------------
ROM:111626
ROM:111626 loc_111626: ; CODE XREF: sub_111272+214�j
ROM:111626 jmp loc_114316
ROM:114316 ; ---------------------------------------------------------------------------
ROM:114316
ROM:114316 loc_114316: ; CODE XREF: sub_111272+334�J
ROM:114316 clr R0
ROM:114320 jmp loc_115720
ROM:115720 ; ---------------------------------------------------------------------------
ROM:115720
ROM:115720 loc_115720: ; CODE XREF: ROM:114320�J
ROM:115720 sub @32(R5), @R5
ROM:115724 mov 12(R5), 20(R5)
ROM:115732 sub R0, 20(R5)
ROM:115736 mul #54, R0 ; ','
ROM:115742 add 30(R5), R1
ROM:115746 add 74(R5), PC
ROM:115752 br loc_115766
ROM:115766 ; ---------------------------------------------------------------------------
ROM:115766
ROM:115766 loc_115766: ; CODE XREF: ROM:115752�j
ROM:115766 mov R1, 32(R5)
ROM:115772 add @R1, @R5
ROM:115774 return
ROM:114216 ; ---------------------------------------------------------------------------
ROM:114216
ROM:114216 loc_114216: ; CODE XREF: sub_114310+4�j
ROM:114216 sub @32(R5), @R5
ROM:114222 jmp loc_111444
ROM:114222 ; ---------------------------------------------------------------------------
ROM:114310 ; --------------- S U B R O U T I N E ---------------------------------------
ROM:114310
ROM:114310
ROM:114310 sub_114310: ; CODE XREF: ROM:112030�P
ROM:114310 call sub_114336
ROM:114314 br loc_114216
2007/03/14
Сегодня сделал спрайтовый вывод, так-же известный как символьный вывод. Где-то побита математика -- явно не правильно рассчитывается начало символа в фонте (не только смещено на половину но и не правильный символ). Причем судя по цвету -- сообщение об ошибке тестирования.
смотри картинку:
--Felix 23:33, 14 March 2007 (EDT)