Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:18
DEBASM.ASM                                                  Page     1-1


					PAGE	80,132 ;
					TITLE	DEBASM.ASM
				; CODE FOR THE ASSEMBLE COMMAND IN THE DEBUGGER
				
				.LIST
				
				
 0000				CODE	SEGMENT PUBLIC BYTE
 0000				CODE	ENDS
				
 0000				CONST	SEGMENT PUBLIC BYTE
				
					EXTRN	DBMN:BYTE,CSSAVE:WORD,REG8:BYTE,REG16:BYTE,SIZ8:BYTE
					EXTRN	SYNERR_PTR:BYTE,OPTAB:BYTE,MAXOP:ABS
				
 0000				CONST	ENDS
				
 0000				CSTACK	SEGMENT STACK
 0000				CSTACK	ENDS
				
 0000				DATA	SEGMENT PUBLIC BYTE
				
					EXTRN	HINUM:WORD,LOWNUM:WORD,ASSEM_CNT:BYTE
					EXTRN	ASSEM1:BYTE,ASSEM2:BYTE,ASSEM3:BYTE,ASSEM4:BYTE,ASSEM5:BYTE
					EXTRN	ASSEM6:BYTE,OPBUF:BYTE,OPCODE:WORD,REGMEM:BYTE,INDEX:WORD
					EXTRN	ASMADD:BYTE,ASMSP:WORD,MOVFLG:BYTE,SEGFLG:BYTE,TSTFLG:BYTE
					EXTRN	NUMFLG:BYTE,DIRFLG:BYTE,BYTEBUF:BYTE,F8087:BYTE,DIFLG:BYTE
					EXTRN	SIFLG:BYTE,BXFLG:BYTE,BPFLG:BYTE,NEGFLG:BYTE,MEMFLG:BYTE
					EXTRN	REGFLG:BYTE,AWORD:BYTE,MIDFLD:BYTE,MODE:BYTE
					EXTRN	ARG_BUF:BYTE,HEX_PTR:BYTE
				
 0000				DATA	ENDS
				
				DG	GROUP	CODE,CONST,CSTACK,DATA
				
 0000				CODE	SEGMENT PUBLIC BYTE
				ASSUME	CS:DG,DS:DG,ES:DG,SS:DG
				
					PUBLIC	ASSEM
					PUBLIC	DB_OPER,DW_OPER,ASSEMLOOP,GROUP2,AA_OPER,DCINC_OPER
					PUBLIC	GROUP1,ESC_OPER,FGROUPP,FGROUPX,FDE_OPER,FGROUPZ
					PUBLIC	FD9_OPER,FGROUP,FDB_OPER,FGROUPB,FGROUP3,FGROUP3W
					PUBLIC	FGROUPDS,INT_OPER,IN_OPER,DISP8_OPER,JMP_OPER,NO_OPER
					PUBLIC	OUT_OPER,L_OPER,MOV_OPER,POP_OPER,PUSH_OPER,ROTOP
					PUBLIC	TST_OPER,EX_OPER,GET_DATA16,CALL_OPER, DOORG
				
					EXTRN	INBUF:NEAR,SCANB:NEAR,SCANP:NEAR,GETHX:NEAR,GET_ADDRESS:NEAR
					EXTRN	DEFAULT:NEAR,OUTDI:NEAR,BLANK:NEAR,TAB:NEAR
					EXTRN	STD_PRINTF:NEAR,PRINTF_CRLF:NEAR
				
				;	Line by line assembler
				
 = 00C0				MASKMOD EQU	11000000B
 = 0006				SHMOD	EQU	6
 = 0038				MASKREG EQU	00111000B
 = 0003				SHREG	EQU	3
 = 0007				MASKRM	EQU	00000111B
 = 0000				SHRM	EQU	0
				
 0000				ASSEM:
 0000  8B 2E 0000 E			MOV	BP,[CSSAVE]		; Default code segment
 0004  BF 0000 E			MOV	DI,OFFSET DG:ASMADD	; Default address
 0007  E8 0000 E			CALL	DEFAULT
 000A  89 16 0000 E			MOV	WORD PTR [ASMADD],DX	; Displacement of disassembly
 000E  A3 0002 E			MOV	WORD PTR [ASMADD+2],AX	; Segment
 0011  89 26 0000 E			MOV	[ASMSP],SP		; Save sp in case of error
				
 0015				ASSEMLOOP:
 0015  8B 26 0000 E			MOV	SP,[ASMSP]		; Restore sp in case of error
 0019  C4 3E 0000 E			LES	DI,DWORD PTR ASMADD	; GET PC
 001D  E8 0000 E			CALL	OUTDI			; OUTPUT ADDRESS
 0020  0E				PUSH	CS
 0021  07				POP	ES
 0022  57				PUSH	DI
 0023  BF 0000 E			MOV	DI,OFFSET DG:ARG_BUF
				; No spacing is needed.  The format string already has one.
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:18
DEBASM.ASM                                                  Page     1-2
                                                            

				;	CALL	BLANK			; SKIP A SPACE
 0026  32 C0				XOR	AL,AL
 0028  AA				STOSB
 0029  BA 0000 E			MOV	DX,OFFSET DG:HEX_PTR
 002C  E8 0000 E			CALL	STD_PRINTF
 002F  5F				POP	DI
 0030  E8 0000 E			CALL	INBUF			; GET A BUFFER
 0033  E8 0000 E			CALL	SCANB
 0036  75 01				JNZ	OPLOOK
 0038  C3				RET				; if empty just return
				
				;  At this point ds:si points to the opcode mnemonic...
 0039				OPLOOK:
 0039  33 C9				XOR	CX,CX			; OP-CODE COUNT = 0
 003B  BF 0000 E			MOV	DI,OFFSET DG:DBMN
 003E				OPSCAN:
 003E  33 DB				XOR	BX,BX
 0040				OPLOOP:
 0040  8A 01				MOV	AL,[DI+BX]
 0042  3A 00				CMP	AL,[SI+BX]
 0044  74 13				JZ	OPMATCH
 0046  41				INC	CX			; INCREMENT OP-CODE COUNT
 0047  81 F9 0000 E			CMP	CX,MAXOP		; CHECK FOR END OF LIST
 004B  72 03				JB	OP1
 004D  E9 0602 R			JMP	ASMERR
 0050				OP1:
 0050  47				INC	DI			; SCAN FOR NEXT OP-CODE...
 0051  80 7D FF 00			CMP	BYTE PTR [DI-1],0
 0055  75 F9				JNZ	OP1
 0057  EB E5				JMP	OPSCAN
				
 0059				OPMATCH:
 0059  43				INC	BX			; COMPARE NEXT CHAR
 005A  80 39 00				CMP	BYTE PTR [DI+BX],0	; ARE WE DONE?
 005D  75 E1				JNZ	OPLOOP			; ..IF NOT KEEP COMPARING
 005F  87 D9				XCHG	BX,CX
 0061  8B C3				MOV	AX,BX
 0063  D1 E0				SHL	AX,1
 0065  03 C3				ADD	AX,BX
 0067  05 0000 E			ADD	AX,OFFSET DG:OPTAB
 006A  8B D8				MOV	BX,AX
				
				; CX = COUNT OF CHARS IN OPCODE
				; BX = POINTER INTO OPCODE TABLE
				
 006C  33 C0				XOR	AX,AX
 006E  A2 0000 E			MOV	BYTE PTR [AWORD],AL
 0071  A3 0000 E			MOV	WORD PTR [MOVFLG],AX	; MOVFLG + TSTFLG
 0074  A2 0000 E			MOV	BYTE PTR [SEGFLG],AL	; ZERO SEGMENT REGISTER FLAG
 0077  B4 0A				MOV	AH,00001010B		; SET UP FOR AA_OPER
 0079  8A 07				MOV	AL,BYTE PTR [BX]
 007B  A3 0000 E			MOV	WORD PTR [ASSEM1],AX
 007E  C6 06 0000 E 01			MOV	BYTE PTR [ASSEM_CNT],1
				
 0083  03 F1				ADD	SI,CX			; SI POINTS TO OPERAND
 0085  FF 67 01				JMP	WORD PTR [BX+1]
				
				; 8087 INSTRUCTIONS WITH NO OPERANDS
				
 0088				FDE_OPER:
 0088  B4 DE				MOV	AH,0DEH
 008A  EB 06				JMP	SHORT FDX_OPER
 008C				FDB_OPER:
 008C  B4 DB				MOV	AH,0DBH
 008E  EB 02				JMP	SHORT FDX_OPER
 0090				FD9_OPER:
 0090  B4 D9				MOV	AH,0D9H
 0092				FDX_OPER:
 0092  86 C4				XCHG	AL,AH
 0094  A3 0000 E			MOV	WORD PTR [ASSEM1],AX
				
				;  AAD AND AAM INSTRUCIONS
				
 0097				AA_OPER:
 0097  FE 06 0000 E			INC	BYTE PTR [ASSEM_CNT]
				
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:18
DEBASM.ASM                                                  Page     1-3
                                                            

				;  INSTRUCTIONS WITH NO OPERANDS
				
 009B				NO_OPER:
 009B  E8 08F3 R			CALL	STUFF_BYTES
 009E  E8 0000 E			CALL	SCANP
 00A1  0E				PUSH	CS
 00A2  07				POP	ES
 00A3  75 94				JNZ	OPLOOK
 00A5  E9 0015 R			JMP	ASSEMLOOP
				
				;  PUSH INSTRUCTION
				
 00A8				PUSH_OPER:
 00A8  B4 FF				MOV	AH,11111111B
 00AA  EB 02				JMP	SHORT POP1
				
				;  POP INSTRUCTION
				
 00AC				POP_OPER:
 00AC  B4 8F				MOV	AH,10001111B
 00AE				POP1:
 00AE  88 26 0000 E			MOV	[ASSEM1],AH
 00B2  A2 0000 E			MOV	[MIDFLD],AL
 00B5  FE 06 0000 E			INC	BYTE PTR [MOVFLG]	; ALLOW SEGMENT REGISTERS
 00B9  C6 06 0000 E 02			MOV	BYTE PTR [AWORD],2	; MUST BE 16 BITS
 00BE  E8 0677 R			CALL	GETREGMEM
 00C1  E8 061A R			CALL	BUILDIT
 00C4  8A 45 02				MOV	AL,[DI+2]
 00C7  3C C0				CMP	AL,11000000B
 00C9  72 44				JB	DATRET
 00CB  C6 05 01				MOV	BYTE PTR [DI],1
 00CE  80 3E 0000 E 02			CMP	BYTE PTR [MOVFLG],2
 00D3  75 0F				JNZ	POP2
 00D5  24 18				AND	AL,00011000B
 00D7  0C 06				OR	AL,00000110B
 00D9  80 3E 0000 E 00			CMP	BYTE PTR [MIDFLD],0
 00DE  75 11				JNZ	POP3
 00E0  0C 01				OR	AL,00000001B
 00E2  EB 0D				JMP	SHORT POP3
				
 00E4				POP2:
 00E4  24 07				AND	AL,MASKRM
 00E6  0C 50				OR	AL,01010000B
 00E8  80 3E 0000 E 00			CMP	BYTE PTR [MIDFLD],0
 00ED  75 02				JNZ	POP3
 00EF  0C 58				OR	AL,01011000B
 00F1				POP3:
 00F1  88 45 01				MOV	BYTE PTR [DI+1],AL
 00F4  E9 05FC R			JMP	ASSEM_EXIT
				
				; RET AND RETF INSTRUCTIONS
				
 00F7				GET_DATA16:
 00F7  E8 0000 E			CALL	SCANB
 00FA  B9 0004				MOV	CX,4
 00FD  E8 0000 E			CALL	GETHX
 0100  72 0D				JC	DATRET
 0102  FE 0E 0000 E			DEC	BYTE PTR [ASSEM1]	; CHANGE OP-CODE
 0106  80 06 0000 E 02			ADD	BYTE PTR [ASSEM_CNT],2	; UPDATE LENGTH
 010B  89 16 0000 E			MOV	WORD PTR [ASSEM2],DX	; SAVE OFFSET
 010F				DATRET:
 010F  E9 05FC R			JMP	ASSEM_EXIT
				
				
				;  INT INSTRUCTION
				
 0112				INT_OPER:
 0112  E8 0000 E			CALL	SCANB
 0115  B9 0002				MOV	CX,2
 0118  E8 0000 E			CALL	GETHX
 011B  72 1B				JC	ERRV1
 011D  8A C2				MOV	AL,DL
 011F  3C 03				CMP	AL,3
 0121  74 EC				JZ	DATRET
 0123  FE 06 0000 E			INC	BYTE PTR [ASSEM1]
 0127  E9 024B R			JMP	DISPX
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:18
DEBASM.ASM                                                  Page     1-4
                                                            

				
				;  IN INSTRUCTION
				
 012A				IN_OPER:
 012A  E8 0000 E			CALL	SCANB
 012D  AD				LODSW
 012E  3D 4C41				CMP	AX,'A'+4C00H            ; "AL"
 0131  74 0C				JZ	IN_1
 0133  3D 5841				CMP	AX,'A'+5800H            ; "AX"
 0136  74 03				JZ	IN_0
 0138				ERRV1:
 0138  E9 0602 R			JMP	ASMERR
 013B				IN_0:
 013B  FE 06 0000 E			INC	BYTE PTR [ASSEM1]
 013F				IN_1:
 013F  E8 0000 E			CALL	SCANP
 0142  81 3C 5844			CMP	WORD PTR [SI],'D'+5800H ; "DX"
 0146  74 C7				JZ	DATRET
 0148  B9 0002				MOV	CX,2
 014B  E8 0000 E			CALL	GETHX
 014E  72 E8				JC	ERRV1
 0150  80 26 0000 E F7			AND	BYTE PTR [ASSEM1],11110111B
 0155  8A C2				MOV	AL,DL
 0157  E9 024B R			JMP	DISPX
				
				;  OUT INSTRUCTION
				
 015A				OUT_OPER:
 015A  E8 0000 E			CALL	SCANB
 015D  81 3C 5844			CMP	WORD PTR [SI],'D'+5800H ; "DX"
 0161  75 04				JNZ	OUT_0
 0163  46				INC	SI
 0164  46				INC	SI
 0165  EB 15				JMP	SHORT OUT_1
 0167				OUT_0:
 0167  80 26 0000 E F7			AND	BYTE PTR [ASSEM1],11110111B
 016C  B9 0002				MOV	CX,2
 016F  E8 0000 E			CALL	GETHX
 0172  72 C4				JC	ERRV1
 0174  FE 06 0000 E			INC	BYTE PTR [ASSEM_CNT]
 0178  88 16 0000 E			MOV	BYTE PTR [ASSEM2],DL
 017C				OUT_1:
 017C  E8 0000 E			CALL	SCANP
 017F  AD				LODSW
 0180  3D 4C41				CMP	AX,'A'+4C00H            ; "AL"
 0183  74 8A				JZ	DATRET
 0185  3D 5841				CMP	AX,'A'+5800H            ; "AX"
 0188  75 AE				JNZ	ERRV1
 018A  FE 06 0000 E			INC	BYTE PTR [ASSEM1]
 018E  E9 010F R			JMP	DATRET
				
				
				;  JUMP INSTRUCTION
				
 0191				JMP_OPER:
 0191  FE 06 0000 E			INC	BYTE PTR [TSTFLG]
				
				;  CALL INSTRUCTION
				
 0195				CALL_OPER:
 0195  C6 06 0000 E FF			MOV	BYTE PTR [ASSEM1],11111111B
 019A  A2 0000 E			MOV	BYTE PTR [MIDFLD],AL
 019D  E8 0677 R			CALL	GETREGMEM
 01A0  E8 0636 R			CALL	BUILD3
 01A3  80 3E 0000 E 00			CMP	BYTE PTR [MEMFLG],0
 01A8  75 07				JNZ	CALLJ1
 01AA  80 3E 0000 E FF			CMP	BYTE PTR [REGMEM],-1
 01AF  74 14				JZ	CALLJ2
				
				;  INDIRECT JUMPS OR CALLS
				
 01B1				CALLJ1:
 01B1  80 3E 0000 E 01			CMP	BYTE PTR [AWORD],1
 01B6				ERRZ4:
 01B6  74 80				JZ	ERRV1
 01B8  80 3E 0000 E 04			CMP	BYTE PTR [AWORD],4
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:18
DEBASM.ASM                                                  Page     1-5
                                                            

 01BD  75 74				JNZ	ASMEX4
 01BF  80 4D 02 08			OR	BYTE PTR [DI+2],1000B
 01C3  EB 6E				JMP	SHORT ASMEX4
				
				;   DIRECT JUMPS OR CALLS
				
 01C5				CALLJ2:
 01C5  A1 0000 E			MOV	AX,[LOWNUM]
 01C8  8B 16 0000 E			MOV	DX,[HINUM]
 01CC  8A 1E 0000 E			MOV	BL,[AWORD]
 01D0  80 3E 0000 E 00			CMP	BYTE PTR [NUMFLG],0
 01D5  74 DF				JZ	ERRZ4
				
				;  BL = NUMBER OF BYTES IN JUMP
				;  DX = OFFSET
				;  AX = SEGMENT
				
 01D7				CALLJ3:
 01D7  C6 05 05				MOV	BYTE PTR [DI],5
 01DA  89 45 02				MOV	[DI+2],AX
 01DD  89 55 04				MOV	[DI+4],DX
				
 01E0  B0 9A				MOV	AL,10011010B		; SET UP INTER SEGMENT CALL
 01E2  80 3E 0000 E 00			CMP	BYTE PTR [TSTFLG],0
 01E7  74 02				JZ	CALLJ5
 01E9  B0 EA				MOV	AL,11101010B		; FIX UP FOR JUMP
 01EB				CALLJ5:
 01EB  88 45 01				MOV	BYTE PTR [DI+1],AL
 01EE  80 FB 04				CMP	BL,4			; FAR SPECIFIED?
 01F1  74 40				JZ	ASMEX4
 01F3  0A DB				OR	BL,BL
 01F5  75 06				JNZ	CALLJ6
 01F7  3B 16 0002 E			CMP	DX,WORD PTR [ASMADD+2]	; DIFFERENT SEGMENT?
 01FB  75 36				JNZ	ASMEX4
				
 01FD				CALLJ6:
 01FD  C6 05 03				MOV	BYTE PTR [DI],3
 0200  B0 E8				MOV	AL,11101000B		; SET UP FOR INTRASEGMENT
 0202  0A 06 0000 E			OR	AL,[TSTFLG]
 0206  88 45 01				MOV	BYTE PTR [DI+1],AL
				
 0209  A1 0000 E			MOV	AX,[LOWNUM]
 020C  2B 06 0000 E			SUB	AX,WORD PTR [ASMADD]
 0210  2D 0003				SUB	AX,3
 0213  89 45 02				MOV	[DI+2],AX
 0216  80 3E 0000 E 00			CMP	BYTE PTR [TSTFLG],0
 021B  74 16				JZ	ASMEX4
 021D  80 FB 02				CMP	BL,2
 0220  74 11				JZ	ASMEX4
				
 0222  40				INC	AX
 0223  8B C8				MOV	CX,AX
 0225  98				CBW
 0226  3B C1				CMP	AX,CX
 0228  75 28				JNZ	ASMEX3
 022A  C6 45 01 EB			MOV	BYTE PTR [DI+1],11101011B
 022E  89 45 02				MOV	[DI+2],AX
 0231  FE 0D				DEC	BYTE PTR [DI]
 0233				ASMEX4:
 0233  E9 05FC R			JMP	ASSEM_EXIT
				
				;  CONDITIONAL JUMPS AND LOOP INSTRUCTIONS
				
 0236				DISP8_OPER:
 0236  8B 2E 0002 E			MOV	BP,WORD PTR [ASMADD+2]	; GET DEFAULT DISPLACEMENT
 023A  E8 0000 E			CALL	GET_ADDRESS
 023D  2B 16 0000 E			SUB	DX,WORD PTR [ASMADD]
 0241  4A				DEC	DX
 0242  4A				DEC	DX
 0243  E8 0928 R			CALL	CHKSIZ
 0246  80 F9 01				CMP	CL,1
 0249  75 5B				JNZ	ERRV2
 024B				DISPX:
 024B  FE 06 0000 E			INC	[ASSEM_CNT]
 024F  A2 0000 E			MOV	BYTE PTR [ASSEM2],AL
 0252				ASMEX3:
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:18
DEBASM.ASM                                                  Page     1-6
                                                            

 0252  E9 05FC R			JMP	ASSEM_EXIT
				
				;  LDS, LES, AND LEA INSTRUCTIONS
				
 0255				L_OPER:
 0255  E8 0000 E			CALL	SCANB
 0258  AD				LODSW
 0259  B9 0008				MOV	CX,8
 025C  BF 0000 E			MOV	DI,OFFSET DG:REG16
 025F  E8 08E9 R			CALL	CHKREG
 0262  74 42				JZ	ERRV2			; CX = 0 MEANS NO REGISTER
 0264  D0 E0				SHL	AL,1
 0266  D0 E0				SHL	AL,1
 0268  D0 E0				SHL	AL,1
 026A  A2 0000 E			MOV	BYTE PTR [MIDFLD],AL
 026D  E8 0000 E			CALL	SCANP
 0270  E8 0677 R			CALL	GETREGMEM
 0273  80 3E 0000 E 00			CMP	BYTE PTR [AWORD],0
 0278  75 2C				JNZ	ERRV2
 027A  E8 0628 R			CALL	BUILD2
 027D  EB 24				JMP	SHORT ASEXV
				
				;  DEC AND INC INSTRUCTIONS
				
 027F				DCINC_OPER:
 027F  C6 06 0000 E FE			MOV	BYTE PTR [ASSEM1],11111110B
 0284  A2 0000 E			MOV	BYTE PTR [MIDFLD],AL
 0287  E8 0677 R			CALL	GETREGMEM
 028A  E8 061A R			CALL	BUILDIT
 028D  F6 45 01 01			TEST	BYTE PTR [DI+1],1
 0291  74 10				JZ	ASEXV
 0293  8A 45 02				MOV	AL,[DI+2]
 0296  3C C0				CMP	AL,MASKMOD
 0298  72 09				JB	ASEXV
 029A  24 0F				AND	AL,1111B
 029C  0C 40				OR	AL,01000000B
 029E  88 45 01				MOV	[DI+1],AL
 02A1  FE 0D				DEC	BYTE PTR [DI]
 02A3				ASEXV:
 02A3  E9 05FC R			JMP	ASSEM_EXIT
				
 02A6				ERRV2:
 02A6  E9 0602 R			JMP	ASMERR
				
				; ESC INSTRUCTION
				
 02A9				ESC_OPER:
 02A9  FE 06 0000 E			INC	BYTE PTR [AWORD]
 02AD  E8 0000 E			CALL	SCANB
 02B0  B9 0002				MOV	CX,2
 02B3  E8 0000 E			CALL	GETHX
 02B6  83 FA 40				CMP	DX,64
 02B9  73 EB				JAE	ERRV2
 02BB  E8 0000 E			CALL	SCANP
 02BE  8B C2				MOV	AX,DX
 02C0  B1 03				MOV	CL,3
 02C2  D3 EA				SHR	DX,CL
 02C4  08 16 0000 E			OR	[ASSEM1],DL
 02C8  24 07				AND	AL,111B
 02CA  D2 E0				SHL	AL,CL
 02CC  E9 036B R			JMP	GROUPE
				
				; 8087 ARITHMETIC INSTUCTIONS
				
				;  OPERANDS THAT ALLOW THE REVERSE BIT
				
 02CF				FGROUPDS:
 02CF  E8 0950 R			CALL	SETMID
 02D2  E8 067C R			CALL	GETREGMEM2
 02D5  E8 0636 R			CALL	BUILD3
 02D8  80 3E 0000 E C0			CMP	BYTE PTR [MODE],11000000B
 02DD  75 32				JNZ	FGROUP1
 02DF  A0 0000 E			MOV	AL,[DIRFLG]
 02E2  0A C0				OR	AL,AL
 02E4  74 2E				JZ	FEXIT
 02E6  08 45 01				OR	[DI+1],AL		; IF D=1...
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:18
DEBASM.ASM                                                  Page     1-7
                                                            

 02E9  80 75 02 08			XOR	BYTE PTR [DI+2],00001000B ; ...REVERSE THE SENSE OF R
 02ED  EB 25				JMP	SHORT FEXIT
				
				;  HERE WHEN INSTRUCTION COULD HAVE MEMORY OR REGISTER OPERAND
				
 02EF				FGROUPX:
 02EF  E8 0950 R			CALL	SETMID			; THIS ENTRY POINT FOR 1 MEM OPER
 02F2  C6 06 0000 E 00			MOV	BYTE PTR [DIRFLG],0
 02F7  EB 03				JMP	SHORT FGRP2
 02F9				FGROUP:
 02F9  E8 0950 R			CALL	SETMID
 02FC				FGRP2:
 02FC  E8 067C R			CALL	GETREGMEM2
 02FF  E8 0636 R			CALL	BUILD3
 0302  80 3E 0000 E C0			CMP	BYTE PTR [MODE],11000000B
 0307  75 08				JNZ	FGROUP1
 0309  A0 0000 E			MOV	AL,[DIRFLG]
 030C  08 45 01				OR	[DI+1],AL
 030F  EB 03				JMP	SHORT FEXIT
 0311				FGROUP1:
 0311  E8 0979 R			CALL	SETMF
 0314				FEXIT:
 0314  E9 05FC R			JMP	ASSEM_EXIT
				
				; THESE 8087 INSTRUCTIONS REQUIRE A MEMORY OPERAND
 0317				FGROUPB:
 0317  B4 05				MOV	AH,5			; MUST BE TBYTE
 0319  EB 06				JMP	SHORT FGROUP3E
 031B				FGROUP3W:
 031B  B4 02				MOV	AH,2			; MUST BE WORD
 031D  EB 02				JMP	SHORT FGROUP3E
 031F				FGROUP3:
 031F  B4 FF				MOV	AH,-1			; SIZE CANNOT BE SPECIFIED
 0321				FGROUP3E:
 0321  88 26 0000 E			MOV	[AWORD],AH
 0325  E8 0950 R			CALL	SETMID
 0328  E8 0677 R			CALL	GETREGMEM
 032B  80 3E 0000 E C0			CMP	BYTE PTR [MODE],11000000B
 0330  74 17				JZ	FGRPERR
 0332				FGRP:
 0332  E8 0636 R			CALL	BUILD3
 0335  EB DD				JMP	FEXIT
				
				; THESE 8087 INSTRUCTIONS REQUIRE A REGISTER OPERAND
 0337				FGROUPP:				; 8087 POP OPERANDS
 0337  C6 06 0000 E FF			MOV	BYTE PTR [AWORD],-1
 033C  E8 0950 R			CALL	SETMID
 033F  E8 067C R			CALL	GETREGMEM2
 0342  80 3E 0000 E 00			CMP	BYTE PTR [DIRFLG],0
 0347  75 E9				JNZ	FGRP
 0349				FGRPERR:
 0349  E9 0602 R			JMP	ASMERR
				
 034C				FGROUPZ:				; ENTRY POINT WHERE ARG MUST BE MEM
 034C  E8 0950 R			CALL	SETMID
 034F  C6 06 0000 E 00			MOV	BYTE PTR [DIRFLG],0
 0354  E8 0677 R			CALL	GETREGMEM
 0357  80 3E 0000 E C0			CMP	BYTE PTR [MODE],11000000B
 035C  74 EB				JZ	FGRPERR
 035E  E8 0636 R			CALL	BUILD3
 0361  E8 0979 R			CALL	SETMF
 0364  EB AE				JMP	FEXIT
				
				; NOT, NEG, MUL, IMUL, DIV, AND IDIV INSTRUCTIONS
				
 0366				GROUP1:
 0366  C6 06 0000 E F6			MOV	[ASSEM1],11110110B
 036B				GROUPE:
 036B  A2 0000 E			MOV	BYTE PTR [MIDFLD],AL
 036E  E8 0677 R			CALL	GETREGMEM
 0371  E8 061A R			CALL	BUILDIT
 0374  EB 9E				JMP	FEXIT
				
				;  SHIFT AND ROTATE INSTRUCTIONS
				
 0376				ROTOP:
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:18
DEBASM.ASM                                                  Page     1-8
                                                            

 0376  C6 06 0000 E D0			MOV	[ASSEM1],11010000B
 037B  A2 0000 E			MOV	BYTE PTR [MIDFLD],AL
 037E  E8 0677 R			CALL	GETREGMEM
 0381  E8 061A R			CALL	BUILDIT
 0384  E8 0000 E			CALL	SCANP
 0387  80 3C 31				CMP	BYTE PTR [SI],'1'
 038A  74 0E				JZ	ASMEXV1
 038C  81 3C 4C43			CMP	WORD PTR [SI],"LC"      ; CL
 0390  74 03				JZ	ROTOP1
 0392				ROTERR:
 0392  E9 0602 R			JMP	ASMERR
 0395				ROTOP1:
 0395  80 0E 0000 E 02			OR	BYTE PTR [ASSEM1],10B
 039A				ASMEXV1:
 039A  E9 05FC R			JMP	ASSEM_EXIT
				
				;  XCHG INSTRUCTION
				
 039D				EX_OPER:
 039D  FE 06 0000 E			INC	BYTE PTR [TSTFLG]
				
				;   TEST INSTRUCTION
				
 03A1				TST_OPER:
 03A1  FE 06 0000 E			INC	BYTE PTR [TSTFLG]
 03A5  EB 04				JMP	SHORT MOVOP
				
				;    MOV INSTRUCTION
				
 03A7				MOV_OPER:
 03A7  FE 06 0000 E			INC	BYTE PTR [MOVFLG]
 03AB				MOVOP:
 03AB  33 C0				XOR	AX,AX
 03AD  EB 05				JMP	SHORT GROUPM
				
				;   ADD, ADC, SUB, SBB, CMP, AND, OR, XOR instructions
				
 03AF				GROUP2:
 03AF  C6 06 0000 E 80			MOV	BYTE PTR [ASSEM1],10000000B
 03B4				GROUPM:
 03B4  A2 0000 E			MOV	BYTE PTR [MIDFLD],AL
				
 03B7  50				PUSH	AX
 03B8  E8 0677 R			CALL	GETREGMEM
 03BB  E8 0628 R			CALL	BUILD2
 03BE  E8 0000 E			CALL	SCANP			; POINT TO NEXT OPERAND
 03C1  A0 0000 E			MOV	AL,BYTE PTR [ASSEM_CNT]
 03C4  50				PUSH	AX
 03C5  E8 0677 R			CALL	GETREGMEM
 03C8  58				POP	AX
 03C9  88 05				MOV	BYTE PTR [DI],AL
 03CB  58				POP	AX
 03CC  8A 1E 0000 E			MOV	BL,BYTE PTR [AWORD]
 03D0  0A DB				OR	BL,BL
 03D2  74 24				JZ	ERRV5
 03D4  FE CB				DEC	BL
 03D6  80 E3 01				AND	BL,1
 03D9  08 5D 01				OR	BYTE PTR [DI+1],BL
				
 03DC  80 3E 0000 E 00			CMP	BYTE PTR [MEMFLG],0
 03E1  75 18				JNZ	G21V
 03E3  80 3E 0000 E 00			CMP	BYTE PTR [NUMFLG],0	; TEST FOR IMMEDIATE DATA
 03E8  74 11				JZ	G21V
 03EA  80 3E 0000 E 00			CMP	BYTE PTR [SEGFLG],0
 03EF  75 07				JNZ	ERRV5
 03F1  80 3E 0000 E 02			CMP	BYTE PTR [TSTFLG],2	; XCHG?
 03F6  75 06				JNZ	IMMED1
 03F8				ERRV5:
 03F8  E9 0602 R			JMP	ASMERR
 03FB				G21V:
 03FB  E9 04A2 R			JMP	GRP21
				
				;  SECOND OPERAND WAS IMMEDIATE
				
 03FE				IMMED1:
 03FE  8A 45 02				MOV	AL,BYTE PTR [DI+2]
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:18
DEBASM.ASM                                                  Page     1-9
                                                            

 0401  80 3E 0000 E 00			CMP	BYTE PTR [MOVFLG],0
 0406  74 2A				JZ	NOTMOV1
 0408  24 C0				AND	AL,11000000B
 040A  3C C0				CMP	AL,11000000B
 040C  75 7B				JNZ	GRP23			; not to a register
									; MOVE IMMEDIATE TO REGISTER
 040E  8A 45 01				MOV	AL,BYTE PTR [DI+1]
 0411  24 01				AND	AL,1			; SET SIZE
 0413  9C				PUSHF
 0414  D0 E0				SHL	AL,1
 0416  D0 E0				SHL	AL,1
 0418  D0 E0				SHL	AL,1
 041A  0A 45 02				OR	AL,BYTE PTR [DI+2]	; SET REGISTER
 041D  24 0F				AND	AL,00001111B
 041F  0C B0				OR	AL,10110000B
 0421  88 45 01				MOV	BYTE PTR [DI+1],AL
 0424  A1 0000 E			MOV	AX,WORD PTR [LOWNUM]
 0427  89 45 02				MOV	WORD PTR [DI+2],AX
 042A  9D				POPF
 042B  74 02				JZ	EXVEC
 042D  FE 05				INC	BYTE PTR [DI]
 042F				EXVEC:
 042F  E9 05D2 R			JMP	GRPEX
				
 0432				NOTMOV1:
 0432  24 C7				AND	AL,11000111B
 0434  3C C0				CMP	AL,11000000B
 0436  74 36				JZ	IMMACC			; IMMEDIATE TO ACC
				
 0438  80 3E 0000 E 00			CMP	BYTE PTR [TSTFLG],0
 043D  75 4A				JNZ	GRP23
 043F  80 3E 0000 E 08			CMP	BYTE PTR [MIDFLD],1*8	; OR?
 0444  74 43				JZ	GRP23
 0446  80 3E 0000 E 20			CMP	BYTE PTR [MIDFLD],4*8	; AND?
 044B  74 3C				JZ	GRP23
 044D  80 3E 0000 E 30			CMP	BYTE PTR [MIDFLD],6*8	; XOR?
 0452  74 35				JZ	GRP23
 0454  F6 45 01 01			TEST	BYTE PTR [DI+1],1	; TEST IF BYTE OPCODE
 0458  74 2F				JZ	GRP23
				
 045A  A1 0000 E			MOV	AX,[LOWNUM]
 045D  8B D8				MOV	BX,AX
 045F  98				CBW
 0460  3B C3				CMP	AX,BX
 0462  75 25				JNZ	GRP23			; SMALL ENOUGH?
				
 0464  8A 1D				MOV	BL,[DI]
 0466  FE 0D				DEC	BYTE PTR [DI]
 0468  80 4D 01 02			OR	BYTE PTR [DI+1],10B
 046C  EB 1D				JMP	SHORT GRP23X
				
 046E				IMMACC:
 046E  8A 45 01				MOV	AL,BYTE PTR [DI+1]
 0471  24 01				AND	AL,1
 0473  80 3E 0000 E 00			CMP	BYTE PTR [TSTFLG],0
 0478  74 04				JZ	NOTTST
 047A  0C A8				OR	AL,10101000B
 047C  EB 06				JMP	SHORT TEST1
 047E				NOTTST:
 047E  0A 06 0000 E			OR	AL,BYTE PTR [MIDFLD]
 0482  0C 04				OR	AL,100B
 0484				TEST1:
 0484  88 45 01				MOV	BYTE PTR [DI+1],AL
 0487  FE 0D				DEC	BYTE PTR [DI]
				
 0489				GRP23:
 0489  8A 1D				MOV	BL,BYTE PTR [DI]
 048B				GRP23X:
 048B  32 FF				XOR	BH,BH
 048D  03 DF				ADD	BX,DI
 048F  43				INC	BX
 0490  A1 0000 E			MOV	AX,WORD PTR [LOWNUM]
 0493  89 07				MOV	WORD PTR [BX],AX
 0495  FE 05				INC	BYTE PTR [DI]
 0497  F6 45 01 01			TEST	BYTE PTR [DI+1],1
 049B  74 02				JZ	GRPEX1
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:18
DEBASM.ASM                                                  Page     1-10
                                                            

 049D  FE 05				INC	BYTE PTR [DI]
 049F				GRPEX1:
 049F  E9 05D2 R			JMP	GRPEX
				
				;	SECOND OPERAND WAS MEMORY OR REGISTER
				
 04A2				GRP21:
 04A2  80 3E 0000 E 00			CMP	BYTE PTR [SEGFLG],0
 04A7  74 1D				JZ	GRP28			; FIRST OPERAND WAS A SEGMENT REG
 04A9  A0 0000 E			MOV	AL,BYTE PTR [REGMEM]
 04AC  A8 10				TEST	AL,10000B
 04AE  74 03				JZ	NOTSEG1
 04B0				ERRV3:
 04B0  E9 0602 R			JMP	ASMERR
 04B3				NOTSEG1:
 04B3  24 07				AND	AL,111B
 04B5  08 45 02				OR	BYTE PTR [DI+2],AL
 04B8  80 65 01 FE			AND	BYTE PTR [DI+1],11111110B
 04BC  80 3E 0000 E 00			CMP	BYTE PTR [MEMFLG],0
 04C1  75 35				JNZ	G22V
 04C3  E9 05D2 R			JMP	GRPEX
				
 04C6				GRP28:
 04C6  80 65 02 C7			AND	BYTE PTR [DI+2],11000111B
 04CA  8A 45 01				MOV	AL,BYTE PTR [DI+1]	; GET FIRST OPCODE
 04CD  24 01				AND	AL,1B
 04CF  80 3E 0000 E 00			CMP	BYTE PTR [MOVFLG],0
 04D4  74 04				JZ	NOTMOV2
 04D6  0C 88				OR	AL,10001000B
 04D8  EB 16				JMP	SHORT MOV1
 04DA				NOTMOV2:
 04DA  80 3E 0000 E 00			CMP	BYTE PTR [TSTFLG],0
 04DF  74 0B				JZ	NOTTST2
 04E1  0C 84				OR	AL,10000100B
 04E3  80 3E 0000 E 02			CMP	BYTE PTR [TSTFLG],2
 04E8  75 02				JNZ	NOTTST2
 04EA  0C 02				OR	AL,10B
 04EC				NOTTST2:
 04EC  0A 06 0000 E			OR	AL,BYTE PTR [MIDFLD]	; MIDFLD IS ZERO FOR TST
 04F0				MOV1:
 04F0  88 45 01				MOV	BYTE PTR [DI+1],AL
 04F3  80 3E 0000 E 00			CMP	BYTE PTR [MEMFLG],0
 04F8				G22V:
 04F8  74 03				JZ	NotGRP22
 04FA  E9 0582 R			JMP	GRP22
 04FD				NotGRP22:
				
				;	SECOND OPERAND WAS A REGISTER
				
 04FD  A0 0000 E			MOV	AL,BYTE PTR [REGMEM]
 0500  A8 10				TEST	AL,10000B		; SEGMENT REGISTER?
 0502  74 0B				JZ	NOTSEG
 0504  80 3E 0000 E 00			CMP	BYTE PTR [MOVFLG],0
 0509  74 A5				JZ	ERRV3
 050B  C6 45 01 8C			MOV	BYTE PTR [DI+1],10001100B
				
 050F				NOTSEG:
 050F  24 07				AND	AL,111B
 0511  D0 E0				SHL	AL,1
 0513  D0 E0				SHL	AL,1
 0515  D0 E0				SHL	AL,1
 0517  08 45 02				OR	BYTE PTR [DI+2],AL
				; ARR 2.4
				; In the case of the XCHG reg,reg and TEST reg,reg we have just built the
				; instruction backwards.  This is because these two instructions do not have
				; the D bit.  We need to switch R/S and REG
				;
				; Good comment Aaron, except that we do NOT switch if a memory operand was
				; present for precisely the reason that the D bit is not present
				;
 051A  80 3E 0000 E 00			CMP	BYTE PTR [TSTFLG],0
 051F  74 2B				JZ	NOSWITCH		; Not XCHG or TEST
				;
				; See if there is a memory operand specified.  If the MOD field is 11, then
				; we do perform the exchange.
				;
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:18
DEBASM.ASM                                                  Page     1-11
                                                            

 0521  8A 65 02				MOV	AH,[DI+2]
 0524  80 E4 C0				AND	AH,MASKMOD
 0527  80 FC C0				CMP	AH,MASKMOD
 052A  75 20				JNZ	NOSWITCH
 052C  8A 65 02				MOV	AH,BYTE PTR [DI+2]
 052F  80 E4 07				AND	AH,MASKRM
 0532  D0 E4				SHL	AH,1			; Low three bits to middle three
 0534  D0 E4				SHL	AH,1
 0536  D0 E4				SHL	AH,1
 0538  8A 45 02				MOV	AL,BYTE PTR [DI+2]
 053B  24 38				AND	AL,MASKREG
 053D  D0 E8				SHR	AL,1			; Middle three to low three
 053F  D0 E8				SHR	AL,1
 0541  D0 E8				SHR	AL,1
 0543  0A C4				OR	AL,AH			; Re combine
 0545  80 65 02 C0			AND	BYTE PTR [DI+2],MASKMOD ; Zap original
 0549  08 45 02				OR	BYTE PTR [DI+2],AL	; New low 6 bits
 054C				NOSWITCH:
				
				
				; SPECIAL FORM OF THE EXCHANGE COMMAND
				
 054C  80 3E 0000 E 02			CMP	BYTE PTR [TSTFLG],2
 0551  75 7F				JNZ	GRPEX
 0553  F6 45 01 01			TEST	BYTE PTR [DI+1],1
 0557  74 79				JZ	GRPEX
 0559  50				PUSH	AX
 055A  8A 45 02				MOV	AL,BYTE PTR [DI+2]
 055D  24 C0				AND	AL,MASKMOD
 055F  3C C0				CMP	AL,MASKMOD		; MUST BE REGISTER TO REGISTER
 0561  58				POP	AX
 0562  72 6E				JB	GRPEX
 0564  0A C0				OR	AL,AL
 0566  74 0C				JZ	SPECX
 0568  8A 45 02				MOV	AL,[DI+2]
 056B  24 07				AND	AL,MASKRM
 056D  75 63				JNZ	GRPEX
 056F  B1 03				MOV	CL,3
 0571  D2 6D 02				SHR	BYTE PTR [DI+2],CL
 0574				SPECX:
 0574  8A 45 02				MOV	AL,[DI+2]
 0577  24 07				AND	AL,MASKRM
 0579  0C 90				OR	AL,10010000B
 057B  88 45 01				MOV	BYTE PTR [DI+1],AL
 057E  FE 0D				DEC	BYTE PTR [DI]
 0580  EB 50				JMP	SHORT GRPEX
				
				;  SECOND OPERAND WAS A MEMORY REFERENCE
				
 0582				GRP22:
 0582  80 3E 0000 E 00			CMP	BYTE PTR [TSTFLG],0
 0587  75 04				JNZ	TST2
 0589  80 4D 01 02			OR	BYTE PTR [DI+1],10B
 058D				TST2:
 058D  8A 45 02				MOV	AL,BYTE PTR [DI+2]
 0590  3C C0				CMP	AL,MASKMOD		; MUST BE A REGISTER
 0592  72 6E				JB	ASMERR
 0594  80 3E 0000 E 00			CMP	BYTE PTR [SEGFLG],0
 0599  74 04				JZ	GRP223
 059B  24 18				AND	AL,00011000B
 059D  EB 08				JMP	SHORT GRP222
 059F				GRP223:
 059F  24 07				AND	AL,MASKRM
 05A1  D0 E0				SHL	AL,1
 05A3  D0 E0				SHL	AL,1
 05A5  D0 E0				SHL	AL,1
 05A7				GRP222:
 05A7  0A 06 0000 E			OR	AL,BYTE PTR [MODE]
 05AB  0A 06 0000 E			OR	AL,BYTE PTR [REGMEM]
 05AF  88 45 02				MOV	BYTE PTR [DI+2],AL
 05B2  A1 0000 E			MOV	AX,WORD PTR [LOWNUM]
 05B5  89 45 03				MOV	WORD PTR [DI+3],AX
 05B8				GRPSIZ:
 05B8  C6 05 02				MOV	BYTE PTR [DI],2
 05BB  8A 45 02				MOV	AL,BYTE PTR [DI+2]
 05BE  24 C7				AND	AL,11000111B
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:18
DEBASM.ASM                                                  Page     1-12
                                                            

 05C0  3C 06				CMP	AL,00000110B
 05C2  74 0A				JZ	GRP24
 05C4  24 C0				AND	AL,MASKMOD
 05C6  3C 40				CMP	AL,01000000B
 05C8  74 06				JZ	GRP25
 05CA  3C 80				CMP	AL,10000000B
 05CC  75 04				JNZ	GRPEX
 05CE				GRP24:
 05CE  FE 05				INC	BYTE PTR [DI]
 05D0				GRP25:
 05D0  FE 05				INC	BYTE PTR [DI]
				
 05D2				GRPEX:
 05D2  80 3E 0000 E 00			CMP	BYTE PTR [MOVFLG],0
 05D7  74 23				JZ	ASSEM_EXIT
				
				;	TEST FOR SPECIAL FORM OF MOV AX,[MEM] OR MOV [MEM],AX
				
 05D9  8A 45 01				MOV	AL,[DI+1]		; GET OP-CODE
 05DC  24 FC				AND	AL,11111100B
 05DE  3C 88				CMP	AL,10001000B
 05E0  75 1A				JNZ	ASSEM_EXIT
 05E2  80 7D 02 06			CMP	BYTE PTR [DI+2],00000110B ; MEM TO AX OR AX TO MEM
 05E6  75 14				JNZ	ASSEM_EXIT
 05E8  8A 45 01				MOV	AL,BYTE PTR [DI+1]
 05EB  24 03				AND	AL,11B
 05ED  34 02				XOR	AL,10B
 05EF  0C A0				OR	AL,10100000B
 05F1  88 45 01				MOV	BYTE PTR [DI+1],AL
 05F4  FE 0D				DEC	BYTE PTR [DI]
 05F6  8B 45 03				MOV	AX,[DI+3]
 05F9  89 45 02				MOV	WORD PTR [DI+2],AX
				
 05FC				ASSEM_EXIT:
 05FC  E8 08F3 R			CALL	STUFF_BYTES
 05FF  E9 0015 R			JMP	ASSEMLOOP
				
				; Assem error. SI points to character in the input buffer
				; which caused error. By subtracting from start of buffer,
				; we will know how far to tab over to appear directly below
				; it on the terminal. Then print "^ Error".
				
 0602				ASMERR:
 0602  81 EE FFF6 E			SUB	SI,OFFSET DG:(BYTEBUF-10) ; How many char processed so far?
 0606  8B CE				MOV	CX,SI			; Parameter for TAB in CX
 0608  BF 0000 E			MOV	DI,OFFSET DG:ARG_BUF
 060B  E8 0000 E			CALL	TAB			; Directly below bad char
 060E  C6 05 00				MOV	BYTE PTR [DI],0
 0611  BA 0000 E			MOV	DX,OFFSET DG:SYNERR_PTR ; Error message
 0614  E8 0000 E			CALL	PRINTF_CRLF
 0617  E9 0015 R			JMP	ASSEMLOOP
				;
				;  assemble the different parts into an instruction
				;
 061A				BUILDIT:
 061A  A0 0000 E			MOV	AL,BYTE PTR [AWORD]
 061D  0A C0				OR	AL,AL
 061F  75 02				JNZ	BUILD1
 0621				BLDERR:
 0621  EB DF				JMP	ASMERR
				
 0623				BUILD1:
 0623  FE C8				DEC	AL
 0625  08 45 01				OR	BYTE PTR [DI+1],AL	; SET THE SIZE
				
 0628				BUILD2:
 0628  80 3E 0000 E 00			CMP	BYTE PTR [NUMFLG],0	; TEST FOR IMMEDIATE DATA
 062D  74 07				JZ	BUILD3
 062F  80 3E 0000 E 00			CMP	BYTE PTR [MEMFLG],0
 0634  74 EB				JZ	BLDERR
				
 0636				BUILD3:
 0636  A0 0000 E			MOV	AL,BYTE PTR [REGMEM]
 0639  3C FF				CMP	AL,-1
 063B  74 26				JZ	BLD1
 063D  A8 10				TEST	AL,10000B		; TEST IF SEGMENT REGISTER
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:18
DEBASM.ASM                                                  Page     1-13
                                                            

 063F  74 22				JZ	BLD1
 0641  80 3E 0000 E 00			CMP	BYTE PTR [MOVFLG],0
 0646  74 D9				JZ	BLDERR
 0648  C7 45 01 008E			MOV	WORD PTR [DI+1],10001110B
 064D  FE 06 0000 E			INC	BYTE PTR [MOVFLG]
 0651  FE 06 0000 E			INC	BYTE PTR [SEGFLG]
 0655  24 03				AND	AL,00000011B
 0657  D0 E0				SHL	AL,1
 0659  D0 E0				SHL	AL,1
 065B  D0 E0				SHL	AL,1
 065D  0C C0				OR	AL,MASKMOD
 065F  88 45 02				MOV	BYTE PTR [DI+2],AL
 0662  C3				RET
				
 0663				BLD1:
 0663  24 07				AND	AL,00000111B
 0665				BLD4:
 0665  0A 06 0000 E			OR	AL,BYTE PTR [MODE]
 0669  0A 06 0000 E			OR	AL,BYTE PTR [MIDFLD]
 066D  88 45 02				MOV	BYTE PTR [DI+2],AL
 0670  A1 0000 E			MOV	AX,WORD PTR [LOWNUM]
 0673  89 45 03				MOV	WORD PTR [DI+3],AX
 0676  C3				RET
				
 0677				GETREGMEM:
 0677  C6 06 0000 E 00			MOV	BYTE PTR [F8087],0
 067C				GETREGMEM2:
 067C  E8 0000 E			CALL	SCANP
 067F  33 C0				XOR	AX,AX
 0681  A3 0000 E			MOV	WORD PTR [LOWNUM],AX	; OFFSET
 0684  A3 0000 E			MOV	WORD PTR [DIFLG],AX	; DIFLG+SIFLG
 0687  A3 0000 E			MOV	WORD PTR [BXFLG],AX	; BXFLG+BPFLG
 068A  A3 0000 E			MOV	WORD PTR [NEGFLG],AX	; NEGFLG+NUMFLG
 068D  A3 0000 E			MOV	WORD PTR [MEMFLG],AX	; MEMFLG+REGFLG
 0690  FE C8				DEC	AL
 0692  80 3E 0000 E 00			CMP	BYTE PTR [F8087],0
 0697  74 02				JZ	PUTREG
 0699  B0 01				MOV	AL,1			; DEFAULT 8087 REG IS 1
 069B				PUTREG:
 069B  A2 0000 E			MOV	BYTE PTR [REGMEM],AL
				
 069E				GETLOOP:
 069E  C6 06 0000 E 00			MOV	BYTE PTR [NEGFLG],0
 06A3				GETLOOP1:
 06A3  8B 04				MOV	AX,WORD PTR [SI]
 06A5  3C 2C				CMP	AL,','
 06A7  74 16				JZ	GOMODE
 06A9  3C 0D				CMP	AL,13
 06AB  74 12				JZ	GOMODE
 06AD  3C 3B				CMP	AL,';'
 06AF  74 0E				JZ	GOMODE
 06B1  3C 09				CMP	AL,9
 06B3  74 04				JZ	GETTB
 06B5  3C 20				CMP	AL,' '
 06B7  75 03				JNZ	GOGET
 06B9				GETTB:
 06B9  46				INC	SI
 06BA  EB E7				JMP	GETLOOP1
 06BC				GOGET:
 06BC  E9 0780 R			JMP	GETINFO
				
				;  DETERMINE THE MODE BITS
				
 06BF				GOMODE:
 06BF  BF 0000 E			MOV	DI,OFFSET DG:ASSEM_CNT
 06C2  C6 06 0000 E C0			MOV	BYTE PTR [MODE],11000000B
 06C7  C6 06 0000 E 02			MOV	BYTE PTR [ASSEM_CNT],2
 06CC  80 3E 0000 E 00			CMP	BYTE PTR [MEMFLG],0
 06D1  75 22				JNZ	GOMODE1
 06D3  A0 0000 E			MOV	AL,[NUMFLG]
 06D6  0A 06 0000 E			OR	AL,[REGFLG]
 06DA  75 15				JNZ	MORET
 06DC  0A 06 0000 E			OR	AL,[F8087]
 06E0  74 10				JZ	ERRET
 06E2  8A 45 01				MOV	AL,[DI+1]
 06E5  0A 06 0000 E			OR	AL,[DIRFLG]
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:18
DEBASM.ASM                                                  Page     1-14
                                                            

 06E9  3C DC				CMP	AL,0DCH 		; ARITHMETIC?
 06EB  75 04				JNZ	MORET
 06ED  C6 45 01 DE			MOV	BYTE PTR [DI+1],0DEH	; ADD POP TO NULL ARG 8087
 06F1				MORET:
 06F1  C3				RET
 06F2				ERRET:
 06F2  E9 0602 R			JMP	ASMERR
				
 06F5				GOMODE1:
 06F5  C6 06 0000 E 00			MOV	BYTE PTR [MODE],0
 06FA  80 3E 0000 E 00			CMP	BYTE PTR [NUMFLG],0
 06FF  74 26				JZ	GOREGMEM
				
 0701  C6 05 04				MOV	BYTE PTR [DI],4
 0704  A1 0000 E			MOV	AX,WORD PTR [DIFLG]
 0707  0B 06 0000 E			OR	AX,WORD PTR [BXFLG]
 070B  75 06				JNZ	GOMODE2
 070D  C6 06 0000 E 06			MOV	BYTE PTR [REGMEM],00000110B
 0712  C3				RET
				
 0713				GOMODE2:
 0713  C6 06 0000 E 80			MOV	BYTE PTR [MODE],10000000B
 0718  E8 092E R			CALL	CHKSIZ1
 071B  80 F9 02				CMP	CL,2
 071E  74 07				JZ	GOREGMEM
 0720  FE 0D				DEC	BYTE PTR [DI]
 0722  C6 06 0000 E 40			MOV	BYTE PTR [MODE],01000000B
				
				;  DETERMINE THE REG-MEM BITS
				
 0727				GOREGMEM:
 0727  8B 1E 0000 E			MOV	BX,WORD PTR [BXFLG]
 072B  8B 0E 0000 E			MOV	CX,WORD PTR [DIFLG]
 072F  33 D2				XOR	DX,DX
 0731				GOREG0:
 0731  8A C3				MOV	AL,BL			; BX
 0733  02 C5				ADD	AL,CH			; SI
 0735  3C 02				CMP	AL,2
 0737  74 42				JZ	GOGO
 0739  FE C2				INC	DL
 073B  8A C3				MOV	AL,BL
 073D  02 C1				ADD	AL,CL
 073F  3C 02				CMP	AL,2
 0741  74 38				JZ	GOGO
 0743  FE C2				INC	DL
 0745  8A C7				MOV	AL,BH
 0747  02 C5				ADD	AL,CH
 0749  3C 02				CMP	AL,2
 074B  74 2E				JZ	GOGO
 074D  FE C2				INC	DL
 074F  8A C7				MOV	AL,BH
 0751  02 C1				ADD	AL,CL
 0753  3C 02				CMP	AL,2
 0755  74 24				JZ	GOGO
 0757  FE C2				INC	DL
 0759  0A ED				OR	CH,CH
 075B  75 1E				JNZ	GOGO
 075D  FE C2				INC	DL
 075F  0A C9				OR	CL,CL
 0761  75 18				JNZ	GOGO
 0763  FE C2				INC	DL			; BP+DISP
 0765  0A FF				OR	BH,BH
 0767  74 10				JZ	GOREG1
 0769  80 3E 0000 E 00			CMP	BYTE PTR [MODE],0
 076E  75 0B				JNZ	GOGO
 0770  C6 06 0000 E 40			MOV	BYTE PTR [MODE],01000000B
 0775  FE 05				INC	BYTE PTR [DI]
 0777  FE CA				DEC	DL
 0779				GOREG1:
 0779  FE C2				INC	DL			; BX+DISP
 077B				GOGO:
 077B  88 16 0000 E			MOV	BYTE PTR [REGMEM],DL
 077F  C3				RET
				
 0780				GETINFO:
 0780  3D 454E				CMP	AX,'EN'                 ; NEAR
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:18
DEBASM.ASM                                                  Page     1-15
                                                            

 0783  75 12				JNZ	GETREG3
 0785				GETREG0:
 0785  B2 02				MOV	DL,2
 0787				GETRG01:
 0787  E8 0912 R			CALL	SETSIZ1
 078A				GETREG1:
 078A  E8 093A R			CALL	SCANS
 078D  8B 04				MOV	AX,WORD PTR [SI]
 078F  3D 5450				CMP	AX,"TP"                 ; PTR
 0792  74 F6				JZ	GETREG1
 0794  E9 069E R			JMP	GETLOOP
				
 0797				GETREG3:
 0797  B9 0005				MOV	CX,5
 079A  BF 0000 E			MOV	DI,OFFSET DG:SIZ8
 079D  E8 08E9 R			CALL	CHKREG			; LOOK FOR BYTE, WORD, DWORD, ETC.
 07A0  74 06				JZ	GETREG41
 07A2  FE C0				INC	AL
 07A4  8A D0				MOV	DL,AL
 07A6  EB DF				JMP	GETRG01
				
 07A8				GETREG41:
 07A8  8B 04				MOV	AX,[SI]
 07AA  80 3E 0000 E 00			CMP	BYTE PTR [F8087],0
 07AF  74 16				JZ	GETREG5
 07B1  3D 5453				CMP	AX,"TS"                 ; 8087 STACK OPERAND
 07B4  75 11				JNZ	GETREG5
 07B6  80 7C 02 2C			CMP	BYTE PTR [SI+2],','
 07BA  75 0B				JNZ	GETREG5
 07BC  C6 06 0000 E 00			MOV	BYTE PTR [DIRFLG],0
 07C1  83 C6 03				ADD	SI,3
 07C4  E9 069E R			JMP	GETLOOP
				
 07C7				GETREG5:
 07C7  3D 4853				CMP	AX,"HS"                 ; SHORT
 07CA  74 BE				JZ	GETREG1
				
 07CC  3D 4146				CMP	AX,"AF"                 ; FAR
 07CF  75 0D				JNZ	GETRG51
 07D1  80 7C 02 52			CMP	BYTE PTR [SI+2],'R'
 07D5  75 07				JNZ	GETRG51
 07D7  83 C6 03				ADD	SI,3
 07DA  B2 04				MOV	DL,4
 07DC  EB A9				JMP	GETRG01
				
 07DE				GETRG51:
 07DE  3C 5B				CMP	AL,'['
 07E0  75 08				JNZ	GETREG7
 07E2				GETREG6:
 07E2  FE 06 0000 E			INC	BYTE PTR [MEMFLG]
 07E6				GETREGADD:
 07E6  46				INC	SI
 07E7  E9 069E R			JMP	GETLOOP
				
 07EA				GETREG7:
 07EA  3C 5D				CMP	AL,']'
 07EC  74 F4				JZ	GETREG6
 07EE  3C 2E				CMP	AL,'.'
 07F0  74 F0				JZ	GETREG6
 07F2  3C 2B				CMP	AL,'+'
 07F4  74 F0				JZ	GETREGAdd
 07F6  3C 2D				CMP	AL,'-'
 07F8  75 08				JNZ	GETREG8
 07FA  FE 06 0000 E			INC	BYTE PTR [NEGFLG]
 07FE  46				INC	SI
 07FF  E9 06A3 R			JMP	GETLOOP1
				
 0802				GETREG8:				; LOOK FOR A REGISTER
 0802  80 3E 0000 E 00			CMP	BYTE PTR [F8087],0
 0807  74 38				JZ	GETREGREG
 0809  3D 5453				CMP	AX,"TS"
 080C  75 33				JNZ	GETREGREG
 080E  80 7C 02 28			CMP	BYTE PTR [SI+2],'('
 0812  75 2D				JNZ	GETREGREG
 0814  80 7C 04 29			CMP	BYTE PTR [SI+4],')'
 0818  75 54				JNZ	ASMPOP
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:18
DEBASM.ASM                                                  Page     1-16
                                                            

 081A  8A 44 03				MOV	AL,[SI+3]
 081D  2C 30				SUB	AL,'0'
 081F  72 4D				JB	ASMPOP
 0821  3C 07				CMP	AL,7
 0823  77 49				JA	ASMPOP
 0825  A2 0000 E			MOV	[REGMEM],AL
 0828  FE 06 0000 E			INC	BYTE PTR [REGFLG]
 082C  83 C6 05				ADD	SI,5
 082F  81 3C 532C			CMP	WORD PTR [SI],"S,"
 0833  75 09				JNZ	ZLOOP
 0835  80 7C 02 54			CMP	BYTE PTR [SI+2],'T'
 0839  75 03				JNZ	ZLOOP
 083B  83 C6 03				ADD	SI,3
 083E				ZLOOP:
 083E  E9 069E R			JMP	GETLOOP
				
 0841				GETREGREG:
 0841  B9 0014				MOV	CX,20
 0844  BF 0000 E			MOV	DI,OFFSET DG:REG8
 0847  E8 08E9 R			CALL	CHKREG
 084A  74 5E				JZ	GETREG12		; CX = 0 MEANS NO REGISTER
 084C  A2 0000 E			MOV	BYTE PTR [REGMEM],AL
 084F  FE 06 0000 E			INC	BYTE PTR [REGFLG]	; TELL EVERYONE WE FOUND A REG
 0853  80 3E 0000 E 00			CMP	BYTE PTR [MEMFLG],0
 0858  75 09				JNZ	NOSIZE
 085A  E8 090A R			CALL	SETSIZ
 085D				INCSI2:
 085D  83 C6 02				ADD	SI,2
 0860  E9 069E R			JMP	GETLOOP
				
 0863				NOSIZE:
 0863  3C 0B				CMP	AL,11			; BX REGISTER?
 0865  75 10				JNZ	GETREG9
 0867  83 3E 0000 E 00			CMP	WORD PTR [BXFLG],0
 086C  74 03				JZ	GETOK
 086E				ASMPOP:
 086E  E9 0602 R			JMP	ASMERR
				
 0871				GETOK:
 0871  FE 06 0000 E			INC	BYTE PTR [BXFLG]
 0875  EB E6				JMP	INCSI2
 0877				GETREG9:
 0877  3C 0D				CMP	AL,13			; BP REGISTER?
 0879  75 0D				JNZ	GETREG10
 087B  83 3E 0000 E 00			CMP	WORD PTR [BXFLG],0
 0880  75 EC				JNZ	ASMPOP
 0882  FE 06 0000 E			INC	BYTE PTR [BPFLG]
 0886  EB D5				JMP	INCSI2
 0888				GETREG10:
 0888  3C 0E				CMP	AL,14			; SI REGISTER?
 088A  75 0D				JNZ	GETREG11
 088C  83 3E 0000 E 00			CMP	WORD PTR [DIFLG],0
 0891  75 DB				JNZ	ASMPOP
 0893  FE 06 0000 E			INC	BYTE PTR [SIFLG]
 0897  EB C4				JMP	INCSI2
 0899				GETREG11:
 0899  3C 0F				CMP	AL,15			; DI REGISTER?
 089B  75 D1				JNZ	ASMPOP			; *** error
 089D  83 3E 0000 E 00			CMP	WORD PTR [DIFLG],0
 08A2  75 CA				JNZ	ASMPOP
 08A4  FE 06 0000 E			INC	BYTE PTR [DIFLG]
 08A8  EB B3				JMP	INCSI2
				
 08AA				GETREG12:				; BETTER BE A NUMBER!
 08AA  8B 2E 0002 E			MOV	BP,WORD PTR [ASMADD+2]
 08AE  80 3E 0000 E 00			CMP	BYTE PTR [MEMFLG],0
 08B3  74 08				JZ	GTRG121
 08B5				GTRG119:
 08B5  B9 0004				MOV	CX,4
 08B8				GTRG120:
 08B8  E8 0000 E			CALL	GETHX
 08BB  EB 13				JMP	SHORT GTRG122
 08BD				GTRG121:
 08BD  B9 0002				MOV	CX,2
 08C0  80 3E 0000 E 01			CMP	BYTE PTR [AWORD],1
 08C5  74 F1				JZ	GTRG120
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:18
DEBASM.ASM                                                  Page     1-17
                                                            

 08C7  38 0E 0000 E			CMP	BYTE PTR [AWORD],CL
 08CB  74 E8				JZ	GTRG119
 08CD  E8 0000 E			CALL	GET_ADDRESS
 08D0				GTRG122:
 08D0  72 9C				JC	ASMPOP
 08D2  A3 0000 E			MOV	[HINUM],AX
 08D5  80 3E 0000 E 00			CMP	BYTE PTR [NEGFLG],0
 08DA  74 02				JZ	GETREG13
 08DC  F7 DA				NEG	DX
 08DE				GETREG13:
 08DE  01 16 0000 E			ADD	WORD PTR [LOWNUM],DX
 08E2  FE 06 0000 E			INC	BYTE PTR [NUMFLG]
 08E6				GETLOOPV:
 08E6  E9 069E R			JMP	GETLOOP
				
 08E9				CHKREG:
 08E9  51				PUSH	CX
 08EA  41				INC	CX
 08EB  F2/ AF				REPNZ	SCASW
 08ED  58				POP	AX
 08EE  2B C1				SUB	AX,CX
 08F0  0B C9				OR	CX,CX
 08F2  C3				RET
				
 08F3				STUFF_BYTES:
 08F3  56				PUSH	SI
 08F4  C4 3E 0000 E			LES	DI,DWORD PTR ASMADD
 08F8  BE 0000 E			MOV	SI,OFFSET DG:ASSEM_CNT
 08FB  33 C0				XOR	AX,AX
 08FD  AC				LODSB
 08FE  8B C8				MOV	CX,AX
 0900  E3 06				JCXZ	STUFFRET
 0902  F3/ A4				REP	MOVSB
 0904  89 3E 0000 E			MOV	WORD PTR [ASMADD],DI
 0908				STUFFRET:
 0908  5E				POP	SI
 0909  C3				RET
				
 090A				SETSIZ:
 090A  B2 01				MOV	DL,1
 090C  A8 18				TEST	AL,11000B		; 16 BIT OR SEGMENT REGISTER?
 090E  74 02				JZ	SETSIZ1
 0910  FE C2				INC	DL
 0912				SETSIZ1:
 0912  80 3E 0000 E 00			CMP	BYTE PTR [AWORD],0
 0917  74 0A				JZ	SETSIZ2
 0919  38 16 0000 E			CMP	BYTE PTR [AWORD],DL
 091D  74 04				JZ	SETSIZ2
 091F				SETERR:
 091F  5A				POP	DX
 0920  E9 086E R			JMP	ASMPOP
 0923				SETSIZ2:
 0923  88 16 0000 E			MOV	BYTE PTR [AWORD],DL
 0927  C3				RET
				
				;  DETERMINE IF NUMBER IN AX:DX IS 8 BITS, 16 BITS, OR 32 BITS
				
 0928				CHKSIZ:
 0928  B1 04				MOV	CL,4
 092A  3B C5				CMP	AX,BP
 092C  75 0B				JNZ	RETCHK
 092E				CHKSIZ1:
 092E  B1 02				MOV	CL,2
 0930  8B C2				MOV	AX,DX
 0932  98				CBW
 0933  3B C2				CMP	AX,DX
 0935  75 02				JNZ	RETCHK
 0937  FE C9				DEC	CL
 0939				RETCHK:
 0939  C3				RET
				
				;  get first character after first space
				
 093A				SCANS:
 093A  80 3C 0D				CMP	BYTE PTR [SI],13
 093D  74 FA				JZ	RETCHK
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:18
DEBASM.ASM                                                  Page     1-18
                                                            

 093F  80 3C 5B				CMP	BYTE PTR [SI],'['
 0942  74 F5				JZ	RETCHK
 0944  AC				LODSB
 0945  3C 20				CMP	AL,' '
 0947  74 04				JZ	SCANBV
 0949  3C 09				CMP	AL,9
 094B  75 ED				JNZ	SCANS
 094D				SCANBV:
 094D  E9 0000 E			JMP	SCANB
				
				; Set up for 8087 op-codes
				
 0950				SETMID:
 0950  C6 06 0000 E D8			MOV	BYTE PTR [ASSEM1],0D8H
 0955  8A E0				MOV	AH,AL
 0957  24 07				AND	AL,111B 		; SET MIDDLE BITS OF SECOND BYTE
 0959  D0 E0				SHL	AL,1
 095B  D0 E0				SHL	AL,1
 095D  D0 E0				SHL	AL,1
 095F  A2 0000 E			MOV	[MIDFLD],AL
 0962  8A C4				MOV	AL,AH			; SET LOWER BITS OF FIRST BYTE
 0964  D0 E8				SHR	AL,1
 0966  D0 E8				SHR	AL,1
 0968  D0 E8				SHR	AL,1
 096A  08 06 0000 E			OR	[ASSEM1],AL
 096E  C6 06 0000 E 01			MOV	BYTE PTR [F8087],1	; INDICATE 8087 OPERAND
 0973  C6 06 0000 E 04			MOV	BYTE PTR [DIRFLG],100B
 0978  C3				RET
				
				; Set MF bits for 8087 op-codes
				
 0979				SETMF:
 0979  A0 0000 E			MOV	AL,[AWORD]
 097C  F6 45 01 02			TEST	BYTE PTR [DI+1],10B
 0980  75 18				JNZ	SETMFI
 0982  80 65 01 F9			AND	BYTE PTR [DI+1],11111001B ; CLEAR MF BITS
 0986  3C 03				CMP	AL,3			; DWORD?
 0988  74 34				JZ	SETMFRET
 098A  3C 04				CMP	AL,4			; QWORD?
 098C  74 2C				JZ	SETMFRET2
 098E  F6 45 01 01			TEST	BYTE PTR [DI+1],1
 0992  74 2B				JZ	SETMFERR
 0994  3C 05				CMP	AL,5			; TBYTE?
 0996  74 18				JZ	SETMFRET3
 0998  EB 25				JMP	SHORT SETMFERR
				
 099A				SETMFI:
 099A  3C 03				CMP	AL,3			; DWORD?
 099C  74 20				JZ	SETMFRET
 099E  3C 02				CMP	AL,2			; WORD?
 09A0  74 18				JZ	SETMFRET2
 09A2  F6 45 01 01			TEST	BYTE PTR [DI+1],1
 09A6  74 17				JZ	SETMFERR
 09A8  3C 04				CMP	AL,4			; QWORD?
 09AA  75 13				JNZ	SETMFERR
 09AC  80 4D 01 07			OR	BYTE PTR [DI+1],111B
 09B0				SETMFRET3:
 09B0  80 4D 01 03			OR	BYTE PTR [DI+1],011B
 09B4  80 4D 02 28			OR	BYTE PTR [DI+2],101000B
 09B8  EB 04				JMP	SHORT SETMFRET
 09BA				SETMFRET2:
 09BA  80 4D 01 04			OR	BYTE PTR [DI+1],100B
 09BE				SETMFRET:
 09BE  C3				RET
				
 09BF				SETMFERR:
 09BF  E9 086E R			JMP	ASMPOP
				
				
 09C2				DW_OPER:
 09C2  BD 0001				MOV	BP,1
 09C5  EB 02				JMP	SHORT DBEN
				
 09C7				DB_OPER:
 09C7  33 ED				XOR	BP,BP
 09C9				DBEN:
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:18
DEBASM.ASM                                                  Page     1-19
                                                            

 09C9  BF 0000 E			MOV	DI,OFFSET DG:ASSEM_CNT
 09CC  FE 0D				DEC	BYTE PTR [DI]
 09CE  47				INC	DI
 09CF				DB0:
 09CF  32 DB				XOR	BL,BL
 09D1  E8 0000 E			CALL	SCANP
 09D4  75 03				JNZ	DB1
 09D6				DBEX:
 09D6  E9 05FC R			JMP	ASSEM_EXIT
 09D9				DB1:
 09D9  0A DB				OR	BL,BL
 09DB  75 0F				JNZ	DB3
 09DD  8A 3C				MOV	BH,BYTE PTR [SI]
 09DF  80 FF 27				CMP	BH,"'"
 09E2  74 05				JZ	DB2
 09E4  80 FF 22				CMP	BH,'"'
 09E7  75 13				JNZ	DB4
 09E9				DB2:
 09E9  46				INC	SI
 09EA  FE C3				INC	BL
 09EC				DB3:
 09EC  AC				LODSB
 09ED  3C 0D				CMP	AL,13
 09EF  74 E5				JZ	DBEX
 09F1  3A C7				CMP	AL,BH
 09F3  74 DA				JZ	DB0
 09F5  AA				STOSB
 09F6  FE 06 0000 E			INC	BYTE PTR [ASSEM_CNT]
 09FA  EB F0				JMP	DB3
 09FC				DB4:
 09FC  B9 0002				MOV	CX,2
 09FF  83 FD 00				CMP	BP,0
 0A02  74 02				JZ	DB41
 0A04  B1 04				MOV	CL,4
 0A06				DB41:
 0A06  53				PUSH	BX
 0A07  E8 0000 E			CALL	GETHX
 0A0A  5B				POP	BX
 0A0B  73 03				JNC	DB5
 0A0D  E9 0602 R			JMP	ASMERR
 0A10				DB5:
 0A10  8B C2				MOV	AX,DX
 0A12  83 FD 00				CMP	BP,0
 0A15  74 07				JZ	DB6
 0A17  AB				STOSW
 0A18  FE 06 0000 E			INC	BYTE PTR [ASSEM_CNT]
 0A1C  EB 01				JMP	SHORT DB7
 0A1E				DB6:
 0A1E  AA				STOSB
 0A1F				DB7:
 0A1F  FE 06 0000 E			INC	BYTE PTR [ASSEM_CNT]
 0A23  EB AA				JMP	DB0
				
				; ORG pseudo op
				
 0A25				DOORG:
 0A25  8B 2E 0002 E			MOV	BP,WORD PTR ASMADD+2
 0A29  E8 0000 E			CALL	GET_ADDRESS
 0A2C  89 16 0000 E			MOV	WORD PTR ASMADD,DX
 0A30  A3 0002 E			MOV	WORD PTR ASMADD+2,AX
 0A33  E9 0015 R			JMP	ASSEMLOOP
				
 0A36				CODE	ENDS
					END	ASSEM

Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:18
DEBASM.ASM                                                  Symbols-1


