Subversion Repositories MB01 Project

Rev

Blame | Last modification | View Log | Download | RSS feed

  Tue Jul 17 11:00:23 2018                                                                                               Page    1







          2500 A.D. 65816 Macro Assembler #26960 - Version 5.02g
          -----------------------------------------------------

                       Input  Filename : src\FE\pcstd.asm
                       Output Filename : obj\FE\pcstd.obj
                       Listing Has Been Relocated                               


 2582                           .LIST           on
 2583                           
 2584                           
 2585                                   .CODEFE
 2586                                   .LONGA off
 2587                                   .LONGI off
 2588                           
 2589                                   GLOBAL  PCTYPEREC, PCSFADDR, PCTORSIZ, PCRSWD, PCROFS
 2590                                   GLOBAL  PCCOMP, PCCDST
 2591                                   ;GLOBAL PCCOMPSIZ, PCTORAM
 2592  FE4110                    
 2593                           ; compiled p-code for running pascal compiler
 2594                           ; original offset at $3000
 2595                           
 2596          003000           PCCDST          .EQU    $3000
 2597                           
 2598  FE4110                   PCCOMP:
 2599                                   ; compiler p-code
 2600  FE4110                           .INCLUDE inc\pcc.inc
 2601                           
 3543                                   .LIST on
 3544                           
 3545                           
 3546          003A10           PCCOMPSIZ       .EQU    ($ - PCCOMP)
 3547                           
 3548                           ; offset of ram address used by compiler        
 3549                           ;PCROFS .EQU    $216E
 3550                           ;PCROFS .EQU    $0010
 3551                           
 3552          003A10           PCROFS  .EQU    PCCOMPSIZ
 3553                           
 3554  FE7B20                   PCTORAM:
 3555                           ; record (size = 12 bytes) that encode basic standard 'type'
 3556  FE7B20  FF7F 0080 0000           .DW     $7FFF, $8000, $0000, $0000, $0000, $0001        ; integer 
               0000 0000 0100 
 3557          003A1C           TYIPTR  .EQU    (12 + PCROFS)   ; ptr record 'integer;
 3558  FE7B2C  7F00 0000 0000           .DW     $007F, $0000, $0000, $0000, $0000, $0001        ; char 
               0000 0000 0100 
 3559          003A28           TYCPTR  .EQU    (24 + PCROFS)   ; ptr record 'char'
 3560  FE7B38  0100 0000 0000           .DW     $0001, $0000, $0000, $0000, $0000, $0001        ; boolean 
               0000 0000 0100 
 3561          003A34           TYBPTR  .EQU    (36 + PCROFS)   ; ptr record 'boolean'
 3562  FE7B44  0000 0000 0300           .DW     $0000, $0000, $0003, $0000, $0000, $0003        ; real
               0000 0000 0300 
 3563          003A40           TYRPTR  .EQU    (48 + PCROFS)   ; ptr record 'real'
 3564  FE7B50  0000 0000 0500           .DW     $0000, $0000, $0005, TYCPTR, $0000, $0003       ; text 
  Tue Jul 17 11:00:23 2018                                                                                               Page    2




               283A 0000 0300 
 3565          003A4C           TYTPTR  .EQU    (60 + PCROFS)   ; ptr record 'text'
 3566                           
 3567                           ;       .DW     $0080, $0001, $0001, TYIPTR, $000C, $0001       ; packed array [1..128] 
 3568                           ;TYA128 .EQU    (72 + PCROFS)
 3569                           ;       .DW     $0001, TYA128, $0002, TYCPTR, $0010, $0040      ; packed array [1..128] of char 
 3570                           ;TYPKC128       .EQU    (84 + PCROFS)
 3571                           ;       ;.DW    $0000, TYPKC128, $0006, $0000, $0000, $0001     ; packed array [1..128] of char 
 3572                           ;PKCPTR .EQU    (96 + PCROFS)
 3573                           
 3574          003A4C           PCROFS1 .EQU    ($ - PCTORAM + PCROFS)
 3575                           
 3576          003A4C           X:      .SET    PCROFS1
 3577                           
 3578                           ; table of pre-defined standard procedures & functions
 3579  FE7B5C  0500                     .DW     $0005
 3580  FE7B5E  4F 52 44 20 20           .DB     'ORD     '
               20 20 20 
 3581  FE7B66  0000 0000 0000           .DW     $0000,  $0000,  $0000
 3582  FE7B6C  703A                     .DW     (18 + $12 + X)
 3583          003A5E                   X:      .SET    (X + 18)
 3584  FE7B6E                           
 3585          003A5E           PCSFADDR        .EQU    X
 3586                           
 3587  FE7B6E  0500                     .DW     $0005
 3588  FE7B70  50 52 45 44 20           .DB     'PRED    '
               20 20 20 
 3589  FE7B78  0000 0100 0000           .DW     $0000,  $0001,  $0000
 3590  FE7B7E  823A                     .DW     (18 + $12 + X)
 3591          003A70                   X:      .SET    (X + 18)
 3592  FE7B80  0500                     .DW     $0005
 3593  FE7B82  53 55 43 43 20           .DB     'SUCC    '
               20 20 20 
 3594  FE7B8A  0000 0200 0000           .DW     $0000,  $0002,  $0000
 3595  FE7B90  943A                     .DW     (18 + $12 + X)
 3596          003A82                   X:      .SET    (X + 18)
 3597  FE7B92  0500                     .DW     $0005
 3598  FE7B94  53 51 52 20 20           .DB     'SQR     '
               20 20 20 
 3599  FE7B9C  0000 0300 0000           .DW     $0000,  $0003,  $0000
 3600  FE7BA2  A63A                     .DW     (18 + $12 + X)
 3601          003A94                   X:      .SET    (X + 18)
 3602  FE7BA4  0500                     .DW     $0005
 3603  FE7BA6  41 42 53 20 20           .DB     'ABS     '
               20 20 20 
 3604  FE7BAE  0000 0400 0000           .DW     $0000,  $0004,  $0000
 3605  FE7BB4  B83A                     .DW     (18 + $12 + X)
 3606          003AA6                   X:      .SET    (X + 18)
 3607  FE7BB6  0500                     .DW     $0005
 3608  FE7BB8  45 4F 4C 4E 20           .DB     'EOLN    '
               20 20 20 
 3609  FE7BC0  0000 0500 0000           .DW     $0000,  $0005,  $0000
 3610  FE7BC6  CA3A                     .DW     (18 + $12 + X)
 3611          003AB8                   X:      .SET    (X + 18)
 3612  FE7BC8  0500                     .DW     $0005
 3613  FE7BCA  45 4F 46 20 20           .DB     'EOF     '
               20 20 20 
  Tue Jul 17 11:00:23 2018                                                                                               Page    3




 3614  FE7BD2  0000 0600 0000           .DW     $0000,  $0006,  $0000
 3615  FE7BD8  DE3A                     .DW     (20 + $12 + X)
 3616          003ACA                   X:      .SET    (X + 18)
 3617                           ;------------------------------------------------------
 3618  FE7BDA  AA40 0200                .DW     TY1I,   $0002
 3619  FE7BDE  43 48 52 20 20           .DB     'CHR     '
               20 20 20 
 3620  FE7BE6  283A 0500 FEFF           .DW     TYCPTR, $0005,  $FFFE
 3621  FE7BEC  F23A                     .DW     (20 + $14 + X)
 3622          003ADE                   X:      .SET    (X + 20)
 3623  FE7BEE  D440 0200                .DW     TY1C,   $0002
 3624  FE7BF2  41 53 43 20 20           .DB     'ASC     '
               20 20 20 
 3625  FE7BFA  1C3A 0500 FEFF           .DW     TYIPTR, $0005,  $FFFE
 3626  FE7C00  063B                     .DW     (20 + $14 + X)
 3627          003AF2                   X:      .SET    (X + 20)
 3628  FE7C02  AA40 0200                .DW     TY1I,   $0002
 3629  FE7C06  4F 44 44 20 20           .DB     'ODD     '
               20 20 20 
 3630  FE7C0E  343A 0400 FEFF           .DW     TYBPTR, $0004,  $FFFE
 3631  FE7C14  1A3B                     .DW     (20 + $14 + X)
 3632          003B06                   X:      .SET    (X + 20)
 3633  FE7C16  B040 0200                .DW     TY2I,   $0002
 3634  FE7C1A  53 48 52 20 20           .DB     'SHR     '
               20 20 20 
 3635  FE7C22  1C3A 2C00 FEFF           .DW     TYIPTR, $002C,  $FFFE
 3636  FE7C28  2E3B                     .DW     (20 + $14 + X)
 3637          003B1A                   X:      .SET    (X + 20)
 3638  FE7C2A  B040 0200                .DW     TY2I,   $0002
 3639  FE7C2E  53 48 4C 20 20           .DB     'SHL     '
               20 20 20 
 3640  FE7C36  1C3A 2B00 FEFF           .DW     TYIPTR, $002B,  $FFFE
 3641  FE7C3C  423B                     .DW     (20 + $14 + X)
 3642          003B2E                   X:      .SET    (X + 20)
 3643  FE7C3E  B040 0200                .DW     TY2I,   $0002
 3644  FE7C42  4F 52 57 20 20           .DB     'ORW     '
               20 20 20 
 3645  FE7C4A  1C3A 1C00 FEFF           .DW     TYIPTR, $001C,  $FFFE
 3646  FE7C50  563B                     .DW     (20 + $14 + X)
 3647          003B42                   X:      .SET    (X + 20)
 3648  FE7C52  B040 0200                .DW     TY2I,   $0002
 3649  FE7C56  58 4F 52 57 20           .DB     'XORW    '
               20 20 20 
 3650  FE7C5E  1C3A 1D00 FEFF           .DW     TYIPTR, $001D,  $FFFE
 3651  FE7C64  6A3B                     .DW     (20 + $14 + X)
 3652          003B56                   X:      .SET    (X + 20)
 3653  FE7C66  B040 0200                .DW     TY2I,   $0002
 3654  FE7C6A  41 4E 44 57 20           .DB     'ANDW    '
               20 20 20 
 3655  FE7C72  1C3A 1B00 FEFF           .DW     TYIPTR, $001B,  $FFFE
 3656  FE7C78  7E3B                     .DW     (20 + $14 + X)
 3657          003B6A                   X:      .SET    (X + 20)
 3658  FE7C7A  AA40 0200                .DW     TY1I,   $0002
 3659  FE7C7E  4E 4F 54 57 20           .DB     'NOTW    '
               20 20 20 
 3660  FE7C86  1C3A 1E00 FEFF           .DW     TYIPTR, $001E,  $FFFE
 3661  FE7C8C  923B                     .DW     (20 + $14 + X)
  Tue Jul 17 11:00:23 2018                                                                                               Page    4




 3662          003B7E                   X:      .SET    (X + 20)
 3663  FE7C8E  AA40 0200                .DW     TY1I,   $0002
 3664  FE7C92  4E 45 47 57 20           .DB     'NEGW    '
               20 20 20 
 3665  FE7C9A  1C3A 1F00 FEFF           .DW     TYIPTR, $001F,  $FFFE
 3666  FE7CA0  A63B                     .DW     (20 + $14 + X)
 3667          003B92                   X:      .SET    (X + 20)
 3668  FE7CA2  0000 0200                .DW     $0000,  $0002
 3669  FE7CA6  49 4F 45 52 52           .DB     'IOERROR '
               4F 52 20 
 3670  FE7CAE  1C3A 1800 FEFF           .DW     TYIPTR, $0018,  $FFFE
 3671  FE7CB4  BA3B                     .DW     (20 + $14 + X)
 3672          003BA6                   X:      .SET    (X + 20)        
 3673  FE7CB6  C840 0200                .DW     TY1R,   $0002
 3674  FE7CBA  54 52 55 4E 43           .DB     'TRUNC   '
               20 20 20 
 3675  FE7CC2  1C3A 1300 FEFF           .DW     TYIPTR, $0013,  $FFFE
 3676  FE7CC8  CE3B                     .DW     (20 + $14 + X)
 3677          003BBA                   X:      .SET    (X + 20)
 3678  FE7CCA  C840 0200                .DW     TY1R,   $0002
 3679  FE7CCE  52 4F 55 4E 44           .DB     'ROUND   '
               20 20 20 
 3680  FE7CD6  1C3A 1400 FEFF           .DW     TYIPTR, $0014,  $FFFE
 3681  FE7CDC  E23B                     .DW     (20 + $14 + X)
 3682          003BCE                   X:      .SET    (X + 20)
 3683  FE7CDE  C840 0200                .DW     TY1R,   $0002
 3684  FE7CE2  53 49 4E 20 20           .DB     'SIN     '
               20 20 20 
 3685  FE7CEA  403A 0800 FEFF           .DW     TYRPTR, $0008,  $FFFE
 3686  FE7CF0  F63B                     .DW     (20 + $14 + X)
 3687          003BE2                   X:      .SET    (X + 20)
 3688  FE7CF2  C840 0200                .DW     TY1R,   $0002
 3689  FE7CF6  43 4F 53 20 20           .DB     'COS     '
               20 20 20 
 3690  FE7CFE  403A 0900 FEFF           .DW     TYRPTR, $0009,  $FFFE
 3691  FE7D04  0A3C                     .DW     (20 + $14 + X)
 3692          003BF6                   X:      .SET    (X + 20)
 3693  FE7D06  C840 0200                .DW     TY1R,   $0002
 3694  FE7D0A  54 41 4E 20 20           .DB     'TAN     '
               20 20 20 
 3695  FE7D12  403A 0A00 FEFF           .DW     TYRPTR, $000A,  $FFFE
 3696  FE7D18  1E3C                     .DW     (20 + $14 + X)
 3697          003C0A                   X:      .SET    (X + 20)        
 3698  FE7D1A  C840 0200                .DW     TY1R,   $0002
 3699  FE7D1E  45 58 50 20 20           .DB     'EXP     '
               20 20 20 
 3700  FE7D26  403A 0C00 FEFF           .DW     TYRPTR, $000C,  $FFFE
 3701  FE7D2C  323C                     .DW     (20 + $14 + X)
 3702          003C1E                   X:      .SET    (X + 20)        
 3703  FE7D2E  C840 0200                .DW     TY1R,   $0002
 3704  FE7D32  45 58 50 31 30           .DB     'EXP10   '
               20 20 20 
 3705  FE7D3A  403A 2D00 FEFF           .DW     TYRPTR, $002D,  $FFFE
 3706  FE7D40  463C                     .DW     (20 + $14 + X)
 3707          003C32                   X:      .SET    (X + 20)
 3708  FE7D42  C840 0200                .DW     TY1R,   $0002
 3709  FE7D46  4C 4E 20 20 20           .DB     'LN      '
  Tue Jul 17 11:00:23 2018                                                                                               Page    5




               20 20 20 
 3710  FE7D4E  403A 0D00 FEFF           .DW     TYRPTR, $000D,  $FFFE
 3711  FE7D54  5A3C                     .DW     (20 + $14 + X)
 3712          003C46                   X:      .SET    (X + 20)
 3713  FE7D56  C840 0200                .DW     TY1R,   $0002
 3714  FE7D5A  4C 4F 47 20 20           .DB     'LOG     '
               20 20 20 
 3715  FE7D62  403A 2E00 FEFF           .DW     TYRPTR, $002E,  $FFFE
 3716  FE7D68  6E3C                     .DW     (20 + $14 + X)
 3717          003C5A                   X:      .SET    (X + 20)
 3718  FE7D6A  C840 0200                .DW     TY1R,   $0002
 3719  FE7D6E  53 51 52 54 20           .DB     'SQRT    '
               20 20 20 
 3720  FE7D76  403A 0E00 FEFF           .DW     TYRPTR, $000E,  $FFFE
 3721  FE7D7C  823C                     .DW     (20 + $14 + X)
 3722          003C6E                   X:      .SET    (X + 20)
 3723  FE7D7E  C840 0200                .DW     TY1R,   $0002
 3724  FE7D82  41 52 43 54 41           .DB     'ARCTAN  '
               4E 20 20 
 3725  FE7D8A  403A 0B00 FEFF           .DW     TYRPTR, $000B,  $FFFE
 3726  FE7D90  963C                     .DW     (20 + $14 + X)
 3727          003C82                   X:      .SET    (X + 20)
 3728  FE7D92  F240 0200                .DW     TY2R,   $0002
 3729  FE7D96  52 41 49 53 45           .DB     'RAISEXY '
               58 59 20 
 3730  FE7D9E  403A 0F00 FEFF           .DW     TYRPTR, $000F,  $FFFE
 3731  FE7DA4  AA3C                     .DW     (20 + $14 + X)  
 3732          003C96                   X:      .SET    (X + 20)
 3733  FE7DA6  F840 0200                .DW     TY1R1I, $0002
 3734  FE7DAA  4E 52 41 49 53           .DB     'NRAISE  '
               45 20 20 
 3735  FE7DB2  403A 2F00 FEFF           .DW     TYRPTR, $002F,  $FFFE
 3736  FE7DB8  BE3C                     .DW     (20 + $14 + X)  
 3737          003CAA                   X:      .SET    (X + 20)
 3738  FE7DBA  F840 0200                .DW     TY1R1I, $0002
 3739  FE7DBE  4E 52 4F 4F 54           .DB     'NROOT   '
               20 20 20 
 3740  FE7DC6  403A 1000 FEFF           .DW     TYRPTR, $0010,  $FFFE
 3741  FE7DCC  D23C                     .DW     (20 + $14 + X)  
 3742          003CBE                   X:      .SET    (X + 20)        
 3743  FE7DCE  0000 0200                .DW     $0000,  $0002
 3744  FE7DD2  52 41 4E 44 4F           .DB     'RANDOM  '
               4D 20 20 
 3745  FE7DDA  1C3A 1500 FEFF           .DW     TYIPTR, $0015,  $FFFE
 3746  FE7DE0  E63C                     .DW     (20 + $14 + X)
 3747          003CD2                   X:      .SET    (X + 20)
 3748  FE7DE2  0000 0200                .DW     $0000,  $0002
 3749  FE7DE6  47 45 54 4B 45           .DB     'GETKEY  '
               59 20 20 
 3750  FE7DEE  283A 1900 FEFF           .DW     TYCPTR, $0019,  $FFFE
 3751  FE7DF4  FA3C                     .DW     (20 + $14 + X)
 3752          003CE6                   X:      .SET    (X + 20)
 3753  FE7DF6  B640 0200                .DW     TY1T,   $0002
 3754  FE7DFA  46 52 44 48 45           .DB     'FRDHEX  '
               58 20 20 
 3755  FE7E02  1C3A 1A00 FEFF           .DW     TYIPTR, $001A,  $FFFE
 3756  FE7E08  0E3D                     .DW     (20 + $14 + X)
  Tue Jul 17 11:00:23 2018                                                                                               Page    6




 3757          003CFA                   X:      .SET    (X + 20)
 3758  FE7E0A  0000 0200                .DW     $0000,  $0002
 3759  FE7E0E  52 44 48 45 58           .DB     'RDHEX   '
               20 20 20 
 3760  FE7E16  1C3A 2000 FEFF           .DW     TYIPTR, $0020,  $FFFE
 3761  FE7E1C  223D                     .DW     (20 + $14 + X)
 3762          003D0E                   X:      .SET    (X + 20)
 3763  FE7E1E  AA40 0200                .DW     TY1I,   $0002
 3764  FE7E22  50 45 45 4B 42           .DB     'PEEKB   '
               20 20 20 
 3765  FE7E2A  1C3A 0000 FEFF           .DW     TYIPTR, $0000,  $FFFE
 3766  FE7E30  363D                     .DW     (20 + $14 + X)
 3767          003D22                   X:      .SET    (X + 20)
 3768  FE7E32  B040 0200                .DW     TY2I,   $0002
 3769  FE7E36  4C 50 45 45 4B           .DB     'LPEEKB  '
               42 20 20 
 3770  FE7E3E  1C3A 2300 FEFF           .DW     TYIPTR, $0023,  $FFFE
 3771  FE7E44  4A3D                     .DW     (20 + $14 + X)
 3772          003D36                   X:      .SET    (X + 20)
 3773  FE7E46  B040 0200                .DW     TY2I,   $0002
 3774  FE7E4A  4C 50 45 45 4B           .DB     'LPEEKW  '
               57 20 20 
 3775  FE7E52  1C3A 2400 FEFF           .DW     TYIPTR, $0024,  $FFFE
 3776  FE7E58  5E3D                     .DW     (20 + $14 + X)
 3777          003D4A                   X:      .SET    (X + 20)
 3778  FE7E5A  AA40 0200                .DW     TY1I,   $0002
 3779  FE7E5E  50 45 45 4B 42           .DB     'PEEKBZ  '
               5A 20 20 
 3780  FE7E66  1C3A 0200 FEFF           .DW     TYIPTR, $0002,  $FFFE
 3781  FE7E6C  723D                     .DW     (20 + $14 + X)
 3782          003D5E                   X:      .SET    (X + 20)
 3783  FE7E6E  AA40 0200                .DW     TY1I,   $0002
 3784  FE7E72  50 45 45 4B 57           .DB     'PEEKW   '
               20 20 20 
 3785  FE7E7A  1C3A 0100 FEFF           .DW     TYIPTR, $0001,  $FFFE
 3786  FE7E80  863D                     .DW     (20 + $14 + X)
 3787          003D72                   X:      .SET    (X + 20)
 3788  FE7E82  FE40 0200                .DW     TY1P,   $0002
 3789  FE7E86  4F 52 44 50 20           .DB     'ORDP    '
               20 20 20 
 3790  FE7E8E  1C3A 0100 FEFF           .DW     TYIPTR, $0001,  $FFFE
 3791  FE7E94  9A3D                     .DW     (20 + $14 + X)
 3792          003D86                   X:      .SET    (X + 20)
 3793  FE7E96  AA40 0200                .DW     TY1I,   $0002
 3794  FE7E9A  50 45 45 4B 57           .DB     'PEEKWZ  '
               5A 20 20 
 3795  FE7EA2  1C3A 0300 FEFF           .DW     TYIPTR, $0003,  $FFFE
 3796  FE7EA8  AC3D                     .DW     (18 + $14 + X)
 3797          003D9A                   X:      .SET    (X + 20)
 3798                           
 3799                           ;------------------------------------------------------
 3800  FE7EAA  0400                     .DW     $0004
 3801  FE7EAC  57 52 49 54 45           .DB     'WRITE   '
               20 20 20 
 3802  FE7EB4  0000 0000 0000           .DW     $0000,  $0000,  $0000
 3803  FE7EBA  BE3D                     .DW     (18 + $12 + X)
 3804          003DAC                   X:      .SET    (X + 18)
  Tue Jul 17 11:00:23 2018                                                                                               Page    7




 3805  FE7EBC  0400                     .DW     $0004
 3806  FE7EBE  57 52 49 54 45           .DB     'WRITELN '
               4C 4E 20 
 3807  FE7EC6  0000 0100 0000           .DW     $0000,  $0001,  $0000
 3808  FE7ECC  D03D                     .DW     (18 + $12 + X)
 3809          003DBE                   X:      .SET    (X + 18)
 3810  FE7ECE  0400                     .DW     $0004
 3811  FE7ED0  52 45 41 44 20           .DB     'READ    '
               20 20 20 
 3812  FE7ED8  0000 0200 0000           .DW     $0000,  $0002,  $0000
 3813  FE7EDE  E23D                     .DW     (18 + $12 + X)
 3814          003DD0                   X:      .SET    (X + 18)
 3815  FE7EE0  0400                     .DW     $0004
 3816  FE7EE2  52 45 41 44 4C           .DB     'READLN  '
               4E 20 20 
 3817  FE7EEA  0000 0300 0000           .DW     $0000,  $0003,  $0000
 3818  FE7EF0  F43D                     .DW     (18 + $12 + X)
 3819          003DE2                   X:      .SET    (X + 18)
 3820  FE7EF2  0400                     .DW     $0004
 3821  FE7EF4  4E 45 57 20 20           .DB     'NEW     '
               20 20 20 
 3822  FE7EFC  0000 0400 0000           .DW     $0000,  $0004,  $0000
 3823  FE7F02  063E                     .DW     (18 + $12 + X)
 3824          003DF4                   X:      .SET    (X + 18)
 3825  FE7F04  0400                     .DW     $0004
 3826  FE7F06  50 41 47 45 20           .DB     'PAGE    '
               20 20 20 
 3827  FE7F0E  0000 0500 0000           .DW     $0000,  $0005,  $0000
 3828  FE7F14  183E                     .DW     (18 + $12 + X)
 3829          003E06                   X:      .SET    (X + 18)
 3830  FE7F16  0400                     .DW     $0004
 3831  FE7F18  50 55 54 20 20           .DB     'PUT     '
               20 20 20 
 3832  FE7F20  0000 0600 0000           .DW     $0000,  $0006,  $0000
 3833  FE7F26  2A3E                     .DW     (18 + $12 + X)
 3834          003E18                   X:      .SET    (X + 18)
 3835  FE7F28  0400                     .DW     $0004
 3836  FE7F2A  47 45 54 20 20           .DB     'GET     '
               20 20 20 
 3837  FE7F32  0000 0700 0000           .DW     $0000,  $0007,  $0000
 3838  FE7F38  3C3E                     .DW     (18 + $12 + X)
 3839          003E2A                   X:      .SET    (X + 18)
 3840  FE7F3A  0400                     .DW     $0004
 3841  FE7F3C  52 45 53 45 54           .DB     'RESET   '
               20 20 20 
 3842  FE7F44  0000 0800 0000           .DW     $0000,  $0008,  $0000
 3843  FE7F4A  4E3E                     .DW     (18 + $12 + X)
 3844          003E3C                   X:      .SET    (X + 18)
 3845  FE7F4C  0400                     .DW     $0004
 3846  FE7F4E  52 45 57 52 49           .DB     'REWRITE '
               54 45 20 
 3847  FE7F56  0000 0900 0000           .DW     $0000,  $0009,  $0000
 3848  FE7F5C  603E                     .DW     (18 + $12 + X)
 3849          003E4E                   X:      .SET    (X + 18)
 3850  FE7F5E  0400                     .DW     $0004
 3851  FE7F60  44 49 53 50 4F           .DB     'DISPOSE '
               53 45 20 
  Tue Jul 17 11:00:23 2018                                                                                               Page    8




 3852  FE7F68  0000 0A00 0000           .DW     $0000,  $000A,  $0000
 3853  FE7F6E  723E                     .DW     (18 + $12 + X)
 3854          003E60                   X:      .SET    (X + 18)
 3855  FE7F70  0400                     .DW     $0004
 3856  FE7F72  50 41 43 4B 20           .DB     'PACK    '
               20 20 20 
 3857  FE7F7A  0000 0B00 0000           .DW     $0000,  $000B,  $0000
 3858  FE7F80  843E                     .DW     (18 + $12 + X)
 3859          003E72                   X:      .SET    (X + 18)
 3860  FE7F82  0400                     .DW     $0004
 3861  FE7F84  55 4E 50 41 43           .DB     'UNPACK  '
               4B 20 20 
 3862  FE7F8C  0000 0C00 0000           .DW     $0000,  $000C,  $0000
 3863  FE7F92  963E                     .DW     (18 + $12 + X)
 3864          003E84                   X:      .SET    (X + 18)
 3865  FE7F94  0400                     .DW     $0004
 3866  FE7F96  43 48 41 49 4E           .DB     'CHAIN   '
               20 20 20 
 3867  FE7F9E  0000 1100 0000           .DW     $0000,  $0011,  $0000
 3868  FE7FA4  A83E                     .DW     (18 + $12 + X)
 3869          003E96                   X:      .SET    (X + 18)
 3870  FE7FA6  0400                     .DW     $0004
 3871  FE7FA8  43 4C 4F 53 45           .DB     'CLOSE   '
               20 20 20 
 3872  FE7FB0  0000 1200 0000           .DW     $0000,  $0012,  $0000
 3873  FE7FB6  BC3E                     .DW     (20 + $12 + X)
 3874          003EA8                   X:      .SET    (X + 18)
 3875                           ;------------------------------------------------------
 3876  FE7FB8  CE40 0200                .DW     TY1P1I, $0002
 3877  FE7FBC  50 41 53 53 49           .DB     'PASSIGN '
               47 4E 20 
 3878  FE7FC4  0000 1200 FEFF           .DW     $0000,  $0012,  $FFFE
 3879  FE7FCA  D03E                     .DW     (20 + $14 + X)
 3880          003EBC                   X:      .SET    (X + 20)
 3881  FE7FCC  FE40 0200                .DW     TY1P, $0002
 3882  FE7FD0  50 43 4D 44 4C           .DB     'PCMDLINE'
               49 4E 45 
 3883  FE7FD8  0000 3000 FEFF           .DW     $0000,  $0030,  $FFFE
 3884  FE7FDE  E43E                     .DW     (20 + $14 + X)
 3885          003ED0                   X:      .SET    (X + 20)
 3886  FE7FE0  BC40 0200                .DW     TY1T1I, $0002
 3887  FE7FE4  46 57 52 48 45           .DB     'FWRHEXW '
               58 57 20 
 3888  FE7FEC  0000 0600 FEFF           .DW     $0000,  $0006,  $FFFE
 3889  FE7FF2  F83E                     .DW     (20 + $14 + X)
 3890          003EE4                   X:      .SET    (X + 20)
 3891  FE7FF4  AA40 0200                .DW     TY1I,   $0002
 3892  FE7FF8  57 52 48 45 58           .DB     'WRHEXW  '
               57 20 20 
 3893  FE8000  0000 2100 FEFF           .DW     $0000,  $0021,  $FFFE
 3894  FE8006  0C3F                     .DW     (20 + $14 + X)
 3895          003EF8                   X:      .SET    (X + 20)
 3896  FE8008  FE40 0200                .DW     TY1P,   $0002
 3897  FE800C  57 52 48 45 58           .DB     'WRHEXP  '
               50 20 20 
 3898  FE8014  0000 2100 FEFF           .DW     $0000,  $0021,  $FFFE
 3899  FE801A  203F                     .DW     (20 + $14 + X)
  Tue Jul 17 11:00:23 2018                                                                                               Page    9




 3900          003F0C                   X:      .SET    (X + 20)
 3901  FE801C  BC40 0200                .DW     TY1T1I, $0002
 3902  FE8020  46 57 52 48 45           .DB     'FWRHEXB '
               58 42 20 
 3903  FE8028  0000 0700 FEFF           .DW     $0000,  $0007,  $FFFE
 3904  FE802E  343F                     .DW     (20 + $14 + X)
 3905          003F20                   X:      .SET    (X + 20)
 3906  FE8030  AA40 0200                .DW     TY1I,   $0002
 3907  FE8034  57 52 48 45 58           .DB     'WRHEXB  '
               42 20 20 
 3908  FE803C  0000 2200 FEFF           .DW     $0000,  $0022,  $FFFE
 3909  FE8042  483F                     .DW     (20 + $14 + X)
 3910          003F34                   X:      .SET    (X + 20)
 3911  FE8044  C240 0200                .DW     TY1B,   $0002
 3912  FE8048  49 4F 54 52 41           .DB     'IOTRAP  '
               50 20 20 
 3913  FE8050  0000 1600 FEFF           .DW     $0000,  $0016,  $FFFE
 3914  FE8056  5C3F                     .DW     (20 + $14 + X)
 3915          003F48                   X:      .SET    (X + 20)
 3916  FE8058  C240 0200                .DW     TY1B,   $0002
 3917  FE805C  42 52 45 41 4B           .DB     'BREAKS  '
               53 20 20 
 3918  FE8064  0000 1700 FEFF           .DW     $0000,  $0017,  $FFFE
 3919  FE806A  703F                     .DW     (20 + $14 + X)
 3920          003F5C                   X:      .SET    (X + 20)
 3921  FE806C  B040 0200                .DW     TY2I,   $0002
 3922  FE8070  50 4F 4B 45 42           .DB     'POKEB   '
               20 20 20 
 3923  FE8078  0000 2500 FEFF           .DW     $0000,  $0025,  $FFFE
 3924  FE807E  843F                     .DW     (20 + $14 + X)
 3925          003F70                   X:      .SET    (X + 20)
 3926  FE8080  B040 0200                .DW     TY2I,   $0002
 3927  FE8084  50 4F 4B 45 57           .DB     'POKEW   '
               20 20 20 
 3928  FE808C  0000 2600 FEFF           .DW     $0000,  $0026,  $FFFE
 3929  FE8092  983F                     .DW     (20 + $14 + X)
 3930          003F84                   X:      .SET    (X + 20)
 3931  FE8094  B040 0200                .DW     TY2I,   $0002
 3932  FE8098  50 4F 4B 45 42           .DB     'POKEBZ  '
               5A 20 20 
 3933  FE80A0  0000 2700 FEFF           .DW     $0000,  $0027,  $FFFE
 3934  FE80A6  AC3F                     .DW     (20 + $14 + X)
 3935          003F98                   X:      .SET    (X + 20)
 3936  FE80A8  B040 0200                .DW     TY2I,   $0002
 3937  FE80AC  50 4F 4B 45 57           .DB     'POKEWZ  '
               5A 20 20 
 3938  FE80B4  0000 2800 FEFF           .DW     $0000,  $0028,  $FFFE
 3939  FE80BA  C03F                     .DW     (20 + $14 + X)
 3940          003FAC                   X:      .SET    (X + 20)
 3941  FE80BC  E640 0200                .DW     TY3I,   $0002
 3942  FE80C0  4C 50 4F 4B 45           .DB     'LPOKEB  '
               42 20 20 
 3943  FE80C8  0000 2900 FEFF           .DW     $0000,  $0029,  $FFFE
 3944  FE80CE  D43F                     .DW     (20 + $14 + X)
 3945          003FC0                   X:      .SET    (X + 20)
 3946  FE80D0  E640 0200                .DW     TY3I,   $0002
 3947  FE80D4  4C 50 4F 4B 45           .DB     'LPOKEW  '
  Tue Jul 17 11:00:23 2018                                                                                               Page   10




               57 20 20 
 3948  FE80DC  0000 2A00 FEFF           .DW     $0000,  $002A,  $FFFE
 3949  FE80E2  E63F                     .DW     (18 + $14 + X)
 3950          003FD4                   X:      .SET    (X + 20)
 3951                           ;------------------------------------------------------
 3952                           ; record 18 bytes
 3953  FE80E4  0300                     .DW     $0003
 3954  FE80E6  49 4E 54 45 47           .DB     'INTEGER '
               45 52 20 
 3955  FE80EE  1C3A 0000 0000           .DW     TYIPTR, $0000,  $0000
 3956  FE80F4  F83F                     .DW     (18 + $12 + X)
 3957          003FE6                   X:      .SET    (X + 18)
 3958  FE80F6  0300                     .DW     $0003
 3959  FE80F8  42 4F 4F 4C 45           .DB     'BOOLEAN '
               41 4E 20 
 3960  FE8100  343A 0000 0000           .DW     TYBPTR, $0000,  $0000
 3961  FE8106  0A40                     .DW     (18 + $12 + X)
 3962          003FF8                   X:      .SET    (X + 18)
 3963  FE8108  0300                     .DW     $0003
 3964  FE810A  43 48 41 52 20           .DB     'CHAR    '
               20 20 20 
 3965  FE8112  283A 0000 0000           .DW     TYCPTR, $0000,  $0000
 3966  FE8118  1C40                     .DW     (18 + $12 + X)
 3967          00400A                   X:      .SET    (X + 18)
 3968  FE811A  0300                     .DW     $0003
 3969  FE811C  52 45 41 4C 20           .DB     'REAL    '
               20 20 20 
 3970  FE8124  403A 0000 0000           .DW     TYRPTR, $0000,  $0000
 3971  FE812A  2E40                     .DW     (18 + $12 + X)
 3972          00401C                   X:      .SET    (X + 18)
 3973  FE812C  0300                     .DW     $0003
 3974  FE812E  54 45 58 54 20           .DB     'TEXT    '
               20 20 20 
 3975  FE8136  4C3A 0000 0000           .DW     TYTPTR, $0000,  $0000
 3976  FE813C  4040                     .DW     (18 + $12 + X)
 3977          00402E                   X:      .SET    (X + 18)
 3978  FE813E  0100                     .DW     $0001
 3979  FE8140  54 52 55 45 20           .DB     'TRUE    '
               20 20 20 
 3980  FE8148  343A 0100 0000           .DW     TYBPTR, $0001,  $0000
 3981  FE814E  5240                     .DW     (18 + $12 + X)
 3982          004040                   X:      .SET    (X + 18)
 3983  FE8150  0100                     .DW     $0001
 3984  FE8152  46 41 4C 53 45           .DB     'FALSE   '
               20 20 20 
 3985  FE815A  343A 0000 0000           .DW     TYBPTR, $0000,  $0000
 3986  FE8160  6440                     .DW     (18 + $12 + X)
 3987          004052                   X:      .SET    (X + 18)
 3988  FE8162  0100                     .DW     $0001
 3989  FE8164  4D 41 58 49 4E           .DB     'MAXINT  '
               54 20 20 
 3990  FE816C  1C3A FF7F 0000           .DW     TYIPTR, $7FFF,  $0000
 3991  FE8172  7840                     .DW     (20 + $12 + X)
 3992          004064                   X:      .SET    (X + 18)
 3993                           ;------------------------------------------------------
 3994                           ; record 20 bytes
 3995  FE8174  0000 0000                .DW     $0000,  $0000
  Tue Jul 17 11:00:23 2018                                                                                               Page   11




 3996  FE8178  49 4E 50 55 54           .DB     'INPUT   '
               20 20 20 
 3997  FE8180  4C3A 0000 0000           .DW     TYTPTR, $0000,  $0000
 3998  FE8186  8C40                     .DW     (20 + $14 + X)
 3999          004078                   X:      .SET    (X + 20)
 4000  FE8188  0000 0000                .DW     $0000,  $0000
 4001  FE818C  4F 55 54 50 55           .DB     'OUTPUT  '
               54 20 20 
 4002  FE8194  4C3A 0100 0000           .DW     TYTPTR, $0001,  $0000
 4003                                   ;.DW    $0000
 4004  FE819A  A440                     .DW     (24 + $14 + X)
 4005                                   ;X:     .SET    (X + 20)
 4006          00408E                   X:      .SET    (X + 22)
 4007  FE819C  0000 0FDA A200           .DW     $0000,$DA0F, $00A2, $0001
               0100 
 4008  FE81A4  50 49 20 20 20           .DB     'PI      '
               20 20 20 
 4009  FE81AC  403A 8249 0000           .DW     TYRPTR, $4982,  $0000
 4010                                   ;.DW    (20 + $14 + X)          ; last pointer = NULL
 4011  FE81B2  0000                     .DW     $0000
 4012          0040A4                   X:      .SET    (X + 22)
 4013  FE81B4                           
 4014          0040A4           PCROFS2 .EQU    X
 4015                           
 4016                           ; record (size = 6 bytes) that encode basic standard parametr's list
 4017  FE81B4  1C3A 0000 0000           .DW     TYIPTR, $0000,  $0000
 4018          0040AA           TY1I    .EQU    ((1*6) + PCROFS2)       ; 1 integer
 4019  FE81BA  1C3A 0000 AA40           .DW     TYIPTR, $0000,  TY1I 
 4020          0040B0           TY2I    .EQU    ((2*6) + PCROFS2)       ; 2 integer
 4021  FE81C0  4C3A 0000 0000           .DW     TYTPTR, $0000,  $0000 
 4022          0040B6           TY1T    .EQU    ((3*6) + PCROFS2)       ; 1 text
 4023  FE81C6  4C3A 0000 AA40           .DW     TYTPTR, $0000,  TY1I 
 4024          0040BC           TY1T1I  .EQU    ((4*6) + PCROFS2)       ; 1 text, 1 integer
 4025  FE81CC  343A 0000 0000           .DW     TYBPTR, $0000,  $0000 
 4026          0040C2           TY1B    .EQU    ((5*6) + PCROFS2)       ; 1 boolean
 4027  FE81D2  403A 0000 0000           .DW     TYRPTR, $0000,  $0000 
 4028          0040C8           TY1R    .EQU    ((6*6) + PCROFS2)       ; 1 real
 4029  FE81D8  0000 0100 AA40           .DW     $0000,  $0001,  TY1I 
 4030          0040CE           TY1P1I  .EQU    ((7*6) + PCROFS2)       ; 1 var pointer, 1 integer
 4031  FE81DE  283A 0000 0000           .DW     TYCPTR, $0000,  $0000 
 4032          0040D4           TY1C    .EQU    ((8*6) + PCROFS2)       ; 1 char
 4033  FE81E4  1C3A 0000 D440           .DW     TYIPTR, $0000,  TY1C
 4034          0040DA           TY1I1C  .EQU    ((9*6) + PCROFS2)       ; 1 integer, 1 char
 4035  FE81EA  1C3A 0000 DA40           .DW     TYIPTR, $0000,  TY1I1C
 4036          0040E0           TY2I1C  .EQU    ((10*6) + PCROFS2)      ; 2 integer, 1 char
 4037  FE81F0  1C3A 0000 B040           .DW     TYIPTR, $0000,  TY2I
 4038          0040E6           TY3I    .EQU    ((11*6) + PCROFS2)      ; 3 integer
 4039  FE81F6  1C3A 0000 E640           .DW     TYIPTR, $0000,  TY3I
 4040          0040EC           TY4I    .EQU    ((12*6) + PCROFS2)      ; 4 integer
 4041  FE81FC  403A 0000 C840           .DW     TYRPTR, $0000,  TY1R 
 4042          0040F2           TY2R    .EQU    ((13*6) + PCROFS2)      ; 2 real
 4043  FE8202  403A 0000 AA40           .DW     TYRPTR, $0000,  TY1I 
 4044          0040F8           TY1R1I  .EQU    ((14*6) + PCROFS2)      ; 1 real, 1 integer
 4045  FE8208  0000 0100 0000           .DW     $0000,  $0001, $0000
 4046          0040FE           TY1P    .EQU    ((15*6) + PCROFS2)      ; 1 var pointer
 4047                           ;       .DW     $0000, $0001, TY1P
 4048                           ;TY2P   .EQU    ((16*6) + PCROFS2)      ; 2 var pointer
  Tue Jul 17 11:00:23 2018                                                                                               Page   12




 4049                           
 4050                           
 4051                           ;PCTORSIZ       .EQU    ($ - PCTORAM)
 4052          0040FE           PCTORSIZ        .EQU    ($ - PCCOMP)
 4053                           
 4054  FE820E                   PCRSWD:
 4055  FE820E  41 4E 44 20 41     .DB   'AND ARRAY BEGIN CASE CONST DIV DO DOWNTO ELSE END EXTERN FILE FOR '
               52 52 41 59 20 
               42 45 47 49 4E 
               20 43 41 53 45 
               20 43 4F 4E 53 
               54 20 44 49 56 
               20 44 4F 20 44 
               4F 57 4E 54 4F 
               20 45 4C 53 45 
               20 45 4E 44 20 
               45 58 54 45 52 
               4E 20 46 49 4C 
               45 20 46 4F 52 
               20 
 4056  FE8250  46 4F 52 57 41     .DB   'FORWARD FUNCTION GOTO IF IN LABEL MOD NIL NOT OF OR PACKED PROCEDUR '
               52 44 20 46 55 
               4E 43 54 49 4F 
               4E 20 47 4F 54 
               4F 20 49 46 20 
               49 4E 20 4C 41 
               42 45 4C 20 4D 
               4F 44 20 4E 49 
               4C 20 4E 4F 54 
               20 4F 46 20 4F 
               52 20 50 41 43 
               4B 45 44 20 50 
               52 4F 43 45 44 
               55 52 20 
 4057  FE8294  50 52 4F 47 52     .DB   'PROGRAM RECORD REPEAT THEN TO TYPE UNTIL VAR WITH WHILE SET ',0
               41 4D 20 52 45 
               43 4F 52 44 20 
               52 45 50 45 41 
               54 20 54 48 45 
               4E 20 54 4F 20 
               54 59 50 45 20 
               55 4E 54 49 4C 
               20 56 41 52 20 
               57 49 54 48 20 
               57 48 49 4C 45 
               20 53 45 54 20 
               00 
 4058  FE82D1                           
 4059                           ; pointer to basic standard type - copied to stack by compiler
 4060  FE82D1                   PCTYPEREC:
 4061  FE82D1  4C3A 403A 343A           .DW     TYTPTR, TYRPTR, TYBPTR, TYCPTR, TYIPTR, $0001, $0001, $0000
               283A 1C3A 0100 
               0100 0000 
 4062  FE82E1  0000 0000                .DW     $0000, $0000
 4063                           
 4064                           ;>275E 7A 21 00 00 00 00        2764 1 integer
 4065                           ;>2764 7A 21 00 00 64 27        276A 2 integer
  Tue Jul 17 11:00:23 2018                                                                                               Page   13




 4066                           ;>276A AA 21 00 00 00 00        2770 1 text
 4067                           ;>2770 AA 21 00 00 64 27        2776 1 text 1 integer
 4068                           ;>2776 92 21 00 00 00 00        277C 1 boolean
 4069                           ;>277C 9E 21 00 00 00 00        2782 1 real
 4070                           ;>2782 00 00 01 00 64 27        2788 1 integer byte ORIGIN(pointer, address)
 4071                           ;>2788 86 21 00 00 00 00        278E 1 char
 4072                           ;>278E 7A 21 00 00 8E 27        2794 1 integer 1 char
 4073                           ;>2794 7A 21 00 00 94 27        279A 2 integer 1 char VDU(row,col, char)
 4074                           ;>279A 7A 21 00 00 6A 27        27A0 3 integer
 4075                           ;>27A0 7A 21 00 00 A0 27        27A6 4 integer
 4076                           ;>27A6 7A 21 00 00 A6 27        27AC 5 integer 
 4077                           ;>27AC


             Lines Assembled : 4067                  Errors : 0