Příklad 16.8. Disassemblovaný kód aplikace clock.prc
0000= 4E56 FFF4 LINK FP, #-12 0004= 486E PEA -12(FP) 0008= PEA -8(FP) 000C= PEA -4(FP) 0010= SYSTRAP SysAppStartup 0014= LEA 12(RP), RP 0018= TST D0 001A= BEQ $+14 = 002A 001C= MOVE.B #3, -(RP) 0020= SYSTRAP SndPlaySystemSound 0024= ADDQ.L #2, RP 0026= MOVEQ #-1, D0 0028= BRA $+42 = 0054 002A= MOVE.L -4(FP), A0 002E= MOVE 6(A0), -(RP) 0032= MOVE.L 2(A0), -(RP) 0036= MOVE (A0), -(RP) 0038= JSR 30(PC) ;= 0058 003C= ADDQ.L #8, RP 003E= MOVE.L -12(FP), -(RP) 0042= MOVE.L -8(FP), -(RP) 0046= MOVE.L -4(FP), -(RP) 004A= SYSTRAP SysAppExit 004E= LEA 12(RP), RP 0052= MOVEQ #0, D0 0054= UNLK FP 0056= RTS 0058= LINK FP, #0 005C= TST 8(FP) 0060= BEQ $+6 ;= 0068 0062= BRA $+270 ;= 0172 0066= 0068= LBL???: MOVEM.L D2-D7/A1-A6, -(RP) 006C= MOVE #1, -(RP) 0070= MOVE.L #1145132097, -(RP) 0076= SYSTRAP DmGet1Resource 007A= ADDQ.L #6, RP 007C= CMPA.L #0, A0 0082= BEQ $+234 ;= 016E 0086= MOVE.L A0, A3 0088= MOVE.L A0, -(RP) 008A= SYSTRAP MemHandleSize 008E= ADDQ.L #4, RP 0090= MOVE.L D0, TOS 0092= MOVE.L A3, -(RP) 0094= SYSTRAP MemHandleLock 0098= ADDQ.L #4, RP 009A= MOVE.L A0, D4 009C= MOVE.L TOS, D0 009E= ADDI.L #40, D0 00A4= MOVE.L D0, -(RP) 00A6= SYSTRAP MemHandleNew 00AA= ADDQ.L #4, RP 00AC= MOVE.L A0, -(RP) 00AE= SYSTRAP MemHandleLock 00B2= ADDQ.L #4, RP 00B4= MOVE.L DS, D3 00B6= MOVE.L A0, DS 00B8= MOVE.L TOS, -(RP) 00BA= MOVE.L D4, -(RP) 00BC= MOVE.L DS, -(RP) 00BE= SYSTRAP MemMove 00C2= LEA 12(RP), RP 00C6= MOVE.L D3, A0 00C8= MOVE.L (A0), (DS) 00CA= MOVE.L 4(A0), 4(SP) 00D0= MOVE.L A3, -(RP) 00D2= SYSTRAP MemHandleUnlock 00D6= ADDQ.L #4, RP 00D8= MOVE.L A3, -(RP) 00DA= SYSTRAP DmReleaseResource 00DE= ADDQ.L #4, RP 00E0= MOVE.L RP, 14(DS) 00E4= MOVE.L #2048, -(RP) 00EA= SYSTRAP MemHandleNew 00EE= ADDQ.L #4, RP 00F0= MOVE.L A0, -(RP) 00F2= SYSTRAP MemHandleLock 00F6= ADDQ.L #4, RP 00F8= LEA 2046(A0), SP 00FC= MOVE.L SP, 18(DS) 0100= MOVE #1, -(RP) 0104= MOVE.L #1882481008, -(RP) 010A= SYSTRAP DmGet1Resource 010E= ADDQ.L #6, RP 0110= MOVE.L A0, 22(DS) 0114= CMPA.L #0, A0 011A= BEQ $+58 ;= 0156 011C= MOVE.L A0, -(RP) 011E= SYSTRAP MemHandleLock 0122= ADQ.L #4, RP 0124= MOVE.L A0, 26(DS) 0128= LEA 44(PC), A1 ;= 0156 012C= MOVE.L A1, 30(DS) 0130= LEA 32766(A0), CS 0134= MOVE.L CS, 34(DS) 0138= MOVE 8(FP), 38(DS) 013E= MOVE.L 10(FP), 40(DS) 0144= MOVE 14(FP), 44(DS) 014A= SYSTRAP FplInit 014E= MOVE 12(DS), D0 0152= JSR 0(CS, D0) 0156= LBL???: MOVE.L 22(DS), -(RP) 015A= SYSTRAP MemHandleUnlock 015E= ADDQ.L #4, RP 0160= MOVE.L 22,(DS), -(RP) 0164= SYSTRAP DmReleaseResource 0168= ADDQ.L #4, RP 016A= MOVE.L 14(DS), RP 016E= LBL???: MOVEM.L (RP)+, D2-D7/A1-A6 0172= LBL???: UNLK FP 0174= RTS
Příklad 16.9. Clock.PRC: p4ap 1
0000= 3907 MOVE TOS, -(SP) 0002= 3E3C MOVE #948, TOS 0006= MOVE (SP)+, 0(DS,TOS) 000A= MOVE (SP)+, TOS 000C= MOVE TOS, -(SP) 000E= MOVE #946, TOS 0012= MOVE (SP)+, 0(DS,TOS) 0016= MOVE (SP)+, TOS 0018= RTS 001A= MOVE TOS, -(SP) 001C= MOVEQ #81, TOS 001E= MOVE TOS, -(SP) 0020= MOVEQ #80, TOS 0022= JMP -32766(CS) 0026= MOVE TOS, -(SP) 0028= MOVEQ #-1, TOS 002A= MOVE TOS, -(SP) 002C= MOVE #952, TOS 0030= MOVE (SP)+, 0(DS,TOS) 0034= MOVE (SP)+, TOS 0036= RTS 0038= MOVE TOS, -(SP) 003A= MOVE A0, -(SP) 003C= MOVE.L A0, TOS 003E= SWAP TOS 0040= RTS 0042= MOVE.L (SP), D1 0044= MOVE.L D1, 0(DS,TOS) 0048= ADDQ.L #4, SP 004A= MOVE (SP)+, TOS 004C= RTS 004E= MOVE TOS, -2(SP) 0052= MOVE.L SP, D0 0054= SUBQ.L #2, D0 0056= MOVE TOS, -(SP) 0058= MOVE.L D0, TOS 005A= MOVE TOS, -(SP) 005C= SWAP TOS 005E= RTS ... ... ... 0F9C= MOVE TOS, -(SP) 0F9E= MOVE #10, -(SP) 0FA2= MOVE #0, TOS 0FA6= JSR -32034(CS) 0FAA= MOVE TOS, -(SP) 0FAC= MOVEQ #6, TOS 0FAE= MOVE TOS, -(SP) 0FB0= MOVE 2(SP), TOS 0FB4= CMP (SP)+, TOS 0FB6= SEQ TOS 0FB8= EXT TOS 0FBA= MOVE TOS, D0 0FBC= MOVE (SP)+, TOS 0FBE= TST D0 0FC0= BEQ $+12 ;= 0FCE 0FC4= MOVE (SP)+, TOS 0FC6= JSR -32008(CS) 0FCA= BRA $+76 ;= 1018 0FCE= MOVE TOS, -(SP) 0FD0= MOVEQ #5, TOS 0FD2= MOVE TOS, -(SP) 0FD4= MOVE 2(SP), TOS 0FD8= CMP (SP)+, TOS ... 105E= JSR -28818(CS) 1062= BRA $-200 ;= 0F9C 1066= RTS 1068= JSR -32494(CS) 106C= MOVE TOS, -(SP) 106E= MOVEQ #100, TOS 1070= JSR -32078(CS) 1074= JMP -28770(CS)