Macros:

		N a m e			Lines

ARGVAR . . . . . . . . . . . . .  	  23
ASMVAR . . . . . . . . . . . . .  	   3
ASMVARS  . . . . . . . . . . . .  	   3
ASSERT . . . . . . . . . . . . .  	   0
CALLINSTALL  . . . . . . . . . .  	  12
DOSASSUME  . . . . . . . . . . .  	   3
ENTER  . . . . . . . . . . . . .  	   3
ENTERCRIT  . . . . . . . . . . .  	   1
ERRNZ  . . . . . . . . . . . . .  	   4
FMT  . . . . . . . . . . . . . .  	   0
LEAVE  . . . . . . . . . . . . .  	   2
LEAVECRIT  . . . . . . . . . . .  	   1
LOCALVAR . . . . . . . . . . . .  	  23

Structures and Records:

                N a m e                 Width   # fields
                                        Shift   Width   Mask    Initial

ARENA  . . . . . . . . . . . . .  	0010	0005
  ARENA_SIGNATURE  . . . . . . .  	0000
  ARENA_OWNER  . . . . . . . . .  	0001
  ARENA_SIZE . . . . . . . . . .  	0003
  ARENA_RESERVED . . . . . . . .  	0005
  ARENA_NAME . . . . . . . . . .  	0008
