PC-01 Lviv http://pc01.lviv.ua/forum/ |
|
Дизассемблеры http://pc01.lviv.ua/forum/viewtopic.php?f=20&t=137 |
Page 1 of 5 |
Author: | sas9568635 [ 26 Apr 2012, 17:25 ] |
Post subject: | Дизассемблеры |
Вынесено из ПК-01 Львов глазами sas9568635 Когда-то я хотел рассмотреть содержимое ПЗУ ПК-01 «Львов» , как говорится «разложить по байтам» , а также дизассемблировать программы и игры написанные в машинных кодах. Но тогда на ПК-01 «Львов» мне удалось реализовать дизассемблер, где вывод возможен был только лишь на экран. Сейчас реализовываю свой дизассемблер для вывода в файл нынешнего компьютера. Вот пример результата дизассемблированной программы (игры «Пьяный лифтер»). (Далее текст сообщения, после этого кода) Code: ;Имя программы:Пьяный лифтер ;BEA4(48804)-BEA5(48805): Начальный адрес=81A0(33184) ;BEA6(48806)-BEA7(48807): Конечный адрес=867C(34428) ;BEA9(48809)-BEAA(48810): Адрес запуска= 81A0(33184) ;Адрес: Комманда ассембл ; байты |КОИ | ;-------------------------------------- $81A0: LXI SP, AFFF ;31 FF AF|1 | $81A3: CALL 83B4 ;CD B4 83| | $81A6: LXI H, 85F4 ;21 F4 85|! | $81A9: SHLD 80D5 ;22 D5 80|" | $81AC: CALL 80D4 ;CD D4 80| | $81AF: LXI H, 1500 ;21 00 15|! | $81B2: SHLD BE3E ;22 3E BE|"& | $81B5: CALL F82D ;CD 2D F8| - | $81B8: LXI H, 8604 ;21 04 86|! | $81BB: CALL E4A4 ;CD A4 E4| | $81BE: LXI D, FFFF ;11 FF FF| | $81C1: DCX D ;1B | | $81C2: MOV A,D ;7A |щ | $81C3: ORA E ;B3 | | $81C4: JNZ 81C1 ;C2 C1 81| | $81C7: CALL 83B4 ;CD B4 83| | $81CA: LXI H, 4806 ;21 06 48|! I | $81CD: MVI E, 0C ;1E 0C | | $81CF: LXI B, 03D1 ;01 D1 03| | $81D2: MVI D, 2F ;16 2F | / | $81D4: MVI M, F0 ;36 F0 |6 | $81D6: INX H ;23 |# | $81D7: DCR D ;15 | | $81D8: JNZ 81D4 ;C2 D4 81| | $81DB: DAD B ;09 | | $81DC: DCR E ;1D | | $81DD: JNZ 81D2 ;C2 D2 81| | $81E0: MVI A, C0 ;3E C0 |& | $81E2: LXI H, 4805 ;21 05 48|! I | $81E5: LXI D, 0030 ;11 30 00| 0 | $81E8: LXI B, 0010 ;01 10 00| | $81EB: MVI M, 9F ;36 9F |6 | $81ED: DAD D ;19 | | $81EE: MVI M, 9F ;36 9F |6 | $81F0: DAD B ;09 | | $81F1: DCR A ;3D |> | $81F2: JNZ 81EB ;C2 EB 81| | $81F5: LXI H, 8579 ;21 79 85|!ь | $81F8: LXI D, 4846 ;11 46 48| GI | $81FB: CALL 83C8 ;CD C8 83| | $81FE: LXI H, 853D ;21 3D 85|!> | $8201: LXI D, 0800 ;11 00 08| | $8204: PUSH D ;D5 | | $8205: MVI C, 06 ;0E 06 | | $8207: LXI D, 4877 ;11 77 48| шI | $820A: PUSH H ;E5 | | $820B: PUSH D ;D5 | | $820C: PUSH B ;C5 | | $820D: CALL 83C8 ;CD C8 83| | $8210: POP B ;C1 | | $8211: POP D ;D1 | | $8212: POP H ;E1 | | $8213: XTHL ;E3 | | $8214: XCHG ;EB | | $8215: DAD D ;19 | | $8216: XCHG ;EB | | $8217: XTHL ;E3 | | $8218: DCR C ;0D | | $8219: JNZ 820A ;C2 0A 82| | $821C: POP D ;D1 | | $821D: LHLD 84FE ;2A FE 84|* | $8220: JMP 8287 ;C3 87 82| | $8223: MVI C, 07 ;0E 07 | | $8225: LXI H, 84B0 ;21 B0 84|! | $8228: MOV A,M ;7E | | $8229: ANI 0F ;E6 0F | | $822B: MOV B,A ;47 |H | $822C: MOV A,M ;7E | | $822D: ANI F0 ;E6 F0 | | $822F: RRC ;0F | | $8230: RRC ;0F | | $8231: RRC ;0F | | $8232: RRC ;0F | | $8233: CMP B ;B8 | | $8234: JZ 8342 ;CA 42 83| C | $8237: INR M ;34 |4 | $8238: INX H ;23 |# | $8239: INX H ;23 |# | $823A: INX H ;23 |# | $823B: INX H ;23 |# | $823C: DCR C ;0D | | $823D: JNZ 8228 ;C2 28 82| ( | $8240: MOV A,M ;7E | | $8241: INX H ;23 |# | $8242: CMP M ;BE | | $8243: JZ 824A ;CA 4A 82| L | $8246: INR M ;34 |4 | $8247: JMP 8223 ;C3 23 82| # | $824A: MVI M, 00 ;36 00 |6 | $824C: MVI A, 07 ;3E 07 |& | $824E: OUT D2 ;D3 D2 | | $8250: IN D2 ;DB D2 | | $8252: CPI F0 ;FE F0 | | $8254: JNC 8223 ;D2 23 82| # | $8257: CPI B7 ;FE B7 | | $8259: JZ 8264 ;CA 64 82| т | $825C: CPI E7 ;FE E7 | | $825E: JZ 82D3 ;CA D3 82| | $8261: JMP 8223 ;C3 23 82| # | $8264: LHLD 84FE ;2A FE 84|* | $8267: DCX H ;2B |+ | $8268: MOV A,L ;7D | | $8269: CPI 46 ;FE 46 | G | $826B: JPE 82A8 ;FA A8 82| | $826E: PUSH H ;E5 | | $826F: INX H ;23 |# | $8270: LXI D, 003C ;11 3C 00| = | $8273: MVI B, 0F ;06 0F | | $8275: MVI C, 04 ;0E 04 | | $8277: MVI M, 00 ;36 00 |6 | $8279: INX H ;23 |# | $827A: DCR C ;0D | | $827B: JNZ 8277 ;C2 77 82| ш | $827E: DAD D ;19 | | $827F: DCR B ;05 | | $8280: JNZ 8275 ;C2 75 82| б | $8283: POP H ;E1 | | $8284: SHLD 84FE ;22 FE 84|" | $8287: XCHG ;EB | | $8288: LXI H, 003C ;21 3C 00|!= | $828B: PUSH H ;E5 | | $828C: LXI H, 8501 ;21 01 85|! | $828F: MVI B, 0F ;06 0F | | $8291: MVI C, 04 ;0E 04 | | $8293: MOV A,M ;7E | | $8294: STAX D ;12 | | $8295: INX H ;23 |# | $8296: INX D ;13 | | $8297: DCR C ;0D | | $8298: JNZ 8293 ;C2 93 82| | $829B: XTHL ;E3 | | $829C: XCHG ;EB | | $829D: DAD D ;19 | | $829E: XCHG ;EB | | $829F: XTHL ;E3 | | $82A0: DCR B ;05 | | $82A1: JNZ 8291 ;C2 91 82| | $82A4: POP D ;D1 | | $82A5: JMP 8223 ;C3 23 82| # | $82A8: LXI H, 8500 ;21 00 85|! | $82AB: MOV A,M ;7E | | $82AC: RAR ;1F |_ | $82AD: JC 8223 ;DA 23 82| # | $82B0: DCR M ;35 |5 | $82B1: JPE 83B3 ;FA B3 83| | $82B4: LHLD 84FE ;2A FE 84|* | $82B7: PUSH H ;E5 | | $82B8: LXI D, 003C ;11 3C 00| = | $82BB: MVI B, 0F ;06 0F | | $82BD: MVI C, 04 ;0E 04 | | $82BF: MVI M, 00 ;36 00 |6 | $82C1: INX H ;23 |# | $82C2: DCR C ;0D | | $82C3: JNZ 82BF ;C2 BF 82| | $82C6: DAD D ;19 | | $82C7: DCR B ;05 | | $82C8: JNZ 82BD ;C2 BD 82| | $82CB: POP H ;E1 | | $82CC: LXI D, FC00 ;11 00 FC| | $82CF: DAD D ;19 | | $82D0: JMP 8284 ;C3 84 82| | $82D3: LHLD 84FE ;2A FE 84|* | $82D6: INX H ;23 |# | $82D7: MOV A,L ;7D | | $82D8: CPI 72 ;FE 72 | р | $82DA: JP 8317 ;F2 17 83| | $82DD: PUSH H ;E5 | | $82DE: DCX H ;2B |+ | $82DF: LXI D, 003C ;11 3C 00| = | $82E2: MVI B, 0F ;06 0F | | $82E4: MVI C, 04 ;0E 04 | | $82E6: MVI M, 00 ;36 00 |6 | $82E8: INX H ;23 |# | $82E9: DCR C ;0D | | $82EA: JNZ 82E6 ;C2 E6 82| | $82ED: DAD D ;19 | | $82EE: DCR B ;05 | | $82EF: JNZ 82E4 ;C2 E4 82| | $82F2: POP H ;E1 | | $82F3: SHLD 84FE ;22 FE 84|" | $82F6: XCHG ;EB | | $82F7: LXI H, 003C ;21 3C 00|!= | $82FA: PUSH H ;E5 | | $82FB: LXI H, 853D ;21 3D 85|!> | $82FE: MVI B, 0F ;06 0F | | $8300: MVI C, 04 ;0E 04 | | $8302: MOV A,M ;7E | | $8303: STAX D ;12 | | $8304: INX H ;23 |# | $8305: INX D ;13 | | $8306: DCR C ;0D | | $8307: JNZ 8302 ;C2 02 83| | $830A: XTHL ;E3 | | $830B: XCHG ;EB | | $830C: DAD D ;19 | | $830D: XCHG ;EB | | $830E: XTHL ;E3 | | $830F: DCR B ;05 | | $8310: JNZ 8300 ;C2 00 83| | $8313: POP D ;D1 | | $8314: JMP 8223 ;C3 23 82| # | $8317: LXI H, 8500 ;21 00 85|! | $831A: MOV A,M ;7E | | $831B: RAR ;1F |_ | $831C: JNC 8223 ;D2 23 82| # | $831F: DCR M ;35 |5 | $8320: JPE 83B3 ;FA B3 83| | $8323: LHLD 84FE ;2A FE 84|* | $8326: PUSH H ;E5 | | $8327: LXI D, 003C ;11 3C 00| = | $832A: MVI B, 0F ;06 0F | | $832C: MVI C, 04 ;0E 04 | | $832E: MVI M, 00 ;36 00 |6 | $8330: INX H ;23 |# | $8331: DCR C ;0D | | $8332: JNZ 832E ;C2 2E 83| . | $8335: DAD D ;19 | | $8336: DCR B ;05 | | $8337: JNZ 832C ;C2 2C 83| , | $833A: POP H ;E1 | | $833B: LXI D, FC00 ;11 00 FC| | $833E: DAD D ;19 | | $833F: JMP 82F3 ;C3 F3 82| | $8342: MOV A,M ;7E | | $8343: ANI F0 ;E6 F0 | | $8345: MOV M,A ;77 |ш | $8346: INX H ;23 |# | $8347: MOV A,M ;7E | | $8348: ANI 7F ;E6 7F | | $834A: JNZ 8357 ;C2 57 83| Y | $834D: MOV A,M ;7E | | $834E: RAL ;17 | | $834F: CMC ;3F |@ | $8350: RAR ;1F |_ | $8351: ADI 54 ;C6 54 | V | $8353: MOV M,A ;77 |ш | $8354: JMP 8239 ;C3 39 82| 9 | $8357: DCR M ;35 |5 | $8358: MOV A,M ;7E | | $8359: RAL ;17 | | $835A: INX H ;23 |# | $835B: MOV E,M ;5E |ч | $835C: INX H ;23 |# | $835D: MOV D,M ;56 |X | $835E: PUSH B ;C5 | | $835F: PUSH H ;E5 | | $8360: JC 83AD ;DA AD 83| | $8363: LXI H, 0080 ;21 80 00|! | $8366: DAD D ;19 | | $8367: XCHG ;EB | | $8368: POP H ;E1 | | $8369: PUSH H ;E5 | | $836A: MOV M,D ;72 |р | $836B: DCX H ;2B |+ | $836C: MOV M,E ;73 |с | $836D: LXI H, 003D ;21 3D 00|!> | $8370: PUSH H ;E5 | | $8371: LXI H, 84CE ;21 CE 84|! | $8374: MVI B, 10 ;06 10 | | $8376: MVI C, 03 ;0E 03 | | $8378: MOV A,M ;7E | | $8379: STAX D ;12 | | $837A: INX H ;23 |# | $837B: INX D ;13 | | $837C: DCR C ;0D | | $837D: JNZ 8378 ;C2 78 83| г | $8380: XTHL ;E3 | | $8381: XCHG ;EB | | $8382: DAD D ;19 | | $8383: XCHG ;EB | | $8384: XTHL ;E3 | | $8385: DCR B ;05 | | $8386: JNZ 8376 ;C2 76 83| э | $8389: MVI A, FF ;3E FF |& | $838B: LHLD 84FE ;2A FE 84|* | $838E: LXI D, 0003 ;11 03 00| | $8391: LXI B, 03BD ;01 BD 03| | $8394: CMP M ;BE | | $8395: JZ 83E3 ;CA E3 83| | $8398: DAD D ;19 | | $8399: CMP M ;BE | | $839A: JZ 83E3 ;CA E3 83| | $839D: DAD B ;09 | | $839E: CMP M ;BE | | $839F: JZ 83E3 ;CA E3 83| | $83A2: DAD D ;19 | | $83A3: CMP M ;BE | | $83A4: JZ 83E3 ;CA E3 83| | $83A7: POP D ;D1 | | $83A8: POP H ;E1 | | $83A9: POP B ;C1 | | $83AA: JMP 823B ;C3 3B 82| < | $83AD: LXI H, FF80 ;21 80 FF|! | $83B0: JMP 8366 ;C3 66 83| у | $83B3: HTL ;76 |э | $83B4: MVI A, 00 ;3E 00 |& | $83B6: OUT C2 ;D3 C2 | | $83B8: LXI H, 4000 ;21 00 40|! A | $83BB: LXI D, 4000 ;11 00 40| A | $83BE: MVI M, 00 ;36 00 |6 | $83C0: INX H ;23 |# | $83C1: DCX D ;1B | | $83C2: MOV A,D ;7A |щ | $83C3: ORA E ;B3 | | $83C4: JNZ 83BE ;C2 BE 83| | $83C7: RET ;C9 | | $83C8: LXI B, 003C ;01 3C 00| = | $83CB: PUSH B ;C5 | | $83CC: MVI B, 0F ;06 0F | | $83CE: MVI C, 04 ;0E 04 | | $83D0: MOV A,M ;7E | | $83D1: STAX D ;12 | | $83D2: INX H ;23 |# | $83D3: INX D ;13 | | $83D4: DCR C ;0D | | $83D5: JNZ 83D0 ;C2 D0 83| | $83D8: XTHL ;E3 | | $83D9: XCHG ;EB | | $83DA: DAD D ;19 | | $83DB: XCHG ;EB | | $83DC: XTHL ;E3 | | $83DD: DCR B ;05 | | $83DE: JNZ 83CE ;C2 CE 83| | $83E1: POP D ;D1 | | $83E2: RET ;C9 | | $83E3: LHLD 84FE ;2A FE 84|* | $83E6: XCHG ;EB | | $83E7: LXI H, 85B5 ;21 B5 85|! | $83EA: CALL 83C8 ;CD C8 83| | $83ED: LXI H, 7446 ;21 46 74|!Gф | $83F0: SHLD 84FE ;22 FE 84|" | $83F3: MVI A, 0B ;3E 0B |& | $83F5: STA 8500 ;32 00 85|2 | $83F8: LDA 85F1 ;3A F1 85|: | $83FB: ANA A ;A7 | | $83FC: JZ 8444 ;CA 44 84| E | $83FF: DCR A ;3D |> | $8400: STA 85F1 ;32 F1 85|2 | $8403: LHLD 85F2 ;2A F2 85|* | $8406: LXI D, 003C ;11 3C 00| = | $8409: PUSH H ;E5 | | $840A: MVI B, 0F ;06 0F | | $840C: MVI C, 04 ;0E 04 | | $840E: MVI M, 00 ;36 00 |6 | $8410: INX H ;23 |# | $8411: DCR C ;0D | | $8412: JNZ 840E ;C2 0E 84| | $8415: DAD D ;19 | | $8416: DCR B ;05 | | $8417: JNZ 840C ;C2 0C 84| | $841A: POP H ;E1 | | $841B: LXI D, 0800 ;11 00 08| | $841E: DAD D ;19 | | $841F: SHLD 85F2 ;22 F2 85|" | $8422: LXI H, 865D ;21 5D 86|!_ | $8425: LXI B, 0020 ;01 20 00| | $8428: MVI D, 20 ;16 20 | | $842A: MOV E,M ;5E |ч | $842B: PUSH H ;E5 | | $842C: PUSH B ;C5 | | $842D: MOV L,E ;6B |л | $842E: CALL F81E ;CD 1E F8| | $8431: POP B ;C1 | | $8432: POP H ;E1 | | $8433: INX H ;23 |# | $8434: DCX B ;0B | | $8435: MOV A,C ;79 |ь | $8436: ORA B ;B0 | | $8437: JNZ 8428 ;C2 28 84| ( | $843A: MVI A, 00 ;3E 00 |& | $843C: OUT C2 ;D3 C2 | | $843E: LHLD 84FE ;2A FE 84|* | $8441: JMP 8287 ;C3 87 82| | $8444: CALL 83B4 ;CD B4 83| | $8447: LXI H, 0800 ;21 00 08|! | $844A: SHLD BE3E ;22 3E BE|"& | $844D: CALL F82D ;CD 2D F8| - | $8450: LXI H, 8624 ;21 24 86|!$ | $8453: CALL E4A4 ;CD A4 E4| | $8456: LXI D, FFFF ;11 FF FF| | $8459: DCX D ;1B | | $845A: MOV A,D ;7A |щ | $845B: ORA E ;B3 | | $845C: JNZ 8459 ;C2 59 84| [ | $845F: MVI A, AB ;3E AB |& | $8461: STA 84B1 ;32 B1 84|2 | $8464: STA 84B9 ;32 B9 84|2 | $8467: STA 84C1 ;32 C1 84|2 | $846A: STA 84C9 ;32 C9 84|2 | $846D: MVI A, 29 ;3E 29 |&) | $846F: STA 84B5 ;32 B5 84|2 | $8472: STA 84BD ;32 BD 84|2 | $8475: STA 84C5 ;32 C5 84|2 | $8478: LXI H, 4877 ;21 77 48|!шI | $847B: SHLD 85F2 ;22 F2 85|" | $847E: LXI H, 5E4A ;21 4A 5E|!Lч | $8481: SHLD 84B2 ;22 B2 84|" | $8484: LXI H, 5E50 ;21 50 5E|!Rч | $8487: SHLD 84B6 ;22 B6 84|" | $848A: LXI H, 5E56 ;21 56 5E|!Xч | $848D: SHLD 84BA ;22 BA 84|" | $8490: LXI H, 5E5C ;21 5C 5E|!^ч | $8493: SHLD 84BE ;22 BE 84|" | $8496: LXI H, 5E62 ;21 62 5E|!дч | $8499: SHLD 84C2 ;22 C2 84|" | $849C: LXI H, 5E68 ;21 68 5E|!ич | $849F: SHLD 84C6 ;22 C6 84|" | $84A2: LXI H, 5E6E ;21 6E 5E|!оч | $84A5: SHLD 84CA ;22 CA 84|" | $84A8: MVI A, 06 ;3E 06 |& | $84AA: STA 85F1 ;32 F1 85|2 | $84AD: JMP 81A0 ;C3 A0 81| | $84B0: JP CA46 ;F2 46 CA| G | $84B3: MOV C,A ;4F |Q | $84B4: MOV B,B ;40 |A | $84B5: ADC B ;88 | | $84B6: RNC ;D0 | | $84B7: MOV C,H ;4C |N | $84B8: ADC B ;88 | | $84B9: ORA M ;B6 | | $84BA: SUI 63 ;D6 63 | е | $84BC: MOV D,L ;55 |W | $84BD: DAD SP ;39 |9 | $84BE: MOV E,H ;5C |^ | $84BF: MOV D,M ;56 |X | $84C0: MOV H,E ;63 |е | $84C1: INR D ;14 | | $84C2: JPO 9968 ;E2 68 99| и | $84C5: CNZ 6AE8 ;C4 E8 6A| к | $84C8: XRI 21 ;EE 21 | ! | $84CA: MOV L,M ;6E |о | $84CB: MOV H,D ;62 |д | $84CC: ;10 | | $84CD: DCX B ;0B | | $84CE: NОР ;00 | | $84CF: MVI B, 00 ;06 00 | | $84D1: NОР ;00 | | $84D2: NОР ;00 | | $84D3: NОР ;00 | | $84D4: RST 40 ;FF | | $84D5: RST 40 ;FF | | $84D6: RST 40 ;FF | | $84D7: RST 40 ;FF | | $84D8: RST 40 ;FF | | $84D9: RST 40 ;FF | | $84DA: RST 40 ;FF | | $84DB: RP ;F0 | | $84DC: RST 40 ;FF | | $84DD: RST 40 ;FF | | $84DE: RP ;F0 | | $84DF: RST 40 ;FF | | $84E0: RST 40 ;FF | | $84E1: RP ;F0 | | $84E2: RST 40 ;FF | | $84E3: RST 40 ;FF | | $84E4: RP ;F0 | | $84E5: RST 40 ;FF | | $84E6: RST 40 ;FF | | $84E7: RRC ;0F | | $84E8: RST 40 ;FF | | $84E9: RST 40 ;FF | | $84EA: RST 8 ;CF | | $84EB: RST 40 ;FF | | $84EC: RST 40 ;FF | | $84ED: RRC ;0F | | $84EE: RST 40 ;FF | | $84EF: RST 40 ;FF | | $84F0: RRC ;0F | | $84F1: RST 40 ;FF | | $84F2: RST 40 ;FF | | $84F3: RST 40 ;FF | | $84F4: RST 40 ;FF | | $84F5: RST 40 ;FF | | $84F6: RST 40 ;FF | | $84F7: RST 40 ;FF | | $84F8: NОР ;00 | | $84F9: NОР ;00 | | $84FA: NОР ;00 | | $84FB: NОР ;00 | | $84FC: MVI B, 00 ;06 00 | | $84FE: MOV B,M ;46 |G | $84FF: MOV M,H ;74 |ф | $8500: DCX B ;0B | | $8501: NОР ;00 | | $8502: MOV M,B ;70 |п | $8503: ADD B ;80 | | $8504: NОР ;00 | | $8505: NОР ;00 | | $8506: RP ;F0 | | $8507: ADD B ;80 | | $8508: NОР ;00 | | $8509: ;10 | | $850A: ORA B ;B0 | | $850B: ADD B ;80 | | $850C: NОР ;00 | | $850D: NОР ;00 | | $850E: RP ;F0 | | $850F: CNZ 0000 ;C4 00 00| | $8512: MOV M,C ;71 |я | $8513: XRI 00 ;EE 00 | | $8515: NОР ;00 | | $8516: DI ;F3 | | $8517: RST 40 ;FF | | $8518: NОР ;00 | | $8519: NОР ;00 | | $851A: INX SP ;33 |3 | $851B: RST 40 ;FF | | $851C: ADC B ;88 | | $851D: NОР ;00 | | $851E: DI ;F3 | | $851F: RST 40 ;FF | | $8520: ADC B ;88 | | $8521: NОР ;00 | | $8522: JP 00F7 ;F2 F7 00| | $8525: NОР ;00 | | $8526: ;10 | | $8527: ANI 00 ;E6 00 | | $8529: NОР ;00 | | $852A: RLC ;07 | | $852B: RRC ;0F | | $852C: MOV C,H ;4C |N | $852D: NОР ;00 | | $852E: RLC ;07 | | $852F: RRC ;0F | | $8530: MOV C,H ;4C |N | $8531: NОР ;00 | | $8532: RLC ;07 | | $8533: RLC ;07 | | $8534: MOV C,H ;4C |N | $8535: NОР ;00 | | $8536: RLC ;07 | | $8537: NОР ;00 | | $8538: MOV B,H ;44 |E | $8539: NОР ;00 | | $853A: RST 40 ;FF | | $853B: NОР ;00 | | $853C: NОР ;00 | | $853D: NОР ;00 | | $853E: ;10 | | $853F: RPO ;E0 | | $8540: NОР ;00 | | $8541: NОР ;00 | | $8542: ;10 | | $8543: RP ;F0 | | $8544: NОР ;00 | | $8545: NОР ;00 | | $8546: ;10 | | $8547: RNC ;D0 | | $8548: ADD B ;80 | | $8549: NОР ;00 | | $854A: STA 00F0 ;32 F0 00|2 | $854D: NОР ;00 | | $854E: MOV M,A ;77 |ш | $854F: RPO ;E0 | | $8550: NОР ;00 | | $8551: NОР ;00 | | $8552: RST 40 ;FF | | $8553: CPE 1100 ;FC 00 11| | $8556: RST 40 ;FF | | $8557: CZ 1100 ;CC 00 11| | $855A: RST 40 ;FF | | $855B: CPE 0000 ;FC 00 00| | $855E: CPI F5 ;FE F5 | | $8560: NОР ;00 | | $8561: NОР ;00 | | $8562: HTL ;76 |э | $8563: ADD B ;80 | | $8564: NОР ;00 | | $8565: INX H ;23 |# | $8566: RRC ;0F | | $8567: MVI C, 00 ;0E 00 | | $8569: INX H ;23 |# | $856A: RRC ;0F | | $856B: MVI C, 00 ;0E 00 | | $856D: INX H ;23 |# | $856E: MVI C, 0E ;0E 0E | | $8570: NОР ;00 | | $8571: SHLD 0E00 ;22 00 0E|" | $8574: NОР ;00 | | $8575: NОР ;00 | | $8576: NОР ;00 | | $8577: RST 40 ;FF | | $8578: NОР ;00 | | $8579: NОР ;00 | | $857A: INX B ;03 | | $857B: INR C ;0C | | $857C: NОР ;00 | | $857D: NОР ;00 | | $857E: INX B ;03 | | $857F: INR C ;0C | | $8580: NОР ;00 | | $8581: NОР ;00 | | $8582: ;10 | | $8583: ADD B ;80 | | $8584: NОР ;00 | | $8585: NОР ;00 | | $8586: ;10 | | $8587: ADD B ;80 | | $8588: NОР ;00 | | $8589: NОР ;00 | | $858A: ;10 | | $858B: ADD B ;80 | | $858C: NОР ;00 | | $858D: NОР ;00 | | $858E: ;20 | | $858F: MOV B,B ;40 |A | $8590: NОР ;00 | | $8591: NОР ;00 | | $8592: MOV B,B ;40 |A | $8593: ;20 | | $8594: NОР ;00 | | $8595: NОР ;00 | | $8596: ADD B ;80 | | $8597: ;10 | | $8598: NОР ;00 | | $8599: NОР ;00 | | $859A: ADD B ;80 | | $859B: ;10 | | $859C: NОР ;00 | | $859D: NОР ;00 | | $859E: RST 16 ;D7 | | $859F: CMP M ;BE | | $85A0: NОР ;00 | | $85A1: NОР ;00 | | $85A2: RST 32 ;E7 | | $85A3: MOV A,M ;7E | | $85A4: NОР ;00 | | $85A5: NОР ;00 | | $85A6: RST 16 ;D7 | | $85A7: CMP M ;BE | | $85A8: NОР ;00 | | $85A9: NОР ;00 | | $85AA: ADD B ;80 | | $85AB: ;10 | | $85AC: NОР ;00 | | $85AD: NОР ;00 | | $85AE: ADD B ;80 | | $85AF: ;10 | | $85B0: NОР ;00 | | $85B1: NОР ;00 | | $85B2: RP ;F0 | | $85B3: RP ;F0 | | $85B4: NОР ;00 | | $85B5: NОР ;00 | | $85B6: NОР ;00 | | $85B7: NОР ;00 | | $85B8: NОР ;00 | | $85B9: NОР ;00 | | $85BA: RLC ;07 | | $85BB: MVI C, 00 ;0E 00 | | $85BD: NОР ;00 | | $85BE: RLC ;07 | | $85BF: MVI C, 00 ;0E 00 | | $85C1: NОР ;00 | | $85C2: DCR B ;05 | | $85C3: LDAX B ;0A | | $85C4: NОР ;00 | | $85C5: NОР ;00 | | $85C6: RLC ;07 | | $85C7: MVI C, 00 ;0E 00 | | $85C9: NОР ;00 | | $85CA: RLC ;07 | | $85CB: MVI C, 22 ;0E 22 | " | $85CD: NОР ;00 | | $85CE: STAX B ;02 | | $85CF: INR B ;04 | | $85D0: MOV M,A ;77 |ш | $85D1: NОР ;00 | | $85D2: MOV B,E ;43 |D | $85D3: INR C ;0C | | $85D4: CZ E000 ;CC 00 E0| | $85D7: LXI D, 0088 ;11 88 00| | $85DA: ;30 |0 | $85DB: INX SP ;33 |3 | $85DC: INX B ;03 | | $85DD: NОР ;00 | | $85DE: ;10 | | $85DF: ANI 06 ;E6 06 | | $85E1: NОР ;00 | | $85E2: NОР ;00 | | $85E3: CZ 0004 ;CC 04 00| | $85E6: INX SP ;33 |3 | $85E7: RM ;F8 | | $85E8: ;20 | | $85E9: NОР ;00 | | $85EA: LXI D, 6020 ;11 20 60| а | $85ED: NОР ;00 | | $85EE: NОР ;00 | | $85EF: NОР ;00 | | $85F0: NОР ;00 | | $85F1: MVI B, 77 ;06 77 | ш | $85F3: MOV C,B ;48 |I | $85F4: MOV M,B ;70 |п | $85F5: MOV A,B ;78 |г | $85F6: MOV M,C ;71 |я | $85F7: MOV L,M ;6E |о | $85F8: MOV A,C ;79 |ь | $85F9: MOV L,D ;6A |к | $85FA: MOV B,B ;40 |A | $85FB: MOV L,H ;6C |м | $85FC: MOV L,C ;69 |й | $85FD: MOV H,M ;66 |у | $85FE: MOV M,H ;74 |ф | $85FF: MOV H,L ;65 |ц | $8600: MOV M,D ;72 |р | $8601: MOV B,B ;40 |A | $8602: MOV B,B ;40 |A | $8603: MOV B,B ;40 |A | $8604: MOV M,D ;72 |р | $8605: MOV H,C ;61 |ж | $8606: MOV A,D ;7A |щ | $8607: MOV M,D ;72 |р | $8608: MOV H,C ;61 |ж | $8609: MOV H,D ;62 |д | $860A: MOV L,A ;6F |ъ | $860B: MOV M,H ;74 |ф | $860C: MOV H,C ;61 |ж | $860D: MOV L,H ;6C |м | $860E: ;20 | | $860F: MOV L,L ;6D |н | $8610: MOV H,L ;65 |ц | $8611: MOV L,H ;6C |м | $8612: MOV H,L ;65 |ц | $8613: MOV A,E ;7B |ы | $8614: MOV L,E ;6B |л | $8615: MOV L,A ;6F |ъ | $8616: ;20 | | $8617: MOV H,L ;65 |ц | $8618: MOV M,A ;77 |ш | $8619: MOV H,A ;67 |х | $861A: MOV H,L ;65 |ц | $861B: MOV L,M ;6E |о | $861C: MOV L,C ;69 |й | $861D: MOV L,D ;6A |к | $861E: MVI L, 31 ;2E 31 |.1 | $8620: DAD SP ;39 |9 | $8621: ;38 |8 | $8622: DAD SP ;39 |9 | $8623: NОР ;00 | | $8624: MOV L,L ;6D |н | $8625: MOV L,C ;69 |й | $8626: MOV L,M ;6E |о | $8627: MOV A,D ;7A |щ | $8628: MOV H,H ;64 |т | $8629: MOV M,D ;72 |р | $862A: MOV H,C ;61 |ж | $862B: MOV M,A ;77 |ш | $862C: ;20 | | $862D: MOV M,B ;70 |п | $862E: MOV M,D ;72 |р | $862F: MOV H,L ;65 |ц | $8630: MOV H,H ;64 |т | $8631: MOV M,L ;75 |б | $8632: MOV M,B ;70 |п | $8633: MOV M,D ;72 |р | $8634: MOV H,L ;65 |ц | $8635: HTL ;76 |э | $8636: MOV H,H ;64 |т | $8637: MOV H,C ;61 |ж | $8638: MOV H,L ;65 |ц | $8639: MOV M,H ;74 |ф | $863A: LDA 200D ;3A 0D 20|: | $863D: ;20 | | $863E: ;20 | | $863F: MOV H,C ;61 |ж | $8640: MOV L,H ;6C |м | $8641: MOV L,E ;6B |л | $8642: MOV L,A ;6F |ъ | $8643: MOV H,A ;67 |х | $8644: MOV L,A ;6F |ъ | $8645: MOV L,H ;6C |м | $8646: MOV A,B ;78 |г | $8647: ;20 | | $8648: MOV H,H ;64 |т | $8649: MOV L,A ;6F |ъ | $864A: ;20 | | $864B: MOV H,H ;64 |т | $864C: MOV L,A ;6F |ъ | $864D: MOV H,D ;62 |д | $864E: MOV M,D ;72 |р | $864F: MOV H,C ;61 |ж | $8650: ;20 | | $8651: MOV L,M ;6E |о | $8652: MOV H,L ;65 |ц | $8653: ;20 | | $8654: MOV H,H ;64 |т | $8655: MOV L,A ;6F |ъ | $8656: MOV M,A ;77 |ш | $8657: MOV H,L ;65 |ц | $8658: MOV H,H ;64 |т | $8659: MOV H,L ;65 |ц | $865A: MOV M,H ;74 |ф | $865B: LXI H, 4E00 ;21 00 4E|! P | $865E: INR M ;34 |4 | $865F: MVI H, 1E ;26 1E |& | $8661: DCR A ;3D |> | $8662: INR M ;34 |4 | $8663: MVI H, 1E ;26 1E |& | $8665: MOV E,H ;5C |^ | $8666: MVI L, 26 ;2E 26 |.& | $8668: MVI E, 4E ;1E 4E | P | $866A: MVI L, 26 ;2E 26 |.& | $866C: MVI E, 45 ;1E 45 | F | $866E: MVI L, 22 ;2E 22 |." | $8670: DCR E ;1D | | $8671: LDA 222E ;3A 2E 22|:." | $8674: DCR E ;1D | | $8675: MOV L,B ;68 |и | $8676: INR M ;34 |4 | $8677: DAD H ;29 |) | $8678: DCR E ;1D | | $8679: MOV D,E ;53 |U | $867A: INR M ;34 |4 | $867B: DAD H ;29 |) | $867C: DCR E ;1D | | Дизассемблер еще пока находится в «сыром» состоянии и наверняка имеет не одну тонну ошибок Вопрос вот в чем. Нужно ли это кому-то кроме меня?.. : - ) . Если «Да», тогда я могу его «не забрасывать», а дорабатывать в соответствии со всеми правилами и Вашими пожеланиями. Хотелось бы написать такой дизассемблер чтобы был подточенный под LvivStudio, т.е дизассемблированную прогу можно было бы вставить LvivStudio и скомпилировать «без сучка и без задиринки». Но мне нужна помощь. Всевозможная информация, например, правила в написании (мнемоника написания) асм-команд которые использует LvivStudio. Нужно описание процедур и точек входа ПЗУ ПК-01 «Львов». Крайне Желательно инфа по формату файла Эмулятора 3000 (*.Е3) из которого моя программа дизассемблирует память (часть памяти) . А также описание других нужных мне форматов… Помощь в тестировании и т.д. Какие у кого будут мысли по этому поводу. З.Ы. Кстати может я вообще зря стараюсь?!... В LvivStudio есть «Reassembler», но я так и не понял какие файлы и как им можно реассемблировать… Все что я увидел при реассемблировании файла это командой это вот (вырезка из реассемблированного ) : Code: .db 110 .db 101 .db 67 .db 108 .db 97 .db 115 .db 115 ............. NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP L33130:NOP NOP ........ .db 24 .db 195 .db 216 .db 2 .db 43 .db 22 .db 0 .db 213 .db 205 .db 170 .db 2 .db 1 .db 205 .db 229 .db 9 .db 34 |
Author: | Zelya [ 26 Apr 2012, 18:16 ] |
Post subject: | |
sas9568635 Хоть тот реассеблер сырее сырого, но тоже что-то может. А главное - именует только те строчки, на которые есть посылания и отфильтровывает данные от кода. Соответственно огромный список ".db XXX" скорее всего как раз и есть область данных (т.е. всередине программы туда нет ни одной переадрессации). |
Author: | sas9568635 [ 26 Apr 2012, 18:25 ] |
Post subject: | |
Quote: ...А главное - именует только те строчки, на которые есть посылания и отфильтровывает данные от кода. Соответственно огромный список ";.db XXX" скорее всего как раз и есть область данных (т.е. всередине программы туда нет ни одной переадрессации).
Дак а как им пользоваться? Какие файлы он обрабатывает?.. пример посмотреть можно ?
|
Author: | Zelya [ 26 Apr 2012, 18:40 ] |
Post subject: | |
sas9568635 Да, впринципе, любые lvt файлы. Вот только что "скормил" ему свою любимую Аэрокобру и Ваш Попкорн. Аэрокобра начинается с кучи данных "db. xxx", код уже ближе к середние файла, а Попкорн - наоборот, данные имеет в конце и начинается с веселеньких Code: MVI A 2 STA 48833 MVI A 6 STA 48832 CALL 63539 CALL 34743Если такой код встаивть в Студию - он должен "поехать", только не забудьте поставить правильные адресса начала файла и старта программы. |
Author: | liberation [ 26 Apr 2012, 18:59 ] |
Post subject: | |
Quote: Вопрос вот в чем. Нужно ли это кому-то кроме меня?.. : - ) . Если «Да», тогда я могу его «не забрасывать», а дорабатывать в соответствии со всеми правилами и Вашими пожеланиями.
Да, стоит, пока не перегорели. Quote: Хотелось бы написать такой дизассемблер чтобы был подточенный под LvivStudio, т.е дизассемблированную прогу можно было бы вставить LvivStudio и скомпилировать «без сучка и без задиринки».
На Студию особо не ориентируйтесь. Это проект с полностью закрытыми исходниками, который из-за своей масштабности развивается неспешно. Проще потом Студию допилить под Ваш продукт.Quote: Нужно описание процедур и точек входа ПЗУ ПК-01 «Львов». Крайне Желательно инфа по формату файла Эмулятора 3000 (*.Е3) из которого моя программа дизассемблирует память (часть памяти) . А также описание других нужных мне форматов… Помощь в тестировании и т.д.
Кроме стандартных мануалов мы вряд ли что-то сможем предложить. Загляните на сайт a99, там все лежит. На эмулятор Е3000 ориентироваться не стоит, поскольку он более не развивается. Используйте формат LVT и эмулятор "Башкирия-2М".А на чем Вы пишите свой дизассемблер? Исходники будете открывать? p.s. Отдельное большое спасибо за поддержку шестнадцатеричной системы исчисления. |
Author: | sas9568635 [ 26 Apr 2012, 21:22 ] |
Post subject: | |
Quote: ...Проще потом Студию допилить под Ваш продукт.
Не совсем понял - как это? Quote: ....На эмулятор Е3000 ориентироваться не стоит, поскольку он более не развивается....
Ясно. Спасибо за ссылки. Рассмотрю позже что к чему...Quote: А на чем Вы пишите свой дизассемблер? Исходники будете открывать?
Пишу на Дельфи 6. Но дизаcсемблер, скорее всего будет управлятся из командной строки (как старые добрые), так как я смотрю, что ввиде ФОРМЫ не очень-то удобен получается. Да и с ФОРМОЙ заморочек с "палировкой" много...Исходники открывать Не планирую. Quote: p.s. Отдельное большое спасибо за поддержку шестнадцатеричной системы исчисления. |
Author: | a99 [ 26 Apr 2012, 21:34 ] |
Post subject: | |
http://www.16paws.com/ECU/DASMxx/dasmx130.zip Я це люблю! Ещё есть бесплатная версия IDA, но не уверен, что в ней реализована поддержка i8080. |
Author: | a99 [ 26 Apr 2012, 23:26 ] |
Post subject: | |
Quote: Ещё есть бесплатная версия IDA, но не уверен, что в ней реализована поддержка i8080.
Установил, проверил - не реализована. Нет процессора, кроме x86, и Уильям Генри Гейтс III пророк его.Так что рекомендую DASMx. |
Author: | liberation [ 27 Apr 2012, 12:49 ] |
Post subject: | |
Quote: Нет процессора, кроме x86, и Уильям Генри Гейтс III пророк его.
Если SAS продолжит пилить свой дизассемблер на Дельфи, то, памятуя о FreePascal, мы сможем получить кроссплатформенный инструмент.
|
Author: | sas9568635 [ 27 Apr 2012, 16:08 ] |
Post subject: | |
Как правильно звучит название кодировки символов ПК-01 "Львова" ? КОИ-7 ? КОИ-8? Нужны ТОЧНЫЕ адреса расположения памяти ПК-01 "Львова" в других форматах-файлах... EMU, SAV и т.д... Насчет формата LVT я пока еще не разобрался... Может тоже более точнее напишите с какого по какой адрес файле находится ОП Львова... |
Author: | liberation [ 27 Apr 2012, 16:09 ] |
Post subject: | |
Quote: Вот только целая проблема как правильно и оригинально назвать...
Я бы на этом варианте остановился. Звучит достаточно оригинально. Осталось только латиницей записать. функциональность проги звучит так: Дизассемлер памяти ПК-01 "Львов" из формата е3 (Эмулятора 3000) Quote: ...следом надо бы и асм писать под это дизассемлер
Само собой. Все равно впереди одни выходные и праздники. Quote: Плохо понимаю о чем речь. А что Дельфянские екзешники запускаються на любой платформе?.. Или могут конвертироваться под любую платформу?..
Под wine могут запуститься. Но тут речь идет о FreePascal и Lazarus.Про первый Вики сообщает: Quote: Важной особенностью данного компилятора, в отличие, например, от GNU Pascal, является ориентация на распространённые коммерческие диалекты языка: Object Pascal и Delphi.
А про второй:
Free Pascal поддерживает компиляцию в нескольких режимах, обеспечивающих совместимость с различными диалектами и реализациями языка. Quote: Позволяет достаточно несложно переносить Delphi-программы с графическим интерфейсом в различные операционные системы: Linux, FreeBSD, Mac OS X, Microsoft Windows.
|
Author: | a99 [ 27 Apr 2012, 16:10 ] |
Post subject: | |
Эх, убрать бы всю эту гуёвость и забацать кошерную консольную утилиту. GUI тут совершенно ни к чему, нет интерактива. Да и портировать под FPC будет проще. Quote: А что Дельфянские екзешники запускаються на любой платформе?
Нет (гусары, ни слова о wine!), но есть кроссплатформенный FreePascal и Lazarus, которые могут благосклонно отнестись к Вашим исходникам, особенно если в них нет ни одного "uses windows".
|
Author: | a99 [ 27 Apr 2012, 16:12 ] |
Post subject: | |
Quote: Под wine могут запуститься
Quote: гусары, ни слова о wine!
Опередил! )))
|
Author: | Zelya [ 27 Apr 2012, 16:14 ] |
Post subject: | |
sas9568635 Про форматы lvt, sav, Олег уже давал линк: http://lvovpc.ho.ua/forum/viewtopic.php?t=102 |
Page 1 of 5 | All times are UTC+03:00 |
Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |