.Xlist Page 58,132 Subttl EQUATES.INC Apple Emulator (65C02 Processor) ;****************************************************************************** ; ; Name: EQUATES Apple Emulator (65C02 Processor) ; ; Group: Emulator ; ; Revision: 1.00 ; ; Date: January 30, 1988 ; ; Author: Randy W. Spurlock ; ;****************************************************************************** ; ; Module Functional Description: ; ; This module contains all the equates needed by the ; Apple emulator. This module can be included with any needed ; source files to define the Apple emulator equates. ; ;****************************************************************************** ; ; Changes: ; ; DATE REVISION DESCRIPTION ; -------- -------- ------------------------------------------------------- ; 1/30/88 1.00 Original ; ;****************************************************************************** OP_SIZE Equ 80h ; Op-code size (128 Bytes) OP_BASE Equ 01h ; Op-code base (Op_Size Log 2) STACK_SIZE Equ 4000h ; 16k emulator stack size PRIVATE_SIZE Equ 0100h ; Private stack size value RAM_SIZE Equ 1000h ; Apple RAM space size (64k) CGA_SEGMENT Equ 0B800h ; CGA Video RAM segment value EGA_SEGMENT Equ 0A000h ; EGA Video RAM segment value STACK_TOP Equ 01FFh ; Default 65C02 stack top FILLER Equ 00h ; Filler byte value SLOT_MAX Equ 08h ; Number of expansion slots INPUT_SIZE Equ 50h ; Input buffer size (Bytes) PARM_SIZE Equ 80h ; Parameter buffer size (Bytes) DATA_SIZE Equ 40h ; Data buffer size (Bytes) BREAKPOINTS Equ 0Ah ; Number of breakpoint entries HARDWARE_PAGE Equ 0C0h ; Hardware page number PAGE_SIZE Equ 0100h ; 65C02 memory page size (Bytes) BIOS Equ 0040h ; ROM BIOS data segment OFF_CURSOR Equ 2000h ; Cursor off start/end values ON_CURSOR Equ 0607h ; Cursor on start/end values ;****************************************************************************** ; ; DEFINE THE COUNT TABLE ; ;****************************************************************************** ;COUNT TICKS C00 EQU 7 ; 00h C01 EQU 6 ; 01h C02 EQU 0 ; 02h C03 EQU 0 ; 03h C04 EQU 5 ; 04h C05 EQU 3 ; 05h C06 EQU 5 ; 06h C07 EQU 5 ; 07h C08 EQU 3 ; 08h C09 EQU 2 ; 09h C0A EQU 2 ; 0Ah C0B EQU 0 ; 0Bh C0C EQU 6 ; 0Ch C0D EQU 4 ; 0Dh C0E EQU 6 ; 0Eh C0F EQU 5 ; 0Fh C10 EQU 3 ; 10h C11 EQU 5 ; 11h C12 EQU 5 ; 12h C13 EQU 0 ; 13h C14 EQU 5 ; 14h C15 EQU 4 ; 15h C16 EQU 6 ; 16h C17 EQU 5 ; 17h C18 EQU 2 ; 18h C19 EQU 4 ; 19h C1A EQU 2 ; 1Ah C1B EQU 0 ; 1Bh C1C EQU 6 ; 1Ch C1D EQU 4 ; 1Dh C1E EQU 7 ; 1Eh C1F EQU 5 ; 1Fh C20 EQU 6 ; 20h C21 EQU 6 ; 21h C22 EQU 0 ; 22h C23 EQU 0 ; 23h C24 EQU 3 ; 24h C25 EQU 3 ; 25h C26 EQU 5 ; 26h C27 EQU 5 ; 27h C28 EQU 4 ; 28h C29 EQU 2 ; 29h C2A EQU 2 ; 2Ah C2B EQU 0 ; 2Bh C2C EQU 4 ; 2Ch C2D EQU 4 ; 2Dh C2E EQU 6 ; 2Eh C2F EQU 5 ; 2Fh C30 EQU 3 ; 30h C31 EQU 5 ; 31h C32 EQU 5 ; 32h C33 EQU 0 ; 33h C34 EQU 4 ; 34h C35 EQU 4 ; 35h C36 EQU 6 ; 36h C37 EQU 5 ; 37h C38 EQU 2 ; 38h C39 EQU 4 ; 39h C3A EQU 2 ; 3Ah C3B EQU 0 ; 3Bh C3C EQU 4 ; 3Ch C3D EQU 4 ; 3Dh C3E EQU 7 ; 3Eh C3F EQU 5 ; 3Fh C40 EQU 6 ; 40h C41 EQU 6 ; 41h C42 EQU 0 ; 42h C43 EQU 0 ; 43h C44 EQU 0 ; 44h C45 EQU 3 ; 45h C46 EQU 5 ; 46h C47 EQU 5 ; 47h C48 EQU 3 ; 48h C49 EQU 2 ; 49h C4A EQU 2 ; 4Ah C4B EQU 0 ; 4Bh C4C EQU 3 ; 4Ch C4D EQU 4 ; 4Dh C4E EQU 6 ; 4Eh C4F EQU 5 ; 4Fh C50 EQU 3 ; 50h C51 EQU 5 ; 51h C52 EQU 5 ; 52h C53 EQU 0 ; 53h C54 EQU 0 ; 54h C55 EQU 4 ; 55h C56 EQU 6 ; 56h C57 EQU 5 ; 57h C58 EQU 2 ; 58h C59 EQU 4 ; 59h C5A EQU 3 ; 5Ah C5B EQU 0 ; 5Bh C5C EQU 0 ; 5Ch C5D EQU 4 ; 5Dh C5E EQU 7 ; 5Eh C5F EQU 5 ; 5Fh C60 EQU 6 ; 60h C61 EQU 6 ; 61h C62 EQU 0 ; 62h C63 EQU 0 ; 63h C64 EQU 3 ; 64h C65 EQU 3 ; 65h C66 EQU 5 ; 66h C67 EQU 5 ; 67h C68 EQU 4 ; 68h C69 EQU 2 ; 69h C6A EQU 2 ; 6Ah C6B EQU 0 ; 6Bh C6C EQU 6 ; 6Ch C6D EQU 4 ; 6Dh C6E EQU 6 ; 6Eh C6F EQU 5 ; 6Fh C70 EQU 3 ; 70h C71 EQU 5 ; 71h C72 EQU 5 ; 72h C73 EQU 0 ; 73h C74 EQU 4 ; 74h C75 EQU 4 ; 75h C76 EQU 6 ; 76h C77 EQU 5 ; 77h C78 EQU 2 ; 78h C79 EQU 4 ; 79h C7A EQU 4 ; 7Ah C7B EQU 0 ; 7Bh C7C EQU 6 ; 7Ch C7D EQU 4 ; 7Dh C7E EQU 7 ; 7Eh C7F EQU 5 ; 7Fh C80 EQU 3 ; 80h C81 EQU 6 ; 81h C82 EQU 0 ; 82h C83 EQU 0 ; 83h C84 EQU 3 ; 84h C85 EQU 3 ; 85h C86 EQU 3 ; 86h C87 EQU 5 ; 87h C88 EQU 2 ; 88h C89 EQU 2 ; 89h C8A EQU 2 ; 8Ah C8B EQU 0 ; 8Bh C8C EQU 4 ; 8Ch C8D EQU 4 ; 8Dh C8E EQU 4 ; 8Eh C8F EQU 5 ; 8Fh C90 EQU 3 ; 90h C91 EQU 6 ; 91h C92 EQU 5 ; 92h C93 EQU 0 ; 93h C94 EQU 4 ; 94h C95 EQU 4 ; 95h C96 EQU 4 ; 96h C97 EQU 5 ; 97h C98 EQU 2 ; 98h C99 EQU 5 ; 99h C9A EQU 2 ; 9Ah C9B EQU 0 ; 9Bh C9C EQU 4 ; 9Ch C9D EQU 5 ; 9Dh C9E EQU 5 ; 9Eh C9F EQU 5 ; 9Fh CA0 EQU 2 ; A0h CA1 EQU 6 ; A1h CA2 EQU 2 ; A2h CA3 EQU 0 ; A3h CA4 EQU 3 ; A4h CA5 EQU 3 ; A5h CA6 EQU 3 ; A6h CA7 EQU 5 ; A7h CA8 EQU 2 ; A8h CA9 EQU 2 ; A9h CAA EQU 2 ; AAh CAB EQU 0 ; ABh CAC EQU 4 ; ACh CAD EQU 4 ; ADh CAE EQU 4 ; AEh CAF EQU 5 ; AFh CB0 EQU 3 ; B0h CB1 EQU 5 ; B1h CB2 EQU 5 ; B2h CB3 EQU 0 ; B3h CB4 EQU 4 ; B4h CB5 EQU 4 ; B5h CB6 EQU 4 ; B6h CB7 EQU 5 ; B7h CB8 EQU 2 ; B8h CB9 EQU 4 ; B9h CBA EQU 2 ; BAh CBB EQU 0 ; BBh CBC EQU 4 ; BCh CBD EQU 4 ; BDh CBE EQU 4 ; BEh CBF EQU 5 ; BFh CC0 EQU 2 ; C0h CC1 EQU 6 ; C1h CC2 EQU 0 ; C2h CC3 EQU 0 ; C3h CC4 EQU 3 ; C4h CC5 EQU 3 ; C5h CC6 EQU 5 ; C6h CC7 EQU 5 ; C7h CC8 EQU 2 ; C8h CC9 EQU 2 ; C9h CCA EQU 2 ; CAh CCB EQU 0 ; CBh CCC EQU 4 ; CCh CCD EQU 4 ; CDh CCE EQU 6 ; CEh CCF EQU 5 ; CFh CD0 EQU 3 ; D0h CD1 EQU 5 ; D1h CD2 EQU 5 ; D2h CD3 EQU 0 ; D3h CD4 EQU 0 ; D4h CD5 EQU 4 ; D5h CD6 EQU 6 ; D6h CD7 EQU 5 ; D7h CD8 EQU 2 ; D8h CD9 EQU 4 ; D9h CDA EQU 3 ; DAh CDB EQU 0 ; DBh CDC EQU 0 ; DCh CDD EQU 4 ; DDh CDE EQU 7 ; DEh CDF EQU 5 ; DFh CE0 EQU 2 ; E0h CE1 EQU 6 ; E1h CE2 EQU 0 ; E2h CE3 EQU 0 ; E3h CE4 EQU 3 ; E4h CE5 EQU 3 ; E5h CE6 EQU 5 ; E6h CE7 EQU 5 ; E7h CE8 EQU 2 ; E8h CE9 EQU 2 ; E9h CEA EQU 2 ; EAh CEB EQU 0 ; EBh CEC EQU 4 ; ECh CED EQU 4 ; EDh CEE EQU 6 ; EEh CEF EQU 5 ; EFh CF0 EQU 3 ; F0h CF1 EQU 5 ; F1h CF2 EQU 5 ; F2h CF3 EQU 0 ; F3h CF4 EQU 0 ; F4h CF5 EQU 4 ; F5h CF6 EQU 6 ; F6h CF7 EQU 5 ; F7h CF8 EQU 2 ; F8h CF9 EQU 4 ; F9h CFA EQU 4 ; FAh CFB EQU 0 ; FBh CFC EQU 0 ; FCh CFD EQU 4 ; FDh CFE EQU 7 ; FEh CFF EQU 5 ; FFh ;****************************************************************************** ; ; Define the 65C02 Interrupt Vector Addresses ; ;****************************************************************************** IRQ_VECTOR Equ 0FFFEh ; IRQ interrupt vector address BRK_VECTOR Equ 0FFFEh ; BRK interrupt vector address RST_VECTOR Equ 0FFFCh ; RESET interrupt vector address NMI_VECTOR Equ 0FFFAh ; NMI interrupt vector address ABT_VECTOR Equ 0FFF8h ; ABORT interrupt vector address ;****************************************************************************** ; ; Define the BIOS equates needed ; ;****************************************************************************** VIDEO Equ 10h ; BIOS video interrupt number SET_MODE Equ 00h ; Video set mode function code CURSOR_TYPE Equ 01h ; Video set cursor type code WRITE_CURSOR Equ 02h ; Video set cursor position code READ_CURSOR Equ 03h ; Video get cursor function code SET_PALETTE Equ 10h ; Video set pal. function code SET_ALL Equ 02h ; Program all sub-function PROGRAM_BLINK Equ 03h ; Program blink sub-function INTENSITY Equ 00h ; Blink off value (Intensity) BLINK Equ 01h ; Blink on value (Blink) ALT_SELECT Equ 12h ; Alt. select function code EGA_INFO Equ 10h ; Return EGA info. sub-function KEYBOARD Equ 16h ; BIOS keyboard int. number CHECK_KEY Equ 01h ; Check key status function code SHIFT_STATUS Equ 02h ; Get shift status function code ;****************************************************************************** ; ; Define the MS-DOS equates needed ; ;****************************************************************************** DOS Equ 21h ; MS-DOS interrupt number SET_DTA Equ 1Ah ; Set DTA function code SET_VECTOR Equ 25h ; Set interrupt vector code GET_VECTOR Equ 35h ; Get interrupt vector code OPEN_FILE Equ 3Dh ; Open file function code READ_ONLY Equ 00h ; Read only access code WRITE_ONLY Equ 01h ; Write only access code READ_WRITE Equ 02h ; Read/write access code CLOSE_FILE Equ 3Eh ; Close file function code READ_FILE Equ 3Fh ; Read file function code WRITE_FILE Equ 40h ; Write file function code SEEK_FILE Equ 42h ; Seek file function code ABSOLUTE Equ 00h ; Absolute file seek code RELATIVE Equ 01h ; Relative file seek code ALLOCATE_MEMORY Equ 48h ; Allocate memory function code FREE_MEMORY Equ 49h ; Free memory function code TERMINATE Equ 4Ch ; Terminate function code FIND_FIRST Equ 4Eh ; Find first function code FIND_NEXT Equ 4Fh ; Find next function code ;****************************************************************************** ; ; Define the Standard MS-DOS File Handles ; ;****************************************************************************** STD_INPUT Equ 00h ; Standard input handle STD_OUTPUT Equ 01h ; Standard output handle STD_ERROR Equ 02h ; Standard error handle STD_AUX Equ 03h ; Standard auxiliary handle STD_PRINT Equ 04h ; Standard print handle ;****************************************************************************** ; ; Define the 65C02 CPU flag byte (80x86 encoded format) ; ; ----------------- ; |7|6|5|4|3|2|1|0| ; ----------------- ; | | | | | | | | ; | | | | | | | -------> Carry flag (0 = No carry, 1 = Carry) ; | | | | | | ---------> Mode flag (0 = Binary, 1 = Decimal [BCD]) ; | | | | | -----------> Interrupt flag (0 = Not masked, 1 = Masked) ; | | | | -------------> Overflow flag (0 = No overflow, 1 = Overflow) ; | | | ---------------> Break flag (0 = Hardware, 1 = Software) ; | | -----------------> Reserved flag (Used for emulator break) ; | -------------------> Zero flag (0 = Non-zero, 1 = Zero) ; ---------------------> Negative flag (0 = Positive, 1 = Negative) ; ;****************************************************************************** CPU_C Equ 01h ; CPU carry flag CPU_M Equ 02h ; CPU mode flag CPU_I Equ 04h ; CPU interrupt disable flag CPU_V Equ 08h ; CPU overflow flag CPU_B Equ 10h ; CPU break flag CPU_R Equ 20h ; CPU reserved flag (Break) CPU_Z Equ 40h ; CPU zero flag CPU_N Equ 80h ; CPU negative flag ;****************************************************************************** ; ; Define the Apple system flag byte ; ; ----------------- ; |7|6|5|4|3|2|1|0| ; ----------------- ; | | | | | | | | ; | | | | | | | -------> Video type (0 = CGA, 1 = EGA) ; | | | | | | ---------> Display type (0 = CGA, 1 = EGA) ; | | | | | -----------> Interrupt status (0 = Normal, 1 = Patched) ; | | | | -------------> Video status (0 = Normal, 1 = Initialized) ; | | | ---------------> Keyboard status (0 = Normal, 1 = Input) ; | | -----------------> Mixed CPU status (0 = Normal, 1 = Mixed) ; | -------------------> Enhanced CPU status (0 = Normal, 1 = Enhanced) ; ---------------------> Config. data/Expression (0 = None, 1 = Present) ; ;****************************************************************************** EGA_TYPE Equ 01h ; EGA type system video EGA_DISPLAY Equ 02h ; EGA type display attached PATCHED Equ 04h ; Interrupts have been patched INITIALIZED Equ 08h ; Video has been initialized INPUT Equ 10h ; Keyboard is in input mode MIXED_CPU Equ 20h ; CPU type is mixed ENHANCED_CPU Equ 40h ; Enhanced CPU type (R65C02) CONFIG_DATA Equ 80h ; Configuration data present EXPRESSION Equ 80h ; Expression present ;****************************************************************************** ; ; Define the Video system flag byte ; ; ----------------- ; |7|6|5|4|3|2|1|0| ; ----------------- ; | | | | | | | | ; | | | | | | | -------> Video Mode (0 = Text, 1 = Graphics) ; | | | | | | ---------> Page Number (0 = Page 1, 1 = Page 2) ; | | | | | -----------> Resolution (0 = Low, 1 = High) ; | | | | -------------> Mixed Mode (0 = Normal, 1 = Mixed) ; | | | ---------------> Video Mode (1 = Text, 0 = Graphics) ; | | -----------------> Page Number (1 = Page 1, 0 = Page 2) ; | -------------------> Resolution (1 = Low, 0 = High) ; ---------------------> Mixed Mode (1 = Normal, 0 = Mixed) ; ;****************************************************************************** VIDEO_MODE Equ 01h ; Video mode test bit flag PAGE_NUMBER Equ 02h ; Page number test bit flag RESOLUTION Equ 04h ; Resolution test bit flag MIXED_MODE Equ 08h ; Mixed mode test bit flag VIDEO_INV Equ 10h ; Video mode inverted bit flag PAGE_INV Equ 20h ; Page number inverted bit flag RES_INV Equ 40h ; Resolution inverted bit flag MIXED_INV Equ 80h ; Mixed mode inverted bit flag ;****************************************************************************** ; ; Define the Emulator system flag byte (In priority order, right to left) ; ; ----------------- ; |7|6|5|4|3|2|1|0| ; ----------------- ; | | | | | | | | ; | | | | | | | -------> System Break Interrupt has Occurred ; | | | | | | ---------> System Trace Interrupt has Occurred ; | | | | | -----------> System Debug Interrupt has Occurred ; | | | | -------------> ***** Reserved ***** (Dummy interrupt) ; | | | ---------------> ***** Reserved ***** (Dummy interrupt) ; | | -----------------> ***** Reserved ***** (Dummy interrupt) ; | -------------------> System Reset Interrupt has Occurred ; ---------------------> System Request Interrupt has Occurred ; ;****************************************************************************** SYS_BREAK Equ 01h ; System break interrupt SYS_TRACE Equ 02h ; System trace interrupt SYS_DEBUG Equ 04h ; System debug interrupt SYS_RESET Equ 40h ; System reset interrupt SYS_REQUEST Equ 80h ; System request interrupt INT_REQUEST Equ 0FFh ; Any interrupt occurred test value ;****************************************************************************** ; ; Define the Language card flag byte ; ; ----------------- ; |7|6|5|4|3|2|1|0| ; ----------------- ; | | | | | | | | ; | | | | | | | -------> Write enable ; | | | | | | ---------> ***** Reserved ***** ; | | | | | -----------> ***** Reserved ***** ; | | | | -------------> ***** Reserved ***** ; | | | ---------------> ***** Reserved ***** ; | | -----------------> ***** Reserved ***** ; | -------------------> ***** Reserved ***** ; ---------------------> Read enable (Language RAM) ; ;****************************************************************************** WRITE_ENABLE Equ 01h ; Language card write enable flag READ_ENABLE Equ 80h ; Language card read enable flag ;****************************************************************************** ; ; Define the Disk Drive flag byte ; ; ----------------- ; |7|6|5|4|3|2|1|0| ; ----------------- ; | | | | | | | | ; | | | | | | | -------> Disk type (0 = 16, 1 = 13) ; | | | | | | ---------> Write protect (0 = Writable, 1 = Write protect) ; | | | | | -----------> Disk present (0 = No disk, 1 = Disk present) ; | | | | -------------> Motor status (0 = Off, 1 = On) ; | | | ---------------> Controller mode (0 = Input, 1 = Output) ; | | -----------------> Track modified (0 = Un-modified, 1 = Modified) ; | -------------------> Buffer valid (0 = Invalid, 1 = Valid) ; ---------------------> ***** Reserved ***** ; ;****************************************************************************** OLD_STYLE Equ 01h ; Old style disk type (13 Sectors/track) WRITE_PROTECT Equ 02h ; Disk write protect flag DISK_PRESENT Equ 04h ; Disk present flag MOTOR_ON Equ 08h ; Disk drive motor on flag OUTPUT_MODE Equ 10h ; Disk controller mode flag TRACK_MODIFIED Equ 20h ; Disk track modified flag BUFFER_VALID Equ 40h ; Disk track buffer valid flag ;****************************************************************************** ; ; Define the keyboard status byte ; ; ----------------- ; |7|6|5|4|3|2|1|0| ; ----------------- ; | | | | | | | | ; | | | | | | | -------> Shift key status (0 = Up, 1 = Down) ; | | | | | | ---------> Ctrl key status (0 = Up, 1 = Down) ; | | | | | -----------> Alt key status (0 = Up, 1 = Down) ; | | | | -------------> ***** Reserved ***** ; | | | ---------------> ***** Reserved ***** ; | | -----------------> Scroll lock key status (1 = Locked) ; | -------------------> Num lock key status (1 = Locked) ; ---------------------> Caps lock key status (1 = Locked) ; ;****************************************************************************** SCROLL_LOCKED Equ 20h ; Scroll locked (Special update mode) TYPE_SPECIAL Equ SCROLL_LOCKED ; Special update mode in effect NUM_LOCKED Equ 40h ; Num locked (Joystick mode) JOY_MODE Equ NUM_LOCKED ; Joystick mode in effect CAPS_LOCKED Equ 80h ; Caps locked (All caps) SHIFTED Equ 01h ; Shift key is being held down CTRLED Equ 02h ; Ctrl key is being held down ALTED Equ 04h ; Alt key is being held down AFFECTED Equ CAPS_LOCKED ; Affected by CAPS lock status NOT_AFFECTED Equ 00h ; Not affected by CAPS lock status ;****************************************************************************** ; ; Define the CGA color set equates ; ; Color Number Color Name ; ------------ ---------- ; ; 0 Black ; 1 Blue ; 2 Green ; 3 Cyan ; 4 Red ; 5 Magenta ; 6 Brown ; 7 White ; 8 Gray ; 9 Light Blue ; A Light Green ; B Light Cyan ; C Light Red ; D Light Magenta ; E Yellow ; F Intense White ; ;****************************************************************************** BLACK Equ 00h ; Color 00h - Black BLUE Equ 01h ; Color 01h - Blue GREEN Equ 02h ; Color 02h - Green CYAN Equ 03h ; Color 03h - Cyan RED Equ 04h ; Color 04h - Red MAGENTA Equ 05h ; Color 05h - Magneta BROWN Equ 06h ; Color 06h - Brown WHITE Equ 07h ; Color 07h - White GRAY Equ 08h ; Color 08h - Gray LIGHT_BLUE Equ 09h ; Color 09h - Light Blue LIGHT_GREEN Equ 0Ah ; Color 0Ah - Light Green LIGHT_CYAN Equ 0Bh ; Color 0Bh - Light Cyan LIGHT_RED Equ 0Ch ; Color 0Ch - Light Red LIGHT_MAGENTA Equ 0Dh ; Color 0Dh - Light Magenta YELLOW Equ 0Eh ; Color 0Eh - Yellow INTENSE_WHITE Equ 0Fh ; Color 0Fh - Intense White INTENSE Equ 08h ; Intensity toggle value ;****************************************************************************** ; ; Define the ASCII Character Equate Values ; ;****************************************************************************** NULL Equ 00h ; ASCII code for null BELL Equ 07h ; ASCII code for bell BS Equ 08h ; ASCII code for backspace HT Equ 09h ; ASCII code for horizontal tab LF Equ 0Ah ; ASCII code for line feed VT Equ 0Bh ; ASCII code for vertical tab FF Equ 0Ch ; ASCII code for form feed CR Equ 0Dh ; ASCII code for carriage return EOF Equ 1Ah ; ASCII code for end-of-file ESCAPE Equ 1Bh ; ASCII escape character ZERO Equ "0" ; Zero character SPACE Equ " " ; Space character COMMA Equ "," ; Comma character COLON Equ ":" ; Colon character SEMI_COLON Equ ";" ; Semi-colon character PLUS Equ "+" ; Plus sign character MINUS Equ "-" ; Minus sign character EQUAL Equ "=" ; Equal sign character ASTERISK Equ "*" ; Asterisk character POINT Equ "." ; Decimal point character PERIOD Equ "." ; Period character SLASH Equ "/" ; Slash character BACK_SLASH Equ "\" ; Back-slash character OPEN_BRACKET Equ "[" ; Open bracket character CLOSE_BRACKET Equ "]" ; Close bracket character OPEN_BRACE Equ "{" ; Open brace character CLOSE_BRACE Equ "}" ; Close brace character OPEN_PAREN Equ "(" ; Open parenthesis character CLOSE_PAREN Equ ")" ; Close parenthesis character SINGLE_QUOTE Equ "'" ; Single quotation character DOUBLE_QUOTE Equ '"' ; Double quotation character AMPERSAND Equ "&" ; Ampersand character TILDE Equ "~" ; Tilde character EXCLAMATION Equ "!" ; Exclamation point character VERTICAL_BAR Equ "|" ; Vertical bar character LESS_THAN Equ "<" ; Less than character GREATER_THAN Equ ">" ; Greater than character CAROT Equ "^" ; Carot character PERCENT Equ "%" ; Percent sign character ;****************************************************************************** ; ; Define the input delimiter type values ; ; ----------------- ; |7|6|5|4|3|2|1|0| ; ----------------- ; | | | | | | | | ; | | | | | | | -------> Separator delimiter type flag ; | | | | | | ---------> Comment delimiter type flag ; | | | | | -----------> Section delimiter type flag ; | | | | -------------> End of line delimiter type flag ; | | | ---------------> End of data delimiter type flag ; | | -----------------> Filename delimiter type flag ; | -------------------> Assignment delimiter type flag ; ---------------------> Numeric delimiter type flag ; ;****************************************************************************** SEPARATOR_TYPE Equ 01h ; Separator delimiter type COMMENT_TYPE Equ 02h ; Comment delimiter type SECTION_TYPE Equ 04h ; Section delimiter type END_OF_LINE Equ 08h ; End of line delimiter type END_OF_DATA Equ 10h ; End of data delimiter type FILENAME_TYPE Equ 20h ; File name delimiter type ASSIGN_TYPE Equ 40h ; Assignment delimiter type NUMERIC_TYPE Equ 80h ; Numeric delimiter type ;****************************************************************************** ; ; Define the expression delimiter type values ; ; ----------------- ; |7|6|5|4|3|2|1|0| ; ----------------- ; | | | | | | | | ; | ----- ------- ; | | | ; | | ----------> Operation delimiter type value ; | -----------------> Special delimiter type value ; ---------------------> End of expression delimiter type flag ; ;****************************************************************************** OP_MASK Equ 0Fh ; Operation delimiter mask OP_AND Equ 01h ; Logical AND operation value OP_OR Equ 02h ; Logical OR operation value OP_XOR Equ 03h ; Logical XOR operation value OP_RIGHT Equ 04h ; Shift right operation value OP_LEFT Equ 05h ; Shift left operation value OP_MOD Equ 06h ; Modulus operation value OP_ADD Equ 07h ; Addition operation value OP_SUB Equ 08h ; Subtraction operation value OP_MUL Equ 09h ; Multiplication operation value OP_DIV Equ 0Ah ; Division operation value OP_NOT Equ 0Bh ; Logical NOT operation value OP_NEG Equ 0Ch ; Negation operation value OP_PUSH Equ 0Dh ; Push operation value OP_POP Equ 0Eh ; Pop operation value SPC_MASK Equ 30h ; Special delimiter mask SPC_STRING Equ 10h ; Special string delimiter value SPC_ASSIGN Equ 20h ; Special assign delimiter value SPC_LENGTH Equ 30h ; Special length delimiter value BASE_TYPE Equ 40h ; Base delimiter type flag BASE_MASK Equ 30h ; Base delimiter mask BASE_BINARY Equ 40h ; Binary base delimiter BASE_OCTAL Equ 50h ; Octal base delimiter BASE_DECIMAL Equ 60h ; Decimal base delimiter BASE_HEX Equ 70h ; Hexadecimal delimiter END_OF_EXPRESS Equ 80h ; End of expression delimiter ;****************************************************************************** ; ; Define the opcode instruction type values ; ; ----------------- ; |7|6|5|4|3|2|1|0| ; ----------------- ; | | | | | | | | ; | | ----------- ; | | | ; | | ------------> Addressing mode type value ; | -------------------> Instruction performs a write type ; ---------------------> Instruction performs a read type ; ;****************************************************************************** ADDRESS_MASK Equ 3Fh ; Addressing mode type mask READ Equ 80h ; Instruction performs a read WRITE Equ 40h ; Instruction performs a write ACCESS Equ READ + WRITE ; Instruction performs rd./wr. NONE Equ 00h ; Instruction self contained ;****************************************************************************** ; ; Define the debug breakpoint type values ; ; ----------------- ; |7|6|5|4|3|2|1|0| ; ----------------- ; | | | | | | | | ; | | ------- --- ; | | | | ; | | | --------> Breakpoint type value (Soft, Hard, Execute) ; | | --------------> ***** Reserved ***** ; | -------------------> Breakpoint enabled flag (1 = Enabled) ; ---------------------> Breakpoint used flag (1 = Used) ; ;****************************************************************************** BREAK_MASK Equ 03h ; Breakpoint type mask TYPE_SOFT Equ 00h ; Software type breakpoint TYPE_HARD Equ 01h ; Hardware type breakpoint TYPE_EXECUTE Equ 02h ; Execution type breakpoint TYPE_ENABLED Equ 40h ; Breakpoint enabled flag TYPE_USED Equ 80h ; Breakpoint used flag .List