A_BPB  . . . . . . . . . . . . .  	001F	000F
  BPB_BYTESPERSECTOR . . . . . .  	0000
  BPB_SECTORSPERCLUSTER  . . . .  	0002
  BPB_RESERVEDSECTORS  . . . . .  	0003
  BPB_NUMBEROFFATS . . . . . . .  	0005
  BPB_ROOTENTRIES  . . . . . . .  	0006
  BPB_TOTALSECTORS . . . . . . .  	0008
  BPB_MEDIADESCRIPTOR  . . . . .  	000A
  BPB_SECTORSPERFAT  . . . . . .  	000B
  BPB_SECTORSPERTRACK  . . . . .  	000D
  BPB_HEADS  . . . . . . . . . .  	000F
  BPB_HIDDENSECTORS  . . . . . .  	0011
  BPB_BIGTOTALSECTORS  . . . . .  	0015
BPBLOCK  . . . . . . . . . . . .  	000D	0008
  BPSECSZ  . . . . . . . . . . .  	0000
  BPCLUS . . . . . . . . . . . .  	0002
  BPRES  . . . . . . . . . . . .  	0003
  BPFTCNT  . . . . . . . . . . .  	0005
  BPDRCNT  . . . . . . . . . . .  	0006
  BPSCCNT  . . . . . . . . . . .  	0008
  BPMEDIA  . . . . . . . . . . .  	000A
  BPFTSEC  . . . . . . . . . . .  	000B
