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