21.1.1. Začátek zdroje code 1

Příklad 21.1. První část code 1

; PPForth code 1
;        11111111112222222222333333333344444444445555555555666666666677777777778
;2345678901234567890123456789012345678901234567890123456789012345678901234567890
0000= ....: 4E56 FFF4 .... ....  START:     LINK    A6, -12
0004=       486E FFF4                       PEA     -12(A6)
0008=       486E FFF8                       PEA     -8(A6)
0004=       486E FFFC                       PEA     -4(A6)
0010=       4E4F A08F                       SYSTRAP SysAppStartup
0014=       4FEF 000C                       LEA     12(A7), A7
0018=       4A40                            TST.W   D0
001A=       670E                          .-BEQ.S   OK
                                          |
                                          | ; V případě neúspěchu pípneme a ukončíme program
001C=       1F3C 0003                     | MOVE.B  #3, -(A7)
0020=       4E4F A234                     | SYSTRAP SndPlaySystemSound
0024=       548F                          | ADDQ.L  #2, A7
0026=       70FF                          | MOVEQ   #-1, D0
0028=       602A                        .-|-BRA.S   END  ;=$8056    ; Konec
                                        | |
                                        | | ; Příprava argumentů a volání procedury SBR_0058
002A=       206E FFFC            OK:    | `>MOVE.L  -4(A6), A0
002E=       3F28 0006                   |   MOVE    6(A0), -(A7)
0032=       2F28 0002                   |   MOVE.L  2(A0), -(A7)
0036=       3F10                        |   MOVE    (A0), -(A7)
0038=       4EBA 001E                   |  =JSR     SBR_0058        ; CALL ()
                                        |
003C= 803E: 508F                        |   ADDQ.L  #8, RP
003E= 8040: 2F2E FFF4                   |   MOVE.L  -12(FP), -(RP)
0042= 8044: 2F2E FFF8                   |   MOVE.L  -8(FP), -(RP)
0046= 8048: 2F2E FFFC                   |   MOVE.L  -4(FP), -(RP)
004A= 804C: 4E4F A090                   |   SYSTRAP SysAppExit
004E= 8050: 4FEF 000C                   |   LEA     12(RP), RP
0052= 8054: 7000                        |   MOVEQ   #0, D0
                                        |
0054= 8056: 4E5E                 END:   `-->UNLK    A6              ; Return to PalmOS
0056= 8058: 4E75                            RTS                     ; %

	                         ; Subroutine $0058
0058=       4E56 0000            SBR_0058:  LINK    A6, #0          ;Rámec bez lokálních proměnných
005C=       4A6E 0008                       TST.W   8(A6)           ;ARG.
0060=       6704                          .-BEQ     0066            ; $+4
0062=       4E5E                          | UNLK    A6
0064=       4E75                          | RTS
0066=       6100 001E                   .=`>BSR     0086
                                        |
006A=       0004 0001 0028 00D1         |   DW      4, 1, $28, $D1
0072=       000A                        |   DW      $0A
0074=       0000 0000                   |   DW      0, 0
0078=       00D1 7374 6172 7474         |   DB      00, $D1, "startt"
0080=       75B5                        |
0082=       F66C                        |
0084=       A14E                        |
0086=       588F                        `-->ADDQ.L  #0, A7
0088=       47FA FF76                       LEA     $FF76(PC), A3
008C=       2F3C 0000                       MOVE.L  #0, -(A7)
0090=       FFE0
0092=       4E4F A013                       SYSTRAP $A013
0096=       588F                            ADDQ.L  #0, A7
0098=       203C 0000                       MOVE.L  #0, D0
009C=       8000
009E=       5980
00A0=       21B3
00A2=       0800
00A4=       0080

011C=       01B4                            DW      $01B4       ; view
011E=       0000                            DW      0           ; link
0120=       046E 6F6F 7004                  DB      4, "noop", 4
0126=       3A1A                            MOVE.W  (A2)+, D5
0128=       4EF3 5800                       JMP     ???

012C=       01B9
012E=       0000
0130=       4564 6F6C 6974 0500             DB      $40+5, "dolit", 5, 0
0138=       3F1A                            MOVE.W  (A2)+, -(A7)
013A=       3A1A                            MOVE.W  (A2)+, D5
013C=       4EF3                            JMP     ???
013E=       5800

0140=       01C0 0000
0144=       4764 6F76 616C 7565 0700        DB      $40+7, "dovalue", 7, 0
014F=       3F1A                            MOVE.W  (A2)+, -(A7)
0150=       3A1A                            MOVE.W  (A2)+, D5
0152=       4EF3 5800                       JMP     ???


0156=       01C7 0000
015A=       4664 6F6C 6973 7406             DB      $40+6, "dolist", 6
0162=       220A                            MOVE.L  A2, D1
0164=       928B

0170=       01D5 0000
0174=       4664 6F64 6F65 7306             DB      $40+6, "dodoes", 6
017C=       220A 928B

0190=       01E5 012E
0194=       4662 726E 6578 7406             DB      $40+6, "brnext", 6
019C=       5354 4A54

01BF=       01F6
01C0=       0000
01C2=       473F 6272 616E 6368 0700        DB      $40+7, "?branch", 7



C5C8=       C02C C0A2
C5CC=       0666 6F72 6D68 6906             DB      6, "formhi", 5
C5D4=       3A3C 0162
C5D8=       4EB3
C5DA=       5800