BUFFER_HASH_ENTRY  . . . . . . .  	0008	0004
  EMS_PAGE_NUM . . . . . . . . .  	0000
  BUFFER_BUCKET  . . . . . . . .  	0002
  DIRTY_COUNT  . . . . . . . . .  	0006
  BUFFER_RESERVED  . . . . . . .  	0007
BUFFINFO . . . . . . . . . . . .  	0023	000F
  HASH_PTR . . . . . . . . . . .  	0000
  HASH_COUNT . . . . . . . . . .  	0004
  CACHE_PTR  . . . . . . . . . .  	0006
  CACHE_COUNT  . . . . . . . . .  	000A
  EMS_SAFE_FLAG  . . . . . . . .  	000C
  EMS_LAST_PAGE  . . . . . . . .  	000D
  EMS_FIRST_PAGE . . . . . . . .  	0011
  EMS_NPA640 . . . . . . . . . .  	0015
  EMS_MODE . . . . . . . . . . .  	0017
  EMS_HANDLE . . . . . . . . . .  	0018
  EMS_PAGEFRAME_NUMBER . . . . .  	001A
  EMS_SEG_CNT  . . . . . . . . .  	001C
  EMS_PAGE_FRAME . . . . . . . .  	001E
  EMS_RESERVED . . . . . . . . .  	0020
  EMS_MAP_BUFF . . . . . . . . .  	0022
CURDIR_LIST  . . . . . . . . . .  	0058	000A
  CURDIR_TEXT  . . . . . . . . .  	0000
  CURDIR_FLAGS . . . . . . . . .  	0043
  CURDIR_DEVPTR  . . . . . . . .  	0045
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:18
DEBASM.ASM                                                  Symbols-2


  CURDIR_ID  . . . . . . . . . .  	0049
  CURDIR_USER_WORD . . . . . . .  	004D
  CURDIR_END . . . . . . . . . .  	004F
  CURDIR_TYPE  . . . . . . . . .  	0051
  CURDIR_IFS_HDR . . . . . . . .  	0052
  CURDIR_FSDA  . . . . . . . . .  	0056
DIR_ENTRY  . . . . . . . . . . .  	0020	000B
  DIR_NAME . . . . . . . . . . .  	0000
  DIR_ATTR . . . . . . . . . . .  	000B
  DIR_CODEPG . . . . . . . . . .  	000C
  DIR_EXTCLUSTER . . . . . . . .  	000E
  DIR_ATTR2  . . . . . . . . . .  	0010
  DIR_PAD  . . . . . . . . . . .  	0011
  DIR_TIME . . . . . . . . . . .  	0016
  DIR_DATE . . . . . . . . . . .  	0018
  DIR_FIRST  . . . . . . . . . .  	001A
  DIR_SIZE_L . . . . . . . . . .  	001C
  DIR_SIZE_H . . . . . . . . . .  	001E
DPB  . . . . . . . . . . . . . .  	0021	0012
  DPB_DRIVE  . . . . . . . . . .  	0000
  DPB_UNIT . . . . . . . . . . .  	0001
  DPB_SECTOR_SIZE  . . . . . . .  	0002
  DPB_CLUSTER_MASK . . . . . . .  	0004
  DPB_CLUSTER_SHIFT  . . . . . .  	0005
  DPB_FIRST_FAT  . . . . . . . .  	0006
  DPB_FAT_COUNT  . . . . . . . .  	0008
  DPB_ROOT_ENTRIES . . . . . . .  	0009
  DPB_FIRST_SECTOR . . . . . . .  	000B
  DPB_MAX_CLUSTER  . . . . . . .  	000D
  DPB_FAT_SIZE . . . . . . . . .  	000F
  DPB_DIR_SECTOR . . . . . . . .  	0011
  DPB_DRIVER_ADDR  . . . . . . .  	0013
  DPB_MEDIA  . . . . . . . . . .  	0017
  DPB_FIRST_ACCESS . . . . . . .  	0018
  DPB_NEXT_DPB . . . . . . . . .  	0019
  DPB_NEXT_FREE  . . . . . . . .  	001D
  DPB_FREE_CNT . . . . . . . . .  	001F
EXEC0  . . . . . . . . . . . . .  	000E	0004
  EXEC0_ENVIRON  . . . . . . . .  	0000
  EXEC0_COM_LINE . . . . . . . .  	0002
  EXEC0_5C_FCB . . . . . . . . .  	0006
  EXEC0_6C_FCB . . . . . . . . .  	000A
EXEC1  . . . . . . . . . . . . .  	0016	0008
  EXEC1_ENVIRON  . . . . . . . .  	0000
  EXEC1_COM_LINE . . . . . . . .  	0002
  EXEC1_5C_FCB . . . . . . . . .  	0006
  EXEC1_6C_FCB . . . . . . . . .  	000A
  EXEC1_SP . . . . . . . . . . .  	000E
  EXEC1_SS . . . . . . . . . . .  	0010
  EXEC1_IP . . . . . . . . . . .  	0012
  EXEC1_CS . . . . . . . . . . .  	0014
EXEC3  . . . . . . . . . . . . .  	0004	0002
  EXEC3_LOAD_ADDR  . . . . . . .  	0000
  EXEC3_RELOC_FAC  . . . . . . .  	0002
EXE_FILE . . . . . . . . . . . .  	0020	000F
  EXE_SIGNATURE  . . . . . . . .  	0000
  EXE_LEN_MOD_512  . . . . . . .  	0002
  EXE_PAGES  . . . . . . . . . .  	0004
  EXE_RLE_COUNT  . . . . . . . .  	0006
  EXE_PAR_DIR  . . . . . . . . .  	0008
  EXE_MIN_BSS  . . . . . . . . .  	000A
  EXE_MAX_BSS  . . . . . . . . .  	000C
  EXE_SS . . . . . . . . . . . .  	000E
  EXE_SP . . . . . . . . . . . .  	0010
  EXE_CHKSUM . . . . . . . . . .  	0012
  EXE_IP . . . . . . . . . . . .  	0014
  EXE_CS . . . . . . . . . . . .  	0016
  EXE_RLE_TABLE  . . . . . . . .  	0018
  EXE_IOV  . . . . . . . . . . .  	001A
  EXE_SYM_TAB  . . . . . . . . .  	001C
EXT_OPEN_PARM  . . . . . . . . .  	0006	0002
  EXT_SET_LIST . . . . . . . . .  	0000
  EXT_NUM_OF_PARM  . . . . . . .  	0004
FIND_BUF . . . . . . . . . . . .  	002B	000C
  FIND_BUF_DRIVE . . . . . . . .  	0000
  FIND_BUF_NAME  . . . . . . . .  	0001
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:18
DEBASM.ASM                                                  Symbols-3


  FIND_BUF_SATTR . . . . . . . .  	000C
  FIND_BUF_LASTENT . . . . . . .  	000D
  FIND_BUF_DIRSTART  . . . . . .  	000F
  FIND_BUF_NETID . . . . . . . .  	0011
  FIND_BUF_ATTR  . . . . . . . .  	0015
  FIND_BUF_TIME  . . . . . . . .  	0016
  FIND_BUF_DATE  . . . . . . . .  	0018
  FIND_BUF_SIZE_L  . . . . . . .  	001A
  FIND_BUF_SIZE_H  . . . . . . .  	001C
  FIND_BUF_PNAME . . . . . . . .  	001E
INTERNAT_BLOCK . . . . . . . . .  	0018	0015
  DATE_TIM_FORMAT  . . . . . . .  	0000
  CURRENCY_SYM . . . . . . . . .  	0002
  THOUS_SEP  . . . . . . . . . .  	0007
  DECIMAL_SEP  . . . . . . . . .  	0009
  DATE_SEP . . . . . . . . . . .  	000B
  TIME_SEP . . . . . . . . . . .  	000D
  BIT_FIELD  . . . . . . . . . .  	000F
  CURRENCY_CENTS . . . . . . . .  	0010
  TIME_24  . . . . . . . . . . .  	0011
  MAP_CALL . . . . . . . . . . .  	0012
  DATA_SEP . . . . . . . . . . .  	0016
PROCESS_DATA_BLOCK . . . . . . .  	005C	0011
  PDB_EXIT_CALL  . . . . . . . .  	0000
  PDB_BLOCK_LEN  . . . . . . . .  	0002
  PDB_CPM_CALL . . . . . . . . .  	0005
  PDB_EXIT . . . . . . . . . . .  	000A
  PDB_CTRL_C . . . . . . . . . .  	000E
  PDB_FATAL_ABORT  . . . . . . .  	0012
  PDB_PARENT_PID . . . . . . . .  	0016
  PDB_JFN_TABLE  . . . . . . . .  	0018
  PDB_ENVIRON  . . . . . . . . .  	002C
  PDB_USER_STACK . . . . . . . .  	002E
  PDB_JFN_LENGTH . . . . . . . .  	0032
  PDB_JFN_POINTER  . . . . . . .  	0034
  PDB_NEXT_PDB . . . . . . . . .  	0038
  PDB_PAD1 . . . . . . . . . . .  	003C
  PDB_CALL_SYSTEM  . . . . . . .  	0050
  PDB_PAD2 . . . . . . . . . . .  	0055
SF . . . . . . . . . . . . . . .  	0008	0003
  SFLINK . . . . . . . . . . . .  	0000
  SFCOUNT  . . . . . . . . . . .  	0004
  SFTABLE  . . . . . . . . . . .  	0006
SF_ENTRY . . . . . . . . . . . .  	003B	0014
  SF_REF_COUNT . . . . . . . . .  	0000
  SF_MODE  . . . . . . . . . . .  	0002
  SF_ATTR  . . . . . . . . . . .  	0004
  SF_FLAGS . . . . . . . . . . .  	0005
  SF_DEVPTR  . . . . . . . . . .  	0007
  SF_FIRCLUS . . . . . . . . . .  	000B
  SF_TIME  . . . . . . . . . . .  	000D
  SF_DATE  . . . . . . . . . . .  	000F
  SF_SIZE  . . . . . . . . . . .  	0011
  SF_POSITION  . . . . . . . . .  	0015
  SF_CLUSPOS . . . . . . . . . .  	0019
  SF_DIRSEC  . . . . . . . . . .  	001B
  SF_DIRPOS  . . . . . . . . . .  	001F
  SF_NAME  . . . . . . . . . . .  	0020
  SF_CHAIN . . . . . . . . . . .  	002B
  SF_UID . . . . . . . . . . . .  	002F
  SF_PID . . . . . . . . . . . .  	0031
  SF_MFT . . . . . . . . . . . .  	0033
  SF_LSTCLUS . . . . . . . . . .  	0035
  SF_IFS_HDR . . . . . . . . . .  	0037
SYMBOL_ENTRY . . . . . . . . . .  	0106	0004
  SYM_VALUE  . . . . . . . . . .  	0000
  SYM_TYPE . . . . . . . . . . .  	0004
  SYM_LEN  . . . . . . . . . . .  	0006
  SYM_NAME . . . . . . . . . . .  	0007
SYSINITVARS  . . . . . . . . . .  	0047	0018
  SYSI_DPB . . . . . . . . . . .  	0000
  SYSI_SFT . . . . . . . . . . .  	0004
  SYSI_CLOCK . . . . . . . . . .  	0008
  SYSI_CON . . . . . . . . . . .  	000C
  SYSI_MAXSEC  . . . . . . . . .  	0010
  SYSI_BUF . . . . . . . . . . .  	0012
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:18
DEBASM.ASM                                                  Symbols-4


  SYSI_CDS . . . . . . . . . . .  	0016
  SYSI_FCB . . . . . . . . . . .  	001A
  SYSI_KEEP  . . . . . . . . . .  	001E
  SYSI_NUMIO . . . . . . . . . .  	0020
  SYSI_NCDS  . . . . . . . . . .  	0021
  SYSI_DEV . . . . . . . . . . .  	0022
  SYSI_ATTR  . . . . . . . . . .  	0026
  SYSI_STRAT . . . . . . . . . .  	0028
  SYSI_INTER . . . . . . . . . .  	002A
  SYSI_NAME  . . . . . . . . . .  	002C
  SYSI_SPLICE  . . . . . . . . .  	0034
  SYSI_IBMDOS_SIZE . . . . . . .  	0035
  SYSI_IFS_DOSCALL@  . . . . . .  	0037
  SYSI_IFS . . . . . . . . . . .  	003B
  SYSI_BUFFERS . . . . . . . . .  	003F
  SYSI_BOOT_DRIVE  . . . . . . .  	0043
  SYSI_DWMOVE  . . . . . . . . .  	0044
  SYSI_EXT_MEM . . . . . . . . .  	0045
SYSINITVARS_EXT  . . . . . . . .  	0008	0002
  SYSI_INITVARS  . . . . . . . .  	0000
  SYSI_COUNTRY_TAB . . . . . . .  	0004
SYS_FCB  . . . . . . . . . . . .  	0025	000C
  FCB_DRIVE  . . . . . . . . . .  	0000
  FCB_NAME . . . . . . . . . . .  	0001
  FCB_EXT  . . . . . . . . . . .  	0009
  FCB_EXTENT . . . . . . . . . .  	000C
  FCB_RECSIZ . . . . . . . . . .  	000E
  FCB_FILSIZ . . . . . . . . . .  	0010
  FCB_DRVBP  . . . . . . . . . .  	0012
  FCB_FDATE  . . . . . . . . . .  	0014
  FCB_FTIME  . . . . . . . . . .  	0016
  FCB_RESERVED . . . . . . . . .  	0018
  FCB_NR . . . . . . . . . . . .  	0020
  FCB_RR . . . . . . . . . . . .  	0021
USER_ENVIRON . . . . . . . . . .  	0018	000C
  USER_AX  . . . . . . . . . . .  	0000
  USER_BX  . . . . . . . . . . .  	0002
  USER_CX  . . . . . . . . . . .  	0004
  USER_DX  . . . . . . . . . . .  	0006
  USER_SI  . . . . . . . . . . .  	0008
  USER_DI  . . . . . . . . . . .  	000A
  USER_BP  . . . . . . . . . . .  	000C
  USER_DS  . . . . . . . . . . .  	000E
  USER_ES  . . . . . . . . . . .  	0010
  USER_IP  . . . . . . . . . . .  	0012
  USER_CS  . . . . . . . . . . .  	0014
  USER_F . . . . . . . . . . . .  	0016

Segments and Groups:

                N a m e         	Length	 Align	Combine Class

DG . . . . . . . . . . . . . . .  	GROUP
  CODE . . . . . . . . . . . . .  	0A36	BYTE	PUBLIC	
  CONST  . . . . . . . . . . . .  	0000	BYTE	PUBLIC	
  CSTACK . . . . . . . . . . . .  	0000	PARA	STACK	
  DATA . . . . . . . . . . . . .  	0000	BYTE	PUBLIC	

Symbols:            

                N a m e         	Type	 Value	 Attr

AA_OPER  . . . . . . . . . . . .  	L NEAR	0097	CODE	Global
ABORT  . . . . . . . . . . . . .  	NUMBER	0000	
ACCESS_MASK  . . . . . . . . . .  	NUMBER	000F	
ACTION_CREATED_OPENED  . . . . .  	NUMBER	0002	
ACTION_OPENED  . . . . . . . . .  	NUMBER	0001	
ACTION_REPLACED_OPENED . . . . .  	NUMBER	0003	
ADDR_INT_ABORT . . . . . . . . .  	NUMBER	0080	
ADDR_INT_COMMAND . . . . . . . .  	NUMBER	0084	
ADDR_INT_CTRL_C  . . . . . . . .  	NUMBER	008C	
ADDR_INT_DISK_READ . . . . . . .  	NUMBER	0094	
ADDR_INT_DISK_WRITE  . . . . . .  	NUMBER	0098	
ADDR_INT_FASTCON . . . . . . . .  	NUMBER	00A4	
ADDR_INT_FATAL_ABORT . . . . . .  	NUMBER	0090	
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:18
DEBASM.ASM                                                  Symbols-5


ADDR_INT_IBM . . . . . . . . . .  	NUMBER	00A8	
ADDR_INT_KEEP_PROCESS  . . . . .  	NUMBER	009C	
ADDR_INT_SPOOLER . . . . . . . .  	NUMBER	00A0	
ADDR_INT_TERMINATE . . . . . . .  	NUMBER	0088	
ALLOC  . . . . . . . . . . . . .  	NUMBER	0048	
ALLOCOPER  . . . . . . . . . . .  	NUMBER	0058	
ALLOWED_FAIL . . . . . . . . . .  	NUMBER	0008	
ALLOWED_IGNORE . . . . . . . . .  	NUMBER	0020	
ALLOWED_RETRY  . . . . . . . . .  	NUMBER	0010	
ALTVECT  . . . . . . . . . . . .  	ALIAS	 FALSE		
ALT_EXPECTED_VERSION . . . . . .  	NUMBER	1A05	
ALT_MAJOR_VERSION  . . . . . . .  	NUMBER	0005	
ALT_MINOR_VERSION  . . . . . . .  	NUMBER	001A	
ARENA_OWNER_SYSTEM . . . . . . .  	NUMBER	0000	
ARENA_SIGNATURE_END  . . . . . .  	NUMBER	005A	
ARENA_SIGNATURE_NORMAL . . . . .  	NUMBER	004D	
ARG_BUF  . . . . . . . . . . . .  	V BYTE	0000	DATA	External
ASEXV  . . . . . . . . . . . . .  	L NEAR	02A3	CODE
ASMADD . . . . . . . . . . . . .  	V BYTE	0000	DATA	External
ASMERR . . . . . . . . . . . . .  	L NEAR	0602	CODE
ASMEX3 . . . . . . . . . . . . .  	L NEAR	0252	CODE
ASMEX4 . . . . . . . . . . . . .  	L NEAR	0233	CODE
ASMEXV1  . . . . . . . . . . . .  	L NEAR	039A	CODE
ASMPOP . . . . . . . . . . . . .  	L NEAR	086E	CODE
ASMSP  . . . . . . . . . . . . .  	V WORD	0000	DATA	External
ASSEM  . . . . . . . . . . . . .  	L NEAR	0000	CODE	Global
ASSEM1 . . . . . . . . . . . . .  	V BYTE	0000	DATA	External
ASSEM2 . . . . . . . . . . . . .  	V BYTE	0000	DATA	External
ASSEM3 . . . . . . . . . . . . .  	V BYTE	0000	DATA	External
ASSEM4 . . . . . . . . . . . . .  	V BYTE	0000	DATA	External
ASSEM5 . . . . . . . . . . . . .  	V BYTE	0000	DATA	External
ASSEM6 . . . . . . . . . . . . .  	V BYTE	0000	DATA	External
ASSEMLOOP  . . . . . . . . . . .  	L NEAR	0015	CODE	Global
ASSEM_CNT  . . . . . . . . . . .  	V BYTE	0000	DATA	External
ASSEM_EXIT . . . . . . . . . . .  	L NEAR	05FC	CODE
ASSIGNOPER . . . . . . . . . . .  	NUMBER	005F	
ATTR_ALL . . . . . . . . . . . .  	NUMBER	0016	
ATTR_ARCHIVE . . . . . . . . . .  	NUMBER	0020	
ATTR_CHANGEABLE  . . . . . . . .  	NUMBER	0027	
ATTR_DEVICE  . . . . . . . . . .  	NUMBER	0040	
ATTR_DIRECTORY . . . . . . . . .  	NUMBER	0010	
ATTR_HIDDEN  . . . . . . . . . .  	NUMBER	0002	
ATTR_IGNORE  . . . . . . . . . .  	NUMBER	0061	
ATTR_READ_ONLY . . . . . . . . .  	NUMBER	0001	
ATTR_SYSTEM  . . . . . . . . . .  	NUMBER	0004	
ATTR_VOLUME_ID . . . . . . . . .  	NUMBER	0008	
AUTO_COMMIT_WRITE  . . . . . . .  	NUMBER	4000	
AWORD  . . . . . . . . . . . . .  	V BYTE	0000	DATA	External

BLANK  . . . . . . . . . . . . .  	L NEAR	0000	CODE	External
BLD1 . . . . . . . . . . . . . .  	L NEAR	0663	CODE
BLD4 . . . . . . . . . . . . . .  	L NEAR	0665	CODE
BLDERR . . . . . . . . . . . . .  	L NEAR	0621	CODE
BPFLG  . . . . . . . . . . . . .  	V BYTE	0000	DATA	External
BPLEN  . . . . . . . . . . . . .  	NUMBER	0032	
BPMAX  . . . . . . . . . . . . .  	NUMBER	000A	
BPREG  . . . . . . . . . . . . .  	NUMBER	5042	
BUFFERFLAG . . . . . . . . . . .  	NUMBER	FFFF	
BUFINSIZ . . . . . . . . . . . .  	NUMBER	0014	
BUFLEN . . . . . . . . . . . . .  	NUMBER	0050	
BUFSIZ . . . . . . . . . . . . .  	NUMBER	0200	
BUF_DIRTY  . . . . . . . . . . .  	NUMBER	0040	
BUF_DPB  . . . . . . . . . . . .  		000D	
BUF_FILL . . . . . . . . . . . .  		0011	
BUF_FLAGS  . . . . . . . . . . .  		0005	
BUF_FREE . . . . . . . . . . . .  	NUMBER	00FF	
BUF_ID . . . . . . . . . . . . .  		0004	
BUF_ISDATA . . . . . . . . . . .  	NUMBER	0008	
BUF_ISDIR  . . . . . . . . . . .  	NUMBER	0004	
BUF_ISFAT  . . . . . . . . . . .  	NUMBER	0002	
BUF_ISNET  . . . . . . . . . . .  	NUMBER	0080	
BUF_NETID  . . . . . . . . . . .  	ALIAS	 BUFINSIZ		
BUF_NEXT . . . . . . . . . . . .  		0000	
BUF_OFFSET . . . . . . . . . . .  	DWORD	0006	
BUF_PREV . . . . . . . . . . . .  		0002	
BUF_RESERVED . . . . . . . . . .  		0013	
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:18
DEBASM.ASM                                                  Symbols-6


BUF_SECTOR . . . . . . . . . . .  		0006	
BUF_SNBUF  . . . . . . . . . . .  	NUMBER	0010	
BUF_TYPE_0 . . . . . . . . . . .  	NUMBER	00F1	
BUF_VISIT  . . . . . . . . . . .  	NUMBER	0020	
BUF_WRTCNT . . . . . . . . . . .  		000A	
BUF_WRTCNTINC  . . . . . . . . .  		000B	
BUILD1 . . . . . . . . . . . . .  	L NEAR	0623	CODE
BUILD2 . . . . . . . . . . . . .  	L NEAR	0628	CODE
BUILD3 . . . . . . . . . . . . .  	L NEAR	0636	CODE
BUILDIT  . . . . . . . . . . . .  	L NEAR	061A	CODE
BXFLG  . . . . . . . . . . . . .  	V BYTE	0000	DATA	External
BXREG  . . . . . . . . . . . . .  	NUMBER	5842	
BYTEBUF  . . . . . . . . . . . .  	V BYTE	0000	DATA	External

CALLJ1 . . . . . . . . . . . . .  	L NEAR	01B1	CODE
CALLJ2 . . . . . . . . . . . . .  	L NEAR	01C5	CODE
CALLJ3 . . . . . . . . . . . . .  	L NEAR	01D7	CODE
CALLJ5 . . . . . . . . . . . . .  	L NEAR	01EB	CODE
CALLJ6 . . . . . . . . . . . . .  	L NEAR	01FD	CODE
CALL_OPER  . . . . . . . . . . .  	L NEAR	0195	CODE	Global
CARGS  . . . . . . . . . . . . .  	NUMBER	0000	
CHAR_AT_SIGN . . . . . . . . . .  	NUMBER	0040	
CHAR_BACKSPACE . . . . . . . . .  	NUMBER	0008	
CHAR_BLANK . . . . . . . . . . .  	NUMBER	0020	
CHAR_COLON . . . . . . . . . . .  	NUMBER	003A	
CHAR_COMMA . . . . . . . . . . .  	NUMBER	002C	
CHAR_EOF . . . . . . . . . . . .  	NUMBER	001A	
CHAR_EQUAL . . . . . . . . . . .  	NUMBER	003D	
CHAR_LEFT_BRACKET  . . . . . . .  	NUMBER	005B	
CHAR_MINUS . . . . . . . . . . .  	NUMBER	002D	
CHAR_OPER  . . . . . . . . . . .  	NUMBER	0037	
CHAR_PERIOD  . . . . . . . . . .  	NUMBER	002E	
CHAR_RUBOUT  . . . . . . . . . .  	NUMBER	007F	
CHAR_SEMICOLON . . . . . . . . .  	NUMBER	003B	
CHAR_TAB . . . . . . . . . . . .  	NUMBER	0009	
CHAR_ZERO  . . . . . . . . . . .  	NUMBER	0030	
CHDIR  . . . . . . . . . . . . .  	NUMBER	003B	
CHKREG . . . . . . . . . . . . .  	L NEAR	08E9	CODE
CHKSIZ . . . . . . . . . . . . .  	L NEAR	0928	CODE
CHKSIZ1  . . . . . . . . . . . .  	L NEAR	092E	CODE
CHMOD  . . . . . . . . . . . . .  	NUMBER	0043	
CLOSE  . . . . . . . . . . . . .  	NUMBER	003E	
COMMA  . . . . . . . . . . . . .  	NUMBER	2C00	
COMMIT . . . . . . . . . . . . .  	NUMBER	0068	
CR . . . . . . . . . . . . . . .  	NUMBER	000D	
CREAT  . . . . . . . . . . . . .  	NUMBER	003C	
CREATENEWFILE  . . . . . . . . .  	NUMBER	005B	
CREATETEMPFILE . . . . . . . . .  	NUMBER	005A	
CREATE_PROCESS_DATA_BLOCK  . . .  	NUMBER	0026	
CRITASSIGN . . . . . . . . . . .  	NUMBER	0008	
CRITDEVICE . . . . . . . . . . .  	NUMBER	0002	
CRITDISK . . . . . . . . . . . .  	NUMBER	0001	
CRITIFS  . . . . . . . . . . . .  	NUMBER	0006	
CRITMEM  . . . . . . . . . . . .  	NUMBER	0001	
CRITNET  . . . . . . . . . . . .  	NUMBER	0005	
CRITSFT  . . . . . . . . . . . .  	NUMBER	0001	
CRITSHARE  . . . . . . . . . . .  	NUMBER	0001	
CSSAVE . . . . . . . . . . . . .  	V WORD	0000	CONST	External
CURDIRLEN  . . . . . . . . . . .  	NUMBER	0058	
CURDIR_INUSE . . . . . . . . . .  	NUMBER	4000	
CURDIR_ISIFS . . . . . . . . . .  	NUMBER	8000	
CURDIR_ISNET . . . . . . . . . .  	NUMBER	8000	
CURDIR_LOCAL . . . . . . . . . .  	NUMBER	1000	
CURDIR_NETID . . . . . . . . . .  	DWORD	0049	
CURDIR_SPLICE  . . . . . . . . .  	NUMBER	2000	
CURRENT_DIR  . . . . . . . . . .  	NUMBER	0047	
C_BS . . . . . . . . . . . . . .  	NUMBER	0008	
C_CR . . . . . . . . . . . . . .  	NUMBER	000D	
C_DEL  . . . . . . . . . . . . .  	NUMBER	007F	
C_ETB  . . . . . . . . . . . . .  	NUMBER	0017	
C_ETX  . . . . . . . . . . . . .  	NUMBER	0003	
C_HT . . . . . . . . . . . . . .  	NUMBER	0009	
C_LF . . . . . . . . . . . . . .  	NUMBER	000A	
C_NAK  . . . . . . . . . . . . .  	NUMBER	0015	

DATRET . . . . . . . . . . . . .  	L NEAR	010F	CODE
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:18
DEBASM.ASM                                                  Symbols-7


DB0  . . . . . . . . . . . . . .  	L NEAR	09CF	CODE
DB1  . . . . . . . . . . . . . .  	L NEAR	09D9	CODE
DB2  . . . . . . . . . . . . . .  	L NEAR	09E9	CODE
DB3  . . . . . . . . . . . . . .  	L NEAR	09EC	CODE
DB4  . . . . . . . . . . . . . .  	L NEAR	09FC	CODE
DB41 . . . . . . . . . . . . . .  	L NEAR	0A06	CODE
DB5  . . . . . . . . . . . . . .  	L NEAR	0A10	CODE
DB6  . . . . . . . . . . . . . .  	L NEAR	0A1E	CODE
DB7  . . . . . . . . . . . . . .  	L NEAR	0A1F	CODE
DBCS . . . . . . . . . . . . . .  	NUMBER	0000	
DBEN . . . . . . . . . . . . . .  	L NEAR	09C9	CODE
DBEX . . . . . . . . . . . . . .  	L NEAR	09D6	CODE
DBMN . . . . . . . . . . . . . .  	V BYTE	0000	CONST	External
DB_OPER  . . . . . . . . . . . .  	L NEAR	09C7	CODE	Global
DCINC_OPER . . . . . . . . . . .  	L NEAR	027F	CODE	Global
DEALLOC  . . . . . . . . . . . .  	NUMBER	0049	
DEBUG  . . . . . . . . . . . . .  	NUMBER	0000	
DEFAULT  . . . . . . . . . . . .  	L NEAR	0000	CODE	External
DEVID_BLOCK_DEV  . . . . . . . .  	NUMBER	001F	
DEVID_DEVICE . . . . . . . . . .  	NUMBER	0080	
DEVID_DEVICE_CLOCK . . . . . . .  	NUMBER	0008	
DEVID_DEVICE_CON_IN  . . . . . .  	NUMBER	0001	
DEVID_DEVICE_CON_OUT . . . . . .  	NUMBER	0002	
DEVID_DEVICE_EOF . . . . . . . .  	NUMBER	0040	
DEVID_DEVICE_NULL  . . . . . . .  	NUMBER	0004	
DEVID_DEVICE_RAW . . . . . . . .  	NUMBER	0020	
DEVID_DEVICE_SPECIAL . . . . . .  	NUMBER	0010	
DEVID_EOF  . . . . . . . . . . .  	NUMBER	0040	
DEVID_FILE_CLEAN . . . . . . . .  	NUMBER	0040	
DEVID_FILE_MASK_DRIVE  . . . . .  	NUMBER	003F	
DEVID_ISCIN  . . . . . . . . . .  	NUMBER	0001	
DEVID_ISCLK  . . . . . . . . . .  	NUMBER	0008	
DEVID_ISCOT  . . . . . . . . . .  	NUMBER	0002	
DEVID_ISDEV  . . . . . . . . . .  	NUMBER	0080	
DEVID_ISNUL  . . . . . . . . . .  	NUMBER	0004	
DEVID_RAW  . . . . . . . . . . .  	NUMBER	0020	
DEVID_SPECIAL  . . . . . . . . .  	NUMBER	0010	
DIFLG  . . . . . . . . . . . . .  	V BYTE	0000	DATA	External
DIREG  . . . . . . . . . . . . .  	NUMBER	4944	
DIRFLG . . . . . . . . . . . . .  	V BYTE	0000	DATA	External
DIRSTRLEN  . . . . . . . . . . .  	NUMBER	0043	
DIR_SEARCH_FIRST . . . . . . . .  	NUMBER	0011	
DIR_SEARCH_NEXT  . . . . . . . .  	NUMBER	0012	
DISK_RESET . . . . . . . . . . .  	NUMBER	000D	
DISP8_OPER . . . . . . . . . . .  	L NEAR	0236	CODE	Global
DISPX  . . . . . . . . . . . . .  	L NEAR	024B	CODE
DOORG  . . . . . . . . . . . . .  	L NEAR	0A25	CODE	Global
DOUBLE_QUOTE . . . . . . . . . .  	NUMBER	0022	
DPBSIZ . . . . . . . . . . . . .  	NUMBER	0021	
DSKSIZ . . . . . . . . . . . . .  	NUMBER	000D	
DUP_PDB  . . . . . . . . . . . .  	NUMBER	0055	
DW_OPER  . . . . . . . . . . . .  	L NEAR	09C2	CODE	Global

ECS_CALL . . . . . . . . . . . .  	NUMBER	0063	
EMS_GET_MAN_STAT . . . . . . . .  	NUMBER	0040	
EMS_GET_PAGE_MAP . . . . . . . .  	NUMBER	0000	
EMS_GET_SET_PG_MP  . . . . . . .  	NUMBER	004E	
EMS_HANDLE_CNT . . . . . . . . .  	NUMBER	004B	
EMS_HANDLE_PAGES . . . . . . . .  	NUMBER	004D	
EMS_HANDLE_TOTAL . . . . . . . .  	NUMBER	00FF	
EMS_HAN_ALLOC  . . . . . . . . .  	NUMBER	0043	
EMS_LIM_40 . . . . . . . . . . .  	NUMBER	0040	
EMS_MAP_BUFF_SIZE  . . . . . . .  	NUMBER	000C	
EMS_MAP_MEMORY . . . . . . . . .  	NUMBER	0044	
EMS_PAGE_DEALL . . . . . . . . .  	NUMBER	0045	
EMS_PG_FRAME . . . . . . . . . .  	NUMBER	5800	
EMS_REST_PAGE_MAP  . . . . . . .  	NUMBER	0048	
EMS_SAVE_PAGE_MAP  . . . . . . .  	NUMBER	0047	
EMS_SET_PAGE_MAP . . . . . . . .  	NUMBER	0001	
EMS_UNALL_PG_CNT . . . . . . . .  	NUMBER	0042	
EMS_VERSION  . . . . . . . . . .  	NUMBER	0046	
ENTRYPOINT . . . . . . . . . . .  	NUMBER	00C0	
ERRACT_ABORT . . . . . . . . . .  	NUMBER	0004	
ERRACT_DLYRET  . . . . . . . . .  	NUMBER	0002	
ERRACT_IGNORE  . . . . . . . . .  	NUMBER	0006	
ERRACT_INTRET  . . . . . . . . .  	NUMBER	0007	
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:18
DEBASM.ASM                                                  Symbols-8


ERRACT_PANIC . . . . . . . . . .  	NUMBER	0005	
ERRACT_RETRY . . . . . . . . . .  	NUMBER	0001	
ERRACT_USER  . . . . . . . . . .  	NUMBER	0003	
ERRCLASS_ALREADY . . . . . . . .  	NUMBER	000C	
ERRCLASS_APPERR  . . . . . . . .  	NUMBER	0007	
ERRCLASS_AUTH  . . . . . . . . .  	NUMBER	0003	
ERRCLASS_BADFMT  . . . . . . . .  	NUMBER	0009	
ERRCLASS_HRDFAIL . . . . . . . .  	NUMBER	0005	
ERRCLASS_INTRN . . . . . . . . .  	NUMBER	0004	
ERRCLASS_LOCKED  . . . . . . . .  	NUMBER	000A	
ERRCLASS_MEDIA . . . . . . . . .  	NUMBER	000B	
ERRCLASS_NOTFND  . . . . . . . .  	NUMBER	0008	
ERRCLASS_OUTRES  . . . . . . . .  	NUMBER	0001	
ERRCLASS_SYSFAIL . . . . . . . .  	NUMBER	0006	
ERRCLASS_TEMPSIT . . . . . . . .  	NUMBER	0002	
ERRCLASS_UNK . . . . . . . . . .  	NUMBER	000D	
ERRET  . . . . . . . . . . . . .  	L NEAR	06F2	CODE
ERRLOC_DISK  . . . . . . . . . .  	NUMBER	0002	
ERRLOC_MEM . . . . . . . . . . .  	NUMBER	0005	
ERRLOC_NET . . . . . . . . . . .  	NUMBER	0003	
ERRLOC_SERDEV  . . . . . . . . .  	NUMBER	0004	
ERRLOC_UNK . . . . . . . . . . .  	NUMBER	0001	
ERROR_ACCESS_DENIED  . . . . . .  	NUMBER	0005	
ERROR_ALREADY_ASSIGNED . . . . .  	NUMBER	0055	
ERROR_ARENA_TRASHED  . . . . . .  	NUMBER	0007	
ERROR_BAD_COMMAND  . . . . . . .  	NUMBER	0016	
ERROR_BAD_ENVIRONMENT  . . . . .  	NUMBER	000A	
ERROR_BAD_FORMAT . . . . . . . .  	NUMBER	000B	
ERROR_BAD_LENGTH . . . . . . . .  	NUMBER	0018	
ERROR_BAD_UNIT . . . . . . . . .  	NUMBER	0014	
ERROR_CANNOT_MAKE  . . . . . . .  	NUMBER	0052	
ERROR_CODE_PAGE_MISMATCHED . . .  	NUMBER	0025	
ERROR_CRC  . . . . . . . . . . .  	NUMBER	0017	
ERROR_CURRENT_DIRECTORY  . . . .  	NUMBER	0010	
ERROR_DUP_FCB  . . . . . . . . .  	NUMBER	0051	
ERROR_FAIL_I24 . . . . . . . . .  	NUMBER	0053	
ERROR_FCB_UNAVAILABLE  . . . . .  	NUMBER	0023	
ERROR_FILE_EXISTS  . . . . . . .  	NUMBER	0050	
ERROR_FILE_NOT_FOUND . . . . . .  	NUMBER	0002	
ERROR_GEN_FAILURE  . . . . . . .  	NUMBER	001F	
ERROR_HANDLE_DISK_FULL . . . . .  	NUMBER	0027	
ERROR_HANDLE_EOF . . . . . . . .  	NUMBER	0026	
ERROR_I24_BAD_COMMAND  . . . . .  	NUMBER	0003	
ERROR_I24_BAD_LENGTH . . . . . .  	NUMBER	0005	
ERROR_I24_BAD_UNIT . . . . . . .  	NUMBER	0001	
ERROR_I24_CRC  . . . . . . . . .  	NUMBER	0004	
ERROR_I24_GEN_FAILURE  . . . . .  	NUMBER	000C	
ERROR_I24_NOT_DOS_DISK . . . . .  	NUMBER	0007	
ERROR_I24_NOT_READY  . . . . . .  	NUMBER	0002	
ERROR_I24_OUT_OF_PAPER . . . . .  	NUMBER	0009	
ERROR_I24_READ_FAULT . . . . . .  	NUMBER	000B	
ERROR_I24_SECTOR_NOT_FOUND . . .  	NUMBER	0008	
ERROR_I24_SEEK . . . . . . . . .  	NUMBER	0006	
ERROR_I24_WRITE_FAULT  . . . . .  	NUMBER	000A	
ERROR_I24_WRITE_PROTECT  . . . .  	NUMBER	0000	
ERROR_I24_WRONG_DISK . . . . . .  	NUMBER	000F	
ERROR_INVALID_ACCESS . . . . . .  	NUMBER	000C	
ERROR_INVALID_BLOCK  . . . . . .  	NUMBER	0009	
ERROR_INVALID_DATA . . . . . . .  	NUMBER	000D	
ERROR_INVALID_DRIVE  . . . . . .  	NUMBER	000F	
ERROR_INVALID_FUNCTION . . . . .  	NUMBER	0001	
ERROR_INVALID_HANDLE . . . . . .  	NUMBER	0006	
ERROR_INVALID_PARAMETER  . . . .  	NUMBER	0057	
ERROR_INVALID_PASSWORD . . . . .  	NUMBER	0056	
ERROR_LOCK_VIOLATION . . . . . .  	NUMBER	0021	
ERROR_NET_WRITE_FAULT  . . . . .  	NUMBER	0058	
ERROR_NOT_DOS_DISK . . . . . . .  	NUMBER	001A	
ERROR_NOT_ENOUGH_MEMORY  . . . .  	NUMBER	0008	
ERROR_NOT_READY  . . . . . . . .  	NUMBER	0015	
ERROR_NOT_SAME_DEVICE  . . . . .  	NUMBER	0011	
ERROR_NOT_SUPPORTED  . . . . . .  	NUMBER	0032	
ERROR_NO_MORE_FILES  . . . . . .  	NUMBER	0012	
ERROR_OUT_OF_PAPER . . . . . . .  	NUMBER	001C	
ERROR_OUT_OF_STRUCTURES  . . . .  	NUMBER	0054	
ERROR_PATH_NOT_FOUND . . . . . .  	NUMBER	0003	
ERROR_READ_FAULT . . . . . . . .  	NUMBER	001E	
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:18
DEBASM.ASM                                                  Symbols-9


ERROR_SECTOR_NOT_FOUND . . . . .  	NUMBER	001B	
ERROR_SEEK . . . . . . . . . . .  	NUMBER	0019	
ERROR_SHARING_BUFFER_EXCEEDED  .  	NUMBER	0024	
ERROR_SHARING_VIOLATION  . . . .  	NUMBER	0020	
ERROR_SYS_COMP_NOT_LOADED  . . .  	NUMBER	005A	
ERROR_TOO_MANY_OPEN_FILES  . . .  	NUMBER	0004	
ERROR_WRITE_FAULT  . . . . . . .  	NUMBER	001D	
ERROR_WRITE_PROTECT  . . . . . .  	NUMBER	0013	
ERROR_WRONG_DISK . . . . . . . .  	NUMBER	0022	
ERRV1  . . . . . . . . . . . . .  	L NEAR	0138	CODE
ERRV2  . . . . . . . . . . . . .  	L NEAR	02A6	CODE
ERRV3  . . . . . . . . . . . . .  	L NEAR	04B0	CODE
ERRV5  . . . . . . . . . . . . .  	L NEAR	03F8	CODE
ERRZ4  . . . . . . . . . . . . .  	L NEAR	01B6	CODE
ESC_OPER . . . . . . . . . . . .  	L NEAR	02A9	CODE	Global
EXEC . . . . . . . . . . . . . .  	NUMBER	004B	
EXEC_FUNC_NO_EXECUTE . . . . . .  	NUMBER	0001	
EXEC_FUNC_OVERLAY  . . . . . . .  	NUMBER	0002	
EXEFCB . . . . . . . . . . . . .  	ALIAS	 FCB		
EXE_VALID_OLD_SIGNATURE  . . . .  	NUMBER	4D5A	
EXE_VALID_SIGNATURE  . . . . . .  	NUMBER	5A4D	
EXISTS_MASK  . . . . . . . . . .  	NUMBER	000F	
EXIT . . . . . . . . . . . . . .  	NUMBER	004C	
EXIT_ABORT . . . . . . . . . . .  	NUMBER	0000	
EXIT_CTRL_C  . . . . . . . . . .  	NUMBER	0001	
EXIT_HARD_ERROR  . . . . . . . .  	NUMBER	0002	
EXIT_KEEP_PROCESS  . . . . . . .  	NUMBER	0003	
EXIT_TERMINATE . . . . . . . . .  	NUMBER	0000	
EXPECTED_VERSION . . . . . . . .  	NUMBER	0004	
EXTHANDLE  . . . . . . . . . . .  	NUMBER	0067	
EXTOPEN  . . . . . . . . . . . .  	NUMBER	006C	
EXT_EXISTS_FAIL  . . . . . . . .  	NUMBER	0000	
EXT_EXISTS_OPEN  . . . . . . . .  	NUMBER	0001	
EXT_FILE_NOT_EXISTS  . . . . . .  	NUMBER	0004	
EXT_NEXISTS_CREATE . . . . . . .  	NUMBER	0010	
EXT_OPEN_I24_OFF . . . . . . . .  	NUMBER	0002	
EXT_OPEN_ON  . . . . . . . . . .  	NUMBER	0001	
EXVEC  . . . . . . . . . . . . .  	L NEAR	042F	CODE
EX_OPER  . . . . . . . . . . . .  	L NEAR	039D	CODE	Global

F8087  . . . . . . . . . . . . .  	V BYTE	0000	DATA	External
FALSE  . . . . . . . . . . . . .  	NUMBER	0000	
FCB  . . . . . . . . . . . . . .  	NUMBER	005C	
FCBDEVICE  . . . . . . . . . . .  	NUMBER	0040	
FCBMASK  . . . . . . . . . . . .  	NUMBER	00C0	
FCBNETWORK . . . . . . . . . . .  	NUMBER	0080	
FCBSHARE . . . . . . . . . . . .  	NUMBER	00C0	
FCBSPECIAL . . . . . . . . . . .  	NUMBER	0080	
FCB_CLOSE  . . . . . . . . . . .  	NUMBER	0010	
FCB_CREATE . . . . . . . . . . .  	NUMBER	0016	
FCB_DELETE . . . . . . . . . . .  	NUMBER	0013	
FCB_L_ATTR . . . . . . . . . . .  	BYTE	001E	
FCB_L_DRIVE  . . . . . . . . . .  	BYTE	0019	
FCB_L_FIRCLUS  . . . . . . . . .  	WORD	001A	
FCB_L_MFS  . . . . . . . . . . .  	WORD	001C	
FCB_NETID  . . . . . . . . . . .  	DWORD	001C	
FCB_NET_DRIVE  . . . . . . . . .  	BYTE	0019	
FCB_NET_HANDLE . . . . . . . . .  	WORD	001A	
FCB_NSLD_DRIVE . . . . . . . . .  	BYTE	0019	
FCB_NSLD_DRVPTR  . . . . . . . .  	DWORD	001A	
FCB_NSL_BITS . . . . . . . . . .  	BYTE	001A	
FCB_NSL_DIRPOS . . . . . . . . .  	BYTE	001F	
FCB_NSL_DIRSEC . . . . . . . . .  	WORD	001D	
FCB_NSL_DRIVE  . . . . . . . . .  	BYTE	0019	
FCB_NSL_FIRCLUS  . . . . . . . .  	WORD	001B	
FCB_OPEN . . . . . . . . . . . .  	NUMBER	000F	
FCB_RANDOM_READ  . . . . . . . .  	NUMBER	0021	
FCB_RANDOM_READ_BLOCK  . . . . .  	NUMBER	0027	
FCB_RANDOM_WRITE . . . . . . . .  	NUMBER	0022	
FCB_RANDOM_WRITE_BLOCK . . . . .  	NUMBER	0028	
FCB_RENAME . . . . . . . . . . .  	NUMBER	0017	
FCB_SEQ_READ . . . . . . . . . .  	NUMBER	0014	
FCB_SEQ_WRITE  . . . . . . . . .  	NUMBER	0015	
FCB_SFN  . . . . . . . . . . . .  	BYTE	0018	
FCHK . . . . . . . . . . . . . .  	NUMBER	0001	
FD9_OPER . . . . . . . . . . . .  	L NEAR	0090	CODE	Global
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:18
DEBASM.ASM                                                  Symbols-10


FDB_OPER . . . . . . . . . . . .  	L NEAR	008C	CODE	Global
FDELIM . . . . . . . . . . . . .  	NUMBER	0002	
FDE_OPER . . . . . . . . . . . .  	L NEAR	0088	CODE	Global
FDX_OPER . . . . . . . . . . . .  	L NEAR	0092	CODE
FEXIT  . . . . . . . . . . . . .  	L NEAR	0314	CODE
FFCB . . . . . . . . . . . . . .  	NUMBER	0008	
FGROUP . . . . . . . . . . . . .  	L NEAR	02F9	CODE	Global
FGROUP1  . . . . . . . . . . . .  	L NEAR	0311	CODE
FGROUP3  . . . . . . . . . . . .  	L NEAR	031F	CODE	Global
FGROUP3E . . . . . . . . . . . .  	L NEAR	0321	CODE
FGROUP3W . . . . . . . . . . . .  	L NEAR	031B	CODE	Global
FGROUPB  . . . . . . . . . . . .  	L NEAR	0317	CODE	Global
FGROUPDS . . . . . . . . . . . .  	L NEAR	02CF	CODE	Global
FGROUPP  . . . . . . . . . . . .  	L NEAR	0337	CODE	Global
FGROUPX  . . . . . . . . . . . .  	L NEAR	02EF	CODE	Global
FGROUPZ  . . . . . . . . . . . .  	L NEAR	034C	CODE	Global
FGRP . . . . . . . . . . . . . .  	L NEAR	0332	CODE
FGRP2  . . . . . . . . . . . . .  	L NEAR	02FC	CODE
FGRPERR  . . . . . . . . . . . .  	L NEAR	0349	CODE
FILDIRENT  . . . . . . . . . . .  	NUMBER	0010	
FILE_TIMES . . . . . . . . . . .  	NUMBER	0057	
FILPERPROC . . . . . . . . . . .  	NUMBER	0014	
FIND_FIRST . . . . . . . . . . .  	NUMBER	004E	
FIND_NEXT  . . . . . . . . . . .  	NUMBER	004F	
FSPCHK . . . . . . . . . . . . .  	NUMBER	0004	
F_AUX  . . . . . . . . . . . . .  	NUMBER	0010	
F_CARRY  . . . . . . . . . . . .  	NUMBER	0001	
F_DIRECTION  . . . . . . . . . .  	NUMBER	0400	
F_INTERRUPT  . . . . . . . . . .  	NUMBER	0200	
F_OVERFLOW . . . . . . . . . . .  	NUMBER	0800	
F_PARITY . . . . . . . . . . . .  	NUMBER	0004	
F_SIGN . . . . . . . . . . . . .  	NUMBER	0080	
F_TRACE  . . . . . . . . . . . .  	NUMBER	0100	
F_ZERO . . . . . . . . . . . . .  	NUMBER	0040	

G21V . . . . . . . . . . . . . .  	L NEAR	03FB	CODE
G22V . . . . . . . . . . . . . .  	L NEAR	04F8	CODE
GENERIC_IOCTL  . . . . . . . . .  	NUMBER	440D	
GETCURRENTPSP  . . . . . . . . .  	NUMBER	0062	
GETEXTCNTRY  . . . . . . . . . .  	NUMBER	0065	
GETEXTENDEDERROR . . . . . . . .  	NUMBER	0059	
GETHX  . . . . . . . . . . . . .  	L NEAR	0000	CODE	External
GETINFO  . . . . . . . . . . . .  	L NEAR	0780	CODE
GETLOOP  . . . . . . . . . . . .  	L NEAR	069E	CODE
GETLOOP1 . . . . . . . . . . . .  	L NEAR	06A3	CODE
GETLOOPV . . . . . . . . . . . .  	L NEAR	08E6	CODE
GETOK  . . . . . . . . . . . . .  	L NEAR	0871	CODE
GETREG0  . . . . . . . . . . . .  	L NEAR	0785	CODE
GETREG1  . . . . . . . . . . . .  	L NEAR	078A	CODE
GETREG10 . . . . . . . . . . . .  	L NEAR	0888	CODE
GETREG11 . . . . . . . . . . . .  	L NEAR	0899	CODE
GETREG12 . . . . . . . . . . . .  	L NEAR	08AA	CODE
GETREG13 . . . . . . . . . . . .  	L NEAR	08DE	CODE
GETREG3  . . . . . . . . . . . .  	L NEAR	0797	CODE
GETREG41 . . . . . . . . . . . .  	L NEAR	07A8	CODE
GETREG5  . . . . . . . . . . . .  	L NEAR	07C7	CODE
GETREG6  . . . . . . . . . . . .  	L NEAR	07E2	CODE
GETREG7  . . . . . . . . . . . .  	L NEAR	07EA	CODE
GETREG8  . . . . . . . . . . . .  	L NEAR	0802	CODE
GETREG9  . . . . . . . . . . . .  	L NEAR	0877	CODE
GETREGADD  . . . . . . . . . . .  	L NEAR	07E6	CODE
GETREGMEM  . . . . . . . . . . .  	L NEAR	0677	CODE
GETREGMEM2 . . . . . . . . . . .  	L NEAR	067C	CODE
GETREGREG  . . . . . . . . . . .  	L NEAR	0841	CODE
GETRG01  . . . . . . . . . . . .  	L NEAR	0787	CODE
GETRG51  . . . . . . . . . . . .  	L NEAR	07DE	CODE
GETSETCDPG . . . . . . . . . . .  	NUMBER	0066	
GETSETMEDIAID  . . . . . . . . .  	NUMBER	0069	
GETTB  . . . . . . . . . . . . .  	L NEAR	06B9	CODE
GET_ADDRESS  . . . . . . . . . .  	L NEAR	0000	CODE	External
GET_CURRENT_PDB  . . . . . . . .  	NUMBER	0051	
GET_DATA16 . . . . . . . . . . .  	L NEAR	00F7	CODE	Global
GET_DATE . . . . . . . . . . . .  	NUMBER	002A	
GET_DEFAULT_DPB  . . . . . . . .  	NUMBER	001F	
GET_DEFAULT_DRIVE  . . . . . . .  	NUMBER	0019	
GET_DMA  . . . . . . . . . . . .  	NUMBER	002F	
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:18
DEBASM.ASM                                                  Symbols-11


GET_DPB  . . . . . . . . . . . .  	NUMBER	0032	
GET_DRIVE_FREESPACE  . . . . . .  	NUMBER	0036	
GET_FCB_FILE_LENGTH  . . . . . .  	NUMBER	0023	
GET_FCB_POSITION . . . . . . . .  	NUMBER	0024	
GET_INDOS_FLAG . . . . . . . . .  	NUMBER	0034	
GET_INTERRUPT_VECTOR . . . . . .  	NUMBER	0035	
GET_IN_VARS  . . . . . . . . . .  	NUMBER	0052	
GET_TIME . . . . . . . . . . . .  	NUMBER	002C	
GET_VERIFY_ON_WRITE  . . . . . .  	NUMBER	0054	
GET_VERSION  . . . . . . . . . .  	NUMBER	0030	
GOGET  . . . . . . . . . . . . .  	L NEAR	06BC	CODE
GOGO . . . . . . . . . . . . . .  	L NEAR	077B	CODE
GOMODE . . . . . . . . . . . . .  	L NEAR	06BF	CODE
GOMODE1  . . . . . . . . . . . .  	L NEAR	06F5	CODE
GOMODE2  . . . . . . . . . . . .  	L NEAR	0713	CODE
GOREG0 . . . . . . . . . . . . .  	L NEAR	0731	CODE
GOREG1 . . . . . . . . . . . . .  	L NEAR	0779	CODE
GOREGMEM . . . . . . . . . . . .  	L NEAR	0727	CODE
GROUP1 . . . . . . . . . . . . .  	L NEAR	0366	CODE	Global
GROUP2 . . . . . . . . . . . . .  	L NEAR	03AF	CODE	Global
GROUPE . . . . . . . . . . . . .  	L NEAR	036B	CODE
GROUPM . . . . . . . . . . . . .  	L NEAR	03B4	CODE
GRP21  . . . . . . . . . . . . .  	L NEAR	04A2	CODE
GRP22  . . . . . . . . . . . . .  	L NEAR	0582	CODE
GRP222 . . . . . . . . . . . . .  	L NEAR	05A7	CODE
GRP223 . . . . . . . . . . . . .  	L NEAR	059F	CODE
GRP23  . . . . . . . . . . . . .  	L NEAR	0489	CODE
GRP23X . . . . . . . . . . . . .  	L NEAR	048B	CODE
GRP24  . . . . . . . . . . . . .  	L NEAR	05CE	CODE
GRP25  . . . . . . . . . . . . .  	L NEAR	05D0	CODE
GRP28  . . . . . . . . . . . . .  	L NEAR	04C6	CODE
GRPEX  . . . . . . . . . . . . .  	L NEAR	05D2	CODE
GRPEX1 . . . . . . . . . . . . .  	L NEAR	049F	CODE
GRPSIZ . . . . . . . . . . . . .  	L NEAR	05B8	CODE
GTRG119  . . . . . . . . . . . .  	L NEAR	08B5	CODE
GTRG120  . . . . . . . . . . . .  	L NEAR	08B8	CODE
GTRG121  . . . . . . . . . . . .  	L NEAR	08BD	CODE
GTRG122  . . . . . . . . . . . .  	L NEAR	08D0	CODE

HANDLE_FAIL_I24  . . . . . . . .  	NUMBER	0100	
HEX_PTR  . . . . . . . . . . . .  	V BYTE	0000	DATA	External
HINUM  . . . . . . . . . . . . .  	V WORD	0000	DATA	External
HONGEUL  . . . . . . . . . . . .  	NUMBER	0063	

I24_AREA . . . . . . . . . . . .  	NUMBER	0006	
I24_CLASS  . . . . . . . . . . .  	NUMBER	0080	
I24_OPERATION  . . . . . . . . .  	NUMBER	0001	
IBM  . . . . . . . . . . . . . .  	ALIAS	 IBMVER		
IBMCOPYRIGHT . . . . . . . . . .  	ALIAS	 FALSE		
IBMJAPAN . . . . . . . . . . . .  	ALIAS	 FALSE		
IBMJAPVER  . . . . . . . . . . .  	ALIAS	 FALSE		
IBMVER . . . . . . . . . . . . .  	ALIAS	 TRUE		
IFS_IOCTL  . . . . . . . . . . .  	NUMBER	006B	
IMMACC . . . . . . . . . . . . .  	L NEAR	046E	CODE
IMMED1 . . . . . . . . . . . . .  	L NEAR	03FE	CODE
INBUF  . . . . . . . . . . . . .  	L NEAR	0000	CODE	External
INCSI2 . . . . . . . . . . . . .  	L NEAR	085D	CODE
INDEX  . . . . . . . . . . . . .  	V WORD	0000	DATA	External
INSTALLED  . . . . . . . . . . .  	NUMBER	FFFF	
INSTALLEDDATA  . . . . . . . . .  	NUMBER	0000	
INTBASE  . . . . . . . . . . . .  	NUMBER	0080	
INTERNAT . . . . . . . . . . . .  	ALIAS	 FALSE		
INTERNATIONAL  . . . . . . . . .  	NUMBER	0038	
INTERNAT_BLOCK_MAX . . . . . . .  	NUMBER	0020	
INTTAB . . . . . . . . . . . . .  	NUMBER	0020	
INT_24_ERROR . . . . . . . . . .  	NUMBER	2000	
INT_ABORT  . . . . . . . . . . .  	ALIAS	 INTTAB		
INT_COMMAND  . . . . . . . . . .  	NUMBER	0021	
INT_CTRL_C . . . . . . . . . . .  	NUMBER	0023	
INT_DISK_READ  . . . . . . . . .  	NUMBER	0025	
INT_DISK_WRITE . . . . . . . . .  	NUMBER	0026	
INT_FASTCON  . . . . . . . . . .  	NUMBER	0029	
INT_FATAL_ABORT  . . . . . . . .  	NUMBER	0024	
INT_IBM  . . . . . . . . . . . .  	NUMBER	002A	
INT_KEEP_PROCESS . . . . . . . .  	NUMBER	0027	
INT_MASK . . . . . . . . . . . .  	NUMBER	00FF	
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:18
DEBASM.ASM                                                  Symbols-12


INT_OPER . . . . . . . . . . . .  	L NEAR	0112	CODE	Global
INT_SPOOLER  . . . . . . . . . .  	NUMBER	0028	
INT_TERMINATE  . . . . . . . . .  	NUMBER	0022	
IN_0 . . . . . . . . . . . . . .  	L NEAR	013B	CODE
IN_1 . . . . . . . . . . . . . .  	L NEAR	013F	CODE
IN_OPER  . . . . . . . . . . . .  	L NEAR	012A	CODE	Global
IOCTL  . . . . . . . . . . . . .  	NUMBER	0044	
IO_MODE_ID . . . . . . . . . . .  	NUMBER	0002	

JAPAN  . . . . . . . . . . . . .  	ALIAS	 FALSE		
JMP_OPER . . . . . . . . . . . .  	L NEAR	0191	CODE	Global

KANJI  . . . . . . . . . . . . .  	ALIAS	 FALSE		
KEEP_PROCESS . . . . . . . . . .  	NUMBER	0031	
KOREA  . . . . . . . . . . . . .  	ALIAS	 FALSE		

LF . . . . . . . . . . . . . . .  	NUMBER	000A	
LOCKOPER . . . . . . . . . . . .  	NUMBER	005C	
LOWER_A  . . . . . . . . . . . .  	NUMBER	0061	
LOWER_Z  . . . . . . . . . . . .  	NUMBER	007A	
LOWNUM . . . . . . . . . . . . .  	V WORD	0000	DATA	External
LSEEK  . . . . . . . . . . . . .  	NUMBER	0042	
LSEEK_EOF_OPTION . . . . . . . .  	NUMBER	0002	
LSEEK_FROM_START . . . . . . . .  	NUMBER	0000	
L_OPER . . . . . . . . . . . . .  	L NEAR	0255	CODE	Global

MAJOR_VERSION  . . . . . . . . .  	NUMBER	0004	
MASKMOD  . . . . . . . . . . . .  	NUMBER	00C0	
MASKREG  . . . . . . . . . . . .  	NUMBER	0038	
MASKRM . . . . . . . . . . . . .  	NUMBER	0007	
MASK_PORT  . . . . . . . . . . .  	NUMBER	0021	
MAXBUCKETINPAGE  . . . . . . . .  	NUMBER	0002	
MAXBUFFINBUCKET  . . . . . . . .  	NUMBER	000F	
MAXOP  . . . . . . . . . . . . .  	NUMBER	0000		Communal
MEMFLG . . . . . . . . . . . . .  	V BYTE	0000	DATA	External
MEMS . . . . . . . . . . . . . .  	NUMBER	0001	
MIDFLD . . . . . . . . . . . . .  	V BYTE	0000	DATA	External
MINOR_VERSION  . . . . . . . . .  	NUMBER	0000	
MI_INT . . . . . . . . . . . . .  	NUMBER	00CD	
MI_LONG_CALL . . . . . . . . . .  	NUMBER	009A	
MI_LONG_JMP  . . . . . . . . . .  	NUMBER	00EA	
MI_LONG_RET  . . . . . . . . . .  	NUMBER	00CB	
MI_NEAR_RET  . . . . . . . . . .  	NUMBER	00C3	
MKDIR  . . . . . . . . . . . . .  	NUMBER	0039	
MODE . . . . . . . . . . . . . .  	V BYTE	0000	DATA	External
MORET  . . . . . . . . . . . . .  	L NEAR	06F1	CODE
MOV1 . . . . . . . . . . . . . .  	L NEAR	04F0	CODE
MOVFLG . . . . . . . . . . . . .  	V BYTE	0000	DATA	External
MOVOP  . . . . . . . . . . . . .  	L NEAR	03AB	CODE
MOV_OPER . . . . . . . . . . . .  	L NEAR	03A7	CODE	Global
MSVER  . . . . . . . . . . . . .  	NUMBER	0000	
MULTDOS  . . . . . . . . . . . .  	NUMBER	0012	
MULTIFS  . . . . . . . . . . . .  	NUMBER	0011	
MULTNET  . . . . . . . . . . . .  	NUMBER	0011	
MULTSHARE  . . . . . . . . . . .  	NUMBER	0010	

NEGFLG . . . . . . . . . . . . .  	V BYTE	0000	DATA	External
NLSFUNC  . . . . . . . . . . . .  	NUMBER	0014	
NOSIZE . . . . . . . . . . . . .  	L NEAR	0863	CODE
NOSWITCH . . . . . . . . . . . .  	L NEAR	054C	CODE
NOTGRP22 . . . . . . . . . . . .  	L NEAR	04FD	CODE
NOTMOV1  . . . . . . . . . . . .  	L NEAR	0432	CODE
NOTMOV2  . . . . . . . . . . . .  	L NEAR	04DA	CODE
NOTSEG . . . . . . . . . . . . .  	L NEAR	050F	CODE
NOTSEG1  . . . . . . . . . . . .  	L NEAR	04B3	CODE
NOTTST . . . . . . . . . . . . .  	L NEAR	047E	CODE
NOTTST2  . . . . . . . . . . . .  	L NEAR	04EC	CODE
NOT_EXISTS_MASK  . . . . . . . .  	NUMBER	00F0	
NO_CODE_PAGE_CHECK . . . . . . .  	NUMBER	0100	
NO_OPER  . . . . . . . . . . . .  	L NEAR	009B	CODE	Global
NUMFLG . . . . . . . . . . . . .  	V BYTE	0000	DATA	External

OEM_C1 . . . . . . . . . . . . .  	NUMBER	00F9	
OEM_C2 . . . . . . . . . . . . .  	NUMBER	00FA	
OEM_C3 . . . . . . . . . . . . .  	NUMBER	00FB	
OEM_C4 . . . . . . . . . . . . .  	NUMBER	00FC	
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:18
DEBASM.ASM                                                  Symbols-13


OEM_C5 . . . . . . . . . . . . .  	NUMBER	00FD	
OEM_C6 . . . . . . . . . . . . .  	NUMBER	00FE	
OEM_C7 . . . . . . . . . . . . .  	NUMBER	00FF	
OP1  . . . . . . . . . . . . . .  	L NEAR	0050	CODE
OPBUF  . . . . . . . . . . . . .  	V BYTE	0000	DATA	External
OPBUFLEN . . . . . . . . . . . .  	NUMBER	0023	
OPCODE . . . . . . . . . . . . .  	V WORD	0000	DATA	External
OPEN . . . . . . . . . . . . . .  	NUMBER	003D	
OPEN_FOR_BOTH  . . . . . . . . .  	NUMBER	0002	
OPEN_FOR_READ  . . . . . . . . .  	NUMBER	0000	
OPEN_FOR_WRITE . . . . . . . . .  	NUMBER	0001	
OPLOOK . . . . . . . . . . . . .  	L NEAR	0039	CODE
OPLOOP . . . . . . . . . . . . .  	L NEAR	0040	CODE
OPMATCH  . . . . . . . . . . . .  	L NEAR	0059	CODE
OPSCAN . . . . . . . . . . . . .  	L NEAR	003E	CODE
OPTAB  . . . . . . . . . . . . .  	V BYTE	0000	CONST	External
OUTDI  . . . . . . . . . . . . .  	L NEAR	0000	CODE	External
OUT_0  . . . . . . . . . . . . .  	L NEAR	0167	CODE
OUT_1  . . . . . . . . . . . . .  	L NEAR	017C	CODE
OUT_OPER . . . . . . . . . . . .  	L NEAR	015A	CODE	Global

PARSE_FILE_DESCRIPTOR  . . . . .  	NUMBER	0029	
PATHPARSE  . . . . . . . . . . .  	NUMBER	0061	
PDB_APPEND . . . . . . . . . . .  	BYTE	003D	
PDB_INTERCON . . . . . . . . . .  	BYTE	003C	
POP1 . . . . . . . . . . . . . .  	L NEAR	00AE	CODE
POP2 . . . . . . . . . . . . . .  	L NEAR	00E4	CODE
POP3 . . . . . . . . . . . . . .  	L NEAR	00F1	CODE
POP_OPER . . . . . . . . . . . .  	L NEAR	00AC	CODE	Global
PRINTF_CRLF  . . . . . . . . . .  	L NEAR	0000	CODE	External
PROMPT . . . . . . . . . . . . .  	NUMBER	002D	
PUSH_OPER  . . . . . . . . . . .  	L NEAR	00A8	CODE	Global
PUTREG . . . . . . . . . . . . .  	L NEAR	069B	CODE

RAW_CON_INPUT  . . . . . . . . .  	NUMBER	0007	
RAW_CON_IO . . . . . . . . . . .  	NUMBER	0006	
READ . . . . . . . . . . . . . .  	NUMBER	003F	
READ_SECTOR  . . . . . . . . . .  	NUMBER	0000	
READ_WRITE . . . . . . . . . . .  	NUMBER	0008	
REDIRECTOR . . . . . . . . . . .  	NUMBER	0000	
REG16  . . . . . . . . . . . . .  	V BYTE	0000	CONST	External
REG8 . . . . . . . . . . . . . .  	V BYTE	0000	CONST	External
REGFLG . . . . . . . . . . . . .  	V BYTE	0000	DATA	External
REGMEM . . . . . . . . . . . . .  	V BYTE	0000	DATA	External
REGTABLEN  . . . . . . . . . . .  	NUMBER	000E	
RENAME . . . . . . . . . . . . .  	NUMBER	0056	
RESERVED_BITS_MASK . . . . . . .  	NUMBER	FE00	
RETCHK . . . . . . . . . . . . .  	L NEAR	0939	CODE
RMDIR  . . . . . . . . . . . . .  	NUMBER	003A	
ROTERR . . . . . . . . . . . . .  	L NEAR	0392	CODE
ROTOP  . . . . . . . . . . . . .  	L NEAR	0376	CODE	Global
ROTOP1 . . . . . . . . . . . . .  	L NEAR	0395	CODE

SCANB  . . . . . . . . . . . . .  	L NEAR	0000	CODE	External
SCANBV . . . . . . . . . . . . .  	L NEAR	094D	CODE
SCANP  . . . . . . . . . . . . .  	L NEAR	0000	CODE	External
SCANS  . . . . . . . . . . . . .  	L NEAR	093A	CODE
SEGDIF . . . . . . . . . . . . .  	NUMBER	0000	
SEGFLG . . . . . . . . . . . . .  	V BYTE	0000	DATA	External
SERVERCALL . . . . . . . . . . .  	NUMBER	005D	
SETBLOCK . . . . . . . . . . . .  	NUMBER	004A	
SETCNTC  . . . . . . . . . . . .  	ALIAS	 TRUE		
SETDPB . . . . . . . . . . . . .  	NUMBER	0053	
SETERR . . . . . . . . . . . . .  	L NEAR	091F	CODE
SETMF  . . . . . . . . . . . . .  	L NEAR	0979	CODE
SETMFERR . . . . . . . . . . . .  	L NEAR	09BF	CODE
SETMFI . . . . . . . . . . . . .  	L NEAR	099A	CODE
SETMFRET . . . . . . . . . . . .  	L NEAR	09BE	CODE
SETMFRET2  . . . . . . . . . . .  	L NEAR	09BA	CODE
SETMFRET3  . . . . . . . . . . .  	L NEAR	09B0	CODE
SETMID . . . . . . . . . . . . .  	L NEAR	0950	CODE
SETSIZ . . . . . . . . . . . . .  	L NEAR	090A	CODE
SETSIZ1  . . . . . . . . . . . .  	L NEAR	0912	CODE
SETSIZ2  . . . . . . . . . . . .  	L NEAR	0923	CODE
SET_CTRL_C_TRAPPING  . . . . . .  	NUMBER	0033	
SET_CURRENT_PDB  . . . . . . . .  	NUMBER	0050	
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:18
DEBASM.ASM                                                  Symbols-14


SET_DATE . . . . . . . . . . . .  	NUMBER	002B	
SET_DEFAULT_DRIVE  . . . . . . .  	NUMBER	000E	
SET_DMA  . . . . . . . . . . . .  	NUMBER	001A	
SET_DRIVEID_OPTION . . . . . . .  	NUMBER	0001	
SET_INTERRUPT_VECTOR . . . . . .  	NUMBER	0025	
SET_OEM_HANDLER  . . . . . . . .  	NUMBER	00F8	
SET_PRINTER_FLAG . . . . . . . .  	NUMBER	0064	
SET_TIME . . . . . . . . . . . .  	NUMBER	002D	
SET_VERIFY_ON_WRITE  . . . . . .  	NUMBER	002E	
SF_BUSY  . . . . . . . . . . . .  	NUMBER	-0001	
SF_CLOSE_NODATE  . . . . . . . .  	NUMBER	4000	
SF_DEFAULT_NUMBER  . . . . . . .  	NUMBER	0005	
SF_FSDA  . . . . . . . . . . . .  	BYTE	0019	
SF_ISFCB . . . . . . . . . . . .  	NUMBER	8000	
SF_ISNET . . . . . . . . . . . .  	NUMBER	8000	
SF_LRU . . . . . . . . . . . . .  	WORD	0015	
SF_NETID . . . . . . . . . . . .  	BYTE	0019	
SF_NET_SPOOL . . . . . . . . . .  	NUMBER	0800	
SF_NO_INHERIT  . . . . . . . . .  	NUMBER	1000	
SF_OPENAGE . . . . . . . . . . .  	WORD	0017	
SF_PIPE  . . . . . . . . . . . .  	NUMBER	2000	
SF_SERIAL_ID . . . . . . . . . .  	WORD	000B	
SHAREF . . . . . . . . . . . . .  	NUMBER	0000	
SHARING_COMPAT . . . . . . . . .  	NUMBER	0000	
SHARING_DENY_BOTH  . . . . . . .  	NUMBER	0010	
SHARING_DENY_NONE  . . . . . . .  	NUMBER	0040	
SHARING_DENY_READ  . . . . . . .  	NUMBER	0030	
SHARING_DENY_WRITE . . . . . . .  	NUMBER	0020	
SHARING_MASK . . . . . . . . . .  	NUMBER	00F0	
SHARING_NET_FCB  . . . . . . . .  	NUMBER	0070	
SHARING_NO_INHERIT . . . . . . .  	NUMBER	0080	
SHMOD  . . . . . . . . . . . . .  	NUMBER	0006	
SHREG  . . . . . . . . . . . . .  	NUMBER	0003	
SHRM . . . . . . . . . . . . . .  	NUMBER	0000	
SIFLG  . . . . . . . . . . . . .  	V BYTE	0000	DATA	External
SINGLE_QUOTE . . . . . . . . . .  	NUMBER	0027	
SIREG  . . . . . . . . . . . . .  	NUMBER	4953	
SIZ8 . . . . . . . . . . . . . .  	V BYTE	0000	CONST	External
SPECX  . . . . . . . . . . . . .  	L NEAR	0574	CODE
STDAUX . . . . . . . . . . . . .  	NUMBER	0003	
STDERR . . . . . . . . . . . . .  	NUMBER	0002	
STDIN  . . . . . . . . . . . . .  	NUMBER	0000	
STDOUT . . . . . . . . . . . . .  	NUMBER	0001	
STDPRN . . . . . . . . . . . . .  	NUMBER	0004	
STD_AUX_INPUT  . . . . . . . . .  	NUMBER	0003	
STD_AUX_OUTPUT . . . . . . . . .  	NUMBER	0004	
STD_CON_INPUT  . . . . . . . . .  	NUMBER	0001	
STD_CON_INPUT_FLUSH  . . . . . .  	NUMBER	000C	
STD_CON_INPUT_NO_ECHO  . . . . .  	NUMBER	0008	
STD_CON_INPUT_STATUS . . . . . .  	NUMBER	000B	
STD_CON_OUTPUT . . . . . . . . .  	NUMBER	0002	
STD_CON_STRING_INPUT . . . . . .  	NUMBER	000A	
STD_CON_STRING_OUTPUT  . . . . .  	NUMBER	0009	
STD_PRINTER_OUTPUT . . . . . . .  	NUMBER	0005	
STD_PRINTF . . . . . . . . . . .  	L NEAR	0000	CODE	External
STUFFRET . . . . . . . . . . . .  	L NEAR	0908	CODE
STUFF_BYTES  . . . . . . . . . .  	L NEAR	08F3	CODE
SYNERR_PTR . . . . . . . . . . .  	V BYTE	0000	CONST	External
SYSVER . . . . . . . . . . . . .  	ALIAS	 FALSE		

TAB  . . . . . . . . . . . . . .  	L NEAR	0000	CODE	External
TEMPLEN  . . . . . . . . . . . .  	NUMBER	0086	
TEST1  . . . . . . . . . . . . .  	L NEAR	0484	CODE
TRUE . . . . . . . . . . . . . .  	NUMBER	FFFF	
TRUEBYTE . . . . . . . . . . . .  	NUMBER	00FF	
TST2 . . . . . . . . . . . . . .  	L NEAR	058D	CODE
TSTFLG . . . . . . . . . . . . .  	V BYTE	0000	DATA	External
TST_OPER . . . . . . . . . . . .  	L NEAR	03A1	CODE	Global

UNLINK . . . . . . . . . . . . .  	NUMBER	0041	
UPPER_A  . . . . . . . . . . . .  	NUMBER	0041	
UPPER_C  . . . . . . . . . . . .  	NUMBER	0043	
UPPER_E  . . . . . . . . . . . .  	NUMBER	0045	
UPPER_F  . . . . . . . . . . . .  	NUMBER	0046	
UPPER_L  . . . . . . . . . . . .  	NUMBER	004C	
UPPER_M  . . . . . . . . . . . .  	NUMBER	004D	
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:18
DEBASM.ASM                                                  Symbols-15


UPPER_N  . . . . . . . . . . . .  	NUMBER	004E	
UPPER_P  . . . . . . . . . . . .  	NUMBER	0050	
UPPER_S  . . . . . . . . . . . .  	NUMBER	0053	
UPPER_X  . . . . . . . . . . . .  	NUMBER	0058	
UPPER_Z  . . . . . . . . . . . .  	NUMBER	005A	
USEROPER . . . . . . . . . . . .  	NUMBER	005E	

VEC_BREAKPOINT . . . . . . . . .  	NUMBER	0003	
VEC_CRIT_ERR . . . . . . . . . .  	NUMBER	0024	
VEC_CTRL_BREAK . . . . . . . . .  	NUMBER	0023	
VEC_PRIMITIVE_DISK_READ  . . . .  	NUMBER	0025	
VEC_PRIMITIVE_DISK_WRITE . . . .  	NUMBER	0026	
VEC_SING_STEP  . . . . . . . . .  	NUMBER	0001	
VEC_TERM_ADDR  . . . . . . . . .  	NUMBER	0022	

WAITPROCESS  . . . . . . . . . .  	NUMBER	004D	
WRITE  . . . . . . . . . . . . .  	NUMBER	0040	
WRITE_SECTOR . . . . . . . . . .  	NUMBER	0000	

XDUP . . . . . . . . . . . . . .  	NUMBER	0045	
XDUP2  . . . . . . . . . . . . .  	NUMBER	0046	
XM_ERR80 . . . . . . . . . . . .  	NUMBER	0080	
XM_ERR83 . . . . . . . . . . . .  	NUMBER	0083	
XM_ERR84 . . . . . . . . . . . .  	NUMBER	0084	
XM_ERR85 . . . . . . . . . . . .  	NUMBER	0085	
XM_ERR86 . . . . . . . . . . . .  	NUMBER	0086	
XM_ERR87 . . . . . . . . . . . .  	NUMBER	0087	
XM_ERR88 . . . . . . . . . . . .  	NUMBER	0088	
XM_ERR89 . . . . . . . . . . . .  	NUMBER	0089	
XM_ERR8A . . . . . . . . . . . .  	NUMBER	008A	
XM_ERR8B . . . . . . . . . . . .  	NUMBER	008B	
XM_ERR8D . . . . . . . . . . . .  	NUMBER	008D	
XM_ERR8E . . . . . . . . . . . .  	NUMBER	008E	
XM_ERR8F . . . . . . . . . . . .  	NUMBER	008F	
XM_NOT_INST  . . . . . . . . . .  	NUMBER	00FF	
XNAMETRANS . . . . . . . . . . .  	NUMBER	0060	

ZLOOP  . . . . . . . . . . . . .  	L NEAR	083E	CODE

?PLM . . . . . . . . . . . . . .  	NUMBER	0000	
?WIN . . . . . . . . . . . . . .  	NUMBER	0000	
@CPU . . . . . . . . . . . . . .  	TEXT  0101h		
@FILENAME  . . . . . . . . . . .  	TEXT  debasm		
@VERSION . . . . . . . . . . . .  	TEXT  510		


   4036 Source  Lines
   4148 Total   Lines
   1092 Symbols

  43092 + 162669 Bytes symbol space free

      0 Warning Errors
      0 Severe  Errors
