      4096.lst         Hello, world!$			 Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 1

  
				PAGE  59,132
  
				;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
				;ÛÛ								         ÛÛ
				;ÛÛ			        4096				         ÛÛ
				;ÛÛ								         ÛÛ
				;ÛÛ      Created:   6-Jul-85					         ÛÛ
				;ÛÛ      Passes:    5	       Analysis Flags on: HQRS		         ÛÛ
				;ÛÛ								         ÛÛ
				;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
  
     = 000A			data_1e		equ	0Ah			; (0000:000A=0ECh)
     = 0012			data_3e		equ	12h			; (0000:0012=70h)
     = 0014			data_4e		equ	14h			; (0000:0014=0FF54h)
     = 0018			data_5e		equ	18h			; (0000:0018=0EAA6h)
     = 001A			data_6e		equ	1Ah			; (0000:001A=0F000h)
     = FD9F			data_7e		equ	0FD9Fh			; (0000:FD9F=0)
     = FDA1			data_8e		equ	0FDA1h			; (0000:FDA1=0)
     = FDA3			data_9e		equ	0FDA3h			; (0000:FDA3=0)
     = 000A			data_10e	equ	0Ah			; (0080:000A=0)
     = 000C			data_11e	equ	0Ch			; (0080:000C=0)
     = FD9F			data_12e	equ	0FD9Fh			; (0080:FD9F=0AD65h)
     = FDA1			data_13e	equ	0FDA1h			; (0080:FDA1=0B295h)
     = FDA3			data_14e	equ	0FDA3h			; (0080:FDA3=0EB10h)
     = 0001			data_15e	equ	1			; (48FF:0001=0FFFFh)
     = 0001			data_16e	equ	1			; (72F1:0001=0FFFFh)
     = 0003			data_17e	equ	3			; (72F2:0003=0)
     = 0006			data_19e	equ	6			; (72F2:0006=0)
     = 0008			data_20e	equ	8			; (72F2:0008=0)
     = 0020			data_21e	equ	20h			; (72F2:0020=0)
     = 118D			data_24e	equ	118Dh			; (72F2:118D=0)
     = 1200			data_25e	equ	1200h			; (72F2:1200=0)
     = 1204			data_28e	equ	1204h			; (72F2:1204=0)
     = 1208			data_29e	equ	1208h			; (72F2:1208=0)
     = 120A			data_30e	equ	120Ah			; (72F2:120A=0)
     = 120C			data_31e	equ	120Ch			; (72F2:120C=0)
     = 120E			data_32e	equ	120Eh			; (72F2:120E=0)
     = 1210			data_33e	equ	1210h			; (72F2:1210=0)
     = 1214			data_34e	equ	1214h			; (72F2:1214=0)
     = 1216			data_35e	equ	1216h			; (72F2:1216=0)
     = 1224			data_36e	equ	1224h			; (72F2:1224=0)
     = 1226			data_37e	equ	1226h			; (72F2:1226=0)
     = 1228			data_38e	equ	1228h			; (72F2:1228=0)
     = 1229			data_39e	equ	1229h			; (72F2:1229=0)
     = 122B			data_40e	equ	122Bh			; (72F2:122B=0)
     = 122D			data_41e	equ	122Dh			; (72F2:122D=0)
     = 122F			data_42e	equ	122Fh			; (72F2:122F=0)
     = 1231			data_43e	equ	1231h			; (72F2:1231=0)
     = 1235			data_45e	equ	1235h			; (72F2:1235=0)
     = 1239			data_46e	equ	1239h			; (72F2:1239=0)
     = 123B			data_47e	equ	123Bh			; (72F2:123B=0)
     = 123D			data_48e	equ	123Dh			; (72F2:123D=0)
     = 123F			data_49e	equ	123Fh			; (72F2:123F=0)
     = 1245			data_50e	equ	1245h			; (72F2:1245=0)
     = 1249			data_51e	equ	1249h			; (72F2:1249=0)
     = 124E			data_52e	equ	124Eh			; (72F2:124E=0)
     4096.lst         Hello, world!$			 Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 2

     = 1250			data_53e	equ	1250h			; (72F2:1250=0)
     = 1251			data_54e	equ	1251h			; (72F2:1251=0)
     = 12A2			data_55e	equ	12A2h			; (72F2:12A2=0)
     = 12A3			data_56e	equ	12A3h			; (72F2:12A3=0)
     = 12A5			data_57e	equ	12A5h			; (72F2:12A5=0)
     = 12A7			data_58e	equ	12A7h			; (72F2:12A7=0)
     = 12A9			data_59e	equ	12A9h			; (72F2:12A9=0)
     = 12AB			data_60e	equ	12ABh			; (72F2:12AB=0)
     = 12AD			data_61e	equ	12ADh			; (72F2:12AD=0)
     = 12AF			data_62e	equ	12AFh			; (72F2:12AF=0)
     = 12B1			data_63e	equ	12B1h			; (72F2:12B1=0)
     = 12B3			data_64e	equ	12B3h			; (72F2:12B3=0)
     = 12DA			data_65e	equ	12DAh			; (72F2:12DA=0)
     = 12DD			data_66e	equ	12DDh			; (72F2:12DD=0)
     = 12DF			data_67e	equ	12DFh			; (72F2:12DF=0)
     = 12E1			data_68e	equ	12E1h			; (72F2:12E1=0)
     = 12E2			data_69e	equ	12E2h			; (72F2:12E2=0)
     = 12E5			data_70e	equ	12E5h			; (72F2:12E5=0)
     = 12E6			data_71e	equ	12E6h			; (72F2:12E6=0)
     = 12E8			data_72e	equ	12E8h			; (72F2:12E8=0)
     = 12EA			data_73e	equ	12EAh			; (72F2:12EA=0)
     = 12EC			data_74e	equ	12ECh			; (72F2:12EC=0)
     = 12EE			data_75e	equ	12EEh			; (72F2:12EE=0)
     = 12EF			data_76e	equ	12EFh			; (72F2:12EF=0)
     = 12FF			data_77e	equ	12FFh			; (72F2:12FF=0)
     = 1301			data_78e	equ	1301h			; (72F2:1301=0)
     = 1303			data_79e	equ	1303h			; (72F2:1303=0)
     = 1357			data_81e	equ	1357h			; (72F2:1357=0)
     = 1359			data_82e	equ	1359h			; (72F2:1359=0)
     = 135B			data_83e	equ	135Bh			; (72F2:135B=0)
     = 135D			data_84e	equ	135Dh			; (72F2:135D=0)
     = 7C0A			data_85e	equ	7C0Ah			; (72F2:7C0A=0)
     = 7CD7			data_86e	equ	7CD7h			; (72F2:7CD7=0)
     = 7CE2			data_87e	equ	7CE2h			; (72F2:7CE2=0)
     = 7CE7			data_88e	equ	7CE7h			; (72F2:7CE7=0)
     = 0000			data_89e	equ	0			; (FEA0:0000=8Bh)
     = 0001			data_90e	equ	1			; (FEA0:0001=0E8C7h)
     = 0003			data_91e	equ	3			; (FEA0:0003=0Bh)
  
				seg_a		segment
						assume	cs:seg_a, ds:seg_a
  
  
						org	100h
  
				4096		proc	far
  
72F2:0100			start:
72F2:0100  E9 0285				jmp	loc_6			; (0388)
72F2:0103  09 15 71 21 CD			db	9, 15h, 71h, 21h, 0CDh
72F2:0108  20 48 65 6C 6C 6F			db	' Hello, world!$'
72F2:010E  2C 20 77 6F 72 6C
72F2:0114  64 21 24
72F2:0117  08 00 74 0B BA F9			db	8, 0, 74h, 0Bh, 0BAh, 0F9h
72F2:011D  E8 8A 00 00 E9 A7			db	0E8h, 8Ah, 0, 0, 0E9h, 0A7h
72F2:0123  00 B4 09 BA 09 01			db	0, 0B4h, 9, 0BAh, 9, 1
72F2:0129  CD 21 CD				db	0CDh, 21h, 0CDh
     4096.lst         Hello, world!$			 Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 3

72F2:012C  20 48 65 6C 6C 6F			db	' Hello, world!$'
72F2:0132  2C 20 77 6F 72 6C
72F2:0138  64 21 24
72F2:013B  08 00 74 0B BA 00			db	8, 0, 74h, 0Bh, 0BAh, 0
72F2:0141  FE 3A 55 8B EC 50			db	0FEh, 3Ah, 55h, 8Bh, 0ECh, 50h
72F2:0147  81 7E 04 00 C0 73			db	81h, 7Eh, 4, 0, 0C0h, 73h
72F2:014D  0C 2E A1 47 12 39			db	0Ch, 2Eh, 0A1h, 47h, 12h, 39h
72F2:0153  46 04 76 03				db	46h, 4, 76h, 3
72F2:0157			loc_1:						;  xref 72F2:0192, 0199
72F2:0157  58					pop	ax
72F2:0158  5D					pop	bp
72F2:0159  CF					iret				; Interrupt return
72F2:015A			loc_2:
72F2:015A  2E:80 3E 1250 01			cmp	byte ptr cs:data_53e,1	; (72F2:1250=0)
72F2:0160  74 32				je	loc_4			; Jump if equal
72F2:0162  8B 46 04				mov	ax,[bp+4]
72F2:0165  2E:A3 122F				mov	cs:data_42e,ax		; (72F2:122F=0)
72F2:0169  8B 46 02				mov	ax,[bp+2]
72F2:016C  2E:A3 122D				mov	cs:data_41e,ax		; (72F2:122D=0)
72F2:0170  72 15				jc	loc_3			; Jump if carry Set
72F2:0172  58					pop	ax
72F2:0173  5D					pop	bp
72F2:0174  2E:8E 16 12DD			mov	ss,cs:data_66e		; (72F2:12DD=0)
72F2:0179  2E:8B 26 12DF			mov	sp,cs:data_67e		; (72F2:12DF=0)
72F2:017E  2E:A0 12E5				mov	al,cs:data_70e		; (72F2:12E5=0)
72F2:0182  E6 21				out	21h,al			; port 21h, 8259-1 int comands
72F2:0184  E9 0CD9				jmp	loc_62			; (0E60)
72F2:0187			loc_3:						;  xref 72F2:0170, 01B3
72F2:0187  81 66 06 FEFF			and	word ptr [bp+6],0FEFFh
72F2:018C  2E:A0 12E5				mov	al,cs:data_70e		; (72F2:12E5=0)
72F2:0190  E6 21				out	21h,al			; port 21h, 8259-1 int comands
72F2:0192  EB C3				jmp	short loc_1		; (0157)
72F2:0194			loc_4:						;  xref 72F2:0160
72F2:0194  2E:FE 0E 1251			dec	byte ptr cs:data_54e	; (72F2:1251=0)
72F2:0199  75 BC				jnz	loc_1			; Jump if not zero
72F2:019B  81 66 06 FEFF			and	word ptr [bp+6],0FEFFh
72F2:01A0  E8 0D6C				call	sub_21			; (0F0F)
72F2:01A3  E8 0D34				call	sub_18			; (0EDA)
72F2:01A6  2E:C5 16 1231			lds	dx,dword ptr cs:data_43e	; (72F2:1231=0) Load 32 bit ptr
72F2:01AB  B0 01				mov	al,1
72F2:01AD  E8 0F0C				call	sub_26			; (10BC)
72F2:01B0  E8 0D53				call	sub_20			; (0F06)
72F2:01B3  EB D2				jmp	short loc_3		; (0187)
  
				4096		endp
  
				;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
				;			       SUBROUTINE
				;
				;         Called from:	 72F2:0DF3, 0E0A, 0E18, 0E75, 0F3E
				;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
  
				sub_1		proc	near
72F2:01B5  1E					push	ds
72F2:01B6  56					push	si
72F2:01B7  33 F6				xor	si,si			; Zero register
72F2:01B9  8E DE				mov	ds,si
     4096.lst         Hello, world!$			 Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 4

72F2:01BB  32 E4				xor	ah,ah			; Zero register
72F2:01BD  8B F0				mov	si,ax
72F2:01BF  D1 E6				shl	si,1			; Shift w/zeros fill
72F2:01C1  D1 E6				shl	si,1			; Shift w/zeros fill
72F2:01C3  8B 1C				mov	bx,[si]
72F2:01C5  8E 44 02				mov	es,[si+2]
72F2:01C8  5E					pop	si
72F2:01C9  1F					pop	ds
72F2:01CA  C3					retn
				sub_1		endp
  
72F2:01CB  2E C7 06 5B 13 00			db	2Eh, 0C7h, 6, 5Bh, 13h, 0
72F2:01D1  16 2E A3 E3 12 B4			db	16h, 2Eh, 0A3h, 0E3h, 12h, 0B4h
72F2:01D7  30 CD 21 2E A2 EE			db	30h, 0CDh, 21h, 2Eh, 0A2h, 0EEh
72F2:01DD  12 2E 8C 1E 45 12			db	12h, 2Eh, 8Ch, 1Eh, 45h, 12h
72F2:01E3  B4 52 CD 21 26 8B			db	0B4h, 52h, 0CDh, 21h, 26h, 8Bh
72F2:01E9  47 FE 2E A3 47 12			db	47h, 0FEh, 2Eh, 0A3h, 47h, 12h
72F2:01EF  8E C0 26 A1 01 00			db	8Eh, 0C0h, 26h, 0A1h, 1, 0
72F2:01F5  2E A3 49 12 0E 1F			db	2Eh, 0A3h, 49h, 12h, 0Eh, 1Fh
72F2:01FB  B0 01 E8 B5 FF 89			db	0B0h, 1, 0E8h, 0B5h, 0FFh, 89h
72F2:0201  1E 31 12 8C 06 33			db	1Eh, 31h, 12h, 8Ch, 6, 33h
72F2:0207  12 B0 21 E8 A8 FF			db	12h, 0B0h, 21h, 0E8h, 0A8h, 0FFh
72F2:020D  89 1E 2D 12 8C 06			db	89h, 1Eh, 2Dh, 12h, 8Ch, 6
72F2:0213  2F 12 C6 06 50 12			db	2Fh, 12h, 0C6h, 6, 50h, 12h
72F2:0219  00 BA 23 00 B0 01			db	0, 0BAh, 23h, 0, 0B0h, 1
72F2:021F  E8 9A 0E 9C 58 0D			db	0E8h, 9Ah, 0Eh, 9Ch, 58h, 0Dh
72F2:0225  00 01 50 E4 21 A2			db	0, 1, 50h, 0E4h, 21h, 0A2h
72F2:022B  E5 12 B0 FF E6 21			db	0E5h, 12h, 0B0h, 0FFh, 0E6h, 21h
72F2:0231  9D B4 52 9C FF 1E			db	9Dh, 0B4h, 52h, 9Ch, 0FFh, 1Eh
72F2:0237  2D 12 9C 58 25 FF			db	2Dh, 12h, 9Ch, 58h, 25h, 0FFh
72F2:023D  FE 50 9D A0 E5 12			db	0FEh, 50h, 9Dh, 0A0h, 0E5h, 12h
72F2:0243  E6 21 1E C5 16 31			db	0E6h, 21h, 1Eh, 0C5h, 16h, 31h
72F2:0249  12 B0 01 E8 6D 0E			db	12h, 0B0h, 1, 0E8h, 6Dh, 0Eh
72F2:024F  1F C4 3E 2D 12 89			db	1Fh, 0C4h, 3Eh, 2Dh, 12h, 89h
72F2:0255  3E 35 12 8C 06 37			db	3Eh, 35h, 12h, 8Ch, 6, 37h
72F2:025B  12 C6 06 4B 12 EA			db	12h, 0C6h, 6, 4Bh, 12h, 0EAh
72F2:0261  C7 06 4C 12 CC 02			db	0C7h, 6, 4Ch, 12h, 0CCh, 2
72F2:0267  8C 0E 4E 12 E8 6C			db	8Ch, 0Eh, 4Eh, 12h, 0E8h, 6Ch
72F2:026D  0C B8 00 4B 88 26			db	0Ch, 0B8h, 0, 4Bh, 88h, 26h
72F2:0273  E2 12 BA 21 00 FF			db	0E2h, 12h, 0BAh, 21h, 0, 0FFh
72F2:0279  36 20 00 CD 21 8F			db	36h, 20h, 0, 0CDh, 21h, 8Fh
72F2:027F  06 20 00 26 83 45			db	6, 20h, 0, 26h, 83h, 45h
72F2:0285  FC 09 90 8E 06 45			db	0FCh, 9, 90h, 8Eh, 6, 45h
72F2:028B  12 8E 1E 45 12 81			db	12h, 8Eh, 1Eh, 45h, 12h, 81h
72F2:0291  2E 02 00 61 01 8B			db	2Eh, 2, 0, 61h, 1, 8Bh
72F2:0297  2E 02 00 8C DA 2B			db	2Eh, 2, 0, 8Ch, 0DAh, 2Bh
72F2:029D  EA B4 4A BB FF FF			db	0EAh, 0B4h, 4Ah, 0BBh, 0FFh, 0FFh
72F2:02A3  CD 21 B4 4A CD 21			db	0CDh, 21h, 0B4h, 4Ah, 0CDh, 21h
72F2:02A9  4A 8E DA 80 3E 00			db	4Ah, 8Eh, 0DAh, 80h, 3Eh, 0
72F2:02AF  00 5A 74 05 2E FE			db	0, 5Ah, 74h, 5, 2Eh, 0FEh
72F2:02B5  0E E2 12 2E 80 3E			db	0Eh, 0E2h, 12h, 2Eh, 80h, 3Eh
72F2:02BB  E2 12 00 74 05 C6			db	0E2h, 12h, 0, 74h, 5, 0C6h
72F2:02C1  06 00 00				db	6, 0, 0
72F2:02C4  4D					db	4Dh
72F2:02C5			loc_5:
72F2:02C5  A1 0003				mov	ax,ds:data_17e		; (72F2:0003=0)
72F2:02C8  8B D8				mov	bx,ax
     4096.lst         Hello, world!$			 Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 5

72F2:02CA  2D 0161				sub	ax,161h
72F2:02CD  03 D0				add	dx,ax
72F2:02CF  A3 0003				mov	ds:data_17e,ax		; (72F2:0003=0)
72F2:02D2  42					inc	dx
72F2:02D3  8E C2				mov	es,dx
72F2:02D5  26:C6 06 0000 5A			mov	byte ptr es:data_89e,5Ah	; (FEA0:0000=8Bh) 'Z'
72F2:02DB  2E:FF 36 1249			push	word ptr cs:data_51e	; (72F2:1249=0)
72F2:02E0  26:8F 06 0001			pop	word ptr es:data_90e	; (FEA0:0001=0E8C7h)
72F2:02E5  26:C7 06 0003 0160			mov	word ptr es:data_91e,160h	; (FEA0:0003=0Bh)
72F2:02EC  42					inc	dx
72F2:02ED  8E C2				mov	es,dx
72F2:02EF  0E					push	cs
72F2:02F0  1F					pop	ds
72F2:02F1  B9 0B00				mov	cx,0B00h
72F2:02F4  BE 15FE				mov	si,15FEh
72F2:02F7  8B FE				mov	di,si
72F2:02F9  FD					std				; Set direction flag
72F2:02FA  F3/A5				rep	movsw			; Rep while cx>0 Mov [si] to es:[di]
72F2:02FC  FC					cld				; Clear direction
72F2:02FD  06					push	es
72F2:02FE  B8 01EE				mov	ax,1EEh
72F2:0301  50					push	ax
72F2:0302  2E:8E 06 1245			mov	es,cs:data_50e		; (72F2:1245=0)
72F2:0307  B4 4A				mov	ah,4Ah			; 'J'
72F2:0309  8B DD				mov	bx,bp
72F2:030B  CD 21				int	21h			; DOS Services  ah=function 4Ah
										;  change mem allocation, bx=siz
72F2:030D  CB					retf				; Return far
72F2:030E  E8 C9 0B 2E 8C 0E			db	0E8h, 0C9h, 0Bh, 2Eh, 8Ch, 0Eh
72F2:0314  4E 12 E8 C1 0B 0E			db	4Eh, 12h, 0E8h, 0C1h, 0Bh, 0Eh
72F2:031A  1F C6 06 A2 12 14			db	1Fh, 0C6h, 6, 0A2h, 12h, 14h
72F2:0320  0E 07 BF 52 12 B9			db	0Eh, 7, 0BFh, 52h, 12h, 0B9h
72F2:0326  14 00 33 C0 F3 AB			db	14h, 0, 33h, 0C0h, 0F3h, 0ABh
72F2:032C  A2 EF 12 A1 45 12			db	0A2h, 0EFh, 12h, 0A1h, 45h, 12h
72F2:0332  8E C0 26 C5 16 0A			db	8Eh, 0C0h, 26h, 0C5h, 16h, 0Ah
72F2:0338  00 8E D8 05 10 00			db	0, 8Eh, 0D8h, 5, 10h, 0
72F2:033E  2E 01 06 1A 00 2E			db	2Eh, 1, 6, 1Ah, 0, 2Eh
72F2:0344  80 3E 20 00 00 75			db	80h, 3Eh, 20h, 0, 0, 75h
72F2:034A  24 FB 2E A1 04 00			db	24h, 0FBh, 2Eh, 0A1h, 4, 0
72F2:0350  A3 00 01 2E A1 06			db	0A3h, 0, 1, 2Eh, 0A1h, 6
72F2:0356  00 A3 02 01 2E A1			db	0, 0A3h, 2, 1, 2Eh, 0A1h
72F2:035C  08 00 A3 04 01 2E			db	8, 0, 0A3h, 4, 1, 2Eh
72F2:0362  FF 36 45 12 B8 00			db	0FFh, 36h, 45h, 12h, 0B8h, 0
72F2:0368  01 50 2E A1 E3 12			db	1, 50h, 2Eh, 0A1h, 0E3h, 12h
72F2:036E  CB 2E 01 06 12 00			db	0CBh, 2Eh, 1, 6, 12h, 0
72F2:0374  2E A1 E3 12 2E 8E			db	2Eh, 0A1h, 0E3h, 12h, 2Eh, 8Eh
72F2:037A  16 12 00 2E 8B 26			db	16h, 12h, 0, 2Eh, 8Bh, 26h
72F2:0380  14 00 FB 2E FF 2E			db	14h, 0, 0FBh, 2Eh, 0FFh, 2Eh
72F2:0386  18 00				db	18h, 0
72F2:0388			loc_6:						;  xref 72F2:0100
72F2:0388  81 FC 0100				cmp	sp,100h
72F2:038C  77 02				ja	loc_7			; Jump if above
72F2:038E  33 E4				xor	sp,sp			; Zero register
72F2:0390			loc_7:						;  xref 72F2:038C
72F2:0390  8B E8				mov	bp,ax
72F2:0392  E8 0000				call	sub_2			; (0395)
  
     4096.lst         Hello, world!$			 Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 6

				;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
				;			       SUBROUTINE
				;
				;         Called from:	 72F2:0392
				;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
  
				sub_2		proc	near
72F2:0395  59					pop	cx
72F2:0396  81 E9 0275				sub	cx,275h
72F2:039A  8C C8				mov	ax,cs
72F2:039C  BB 0010				mov	bx,10h
72F2:039F  F7 E3				mul	bx			; dx:ax = reg * ax
72F2:03A1  03 C1				add	ax,cx
72F2:03A3  83 D2 00				adc	dx,0
72F2:03A6  F7 F3				div	bx			; ax,dx rem=dx:ax/reg
72F2:03A8  50					push	ax
72F2:03A9  B8 00AB				mov	ax,0ABh
72F2:03AC  50					push	ax
72F2:03AD  8B C5				mov	ax,bp
72F2:03AF  CB					retf				; Return far
				sub_2		endp
  
72F2:03B0  30 7C 07 23 4E 04			db	30h, 7Ch, 7, 23h, 4Eh, 4
72F2:03B6  37 8B 0E 4B 8B 05			db	37h, 8Bh, 0Eh, 4Bh, 8Bh, 5
72F2:03BC  3C D5 04 3D 11 05			db	3Ch, 0D5h, 4, 3Dh, 11h, 5
72F2:03C2  3E 55 05 0F 9B 03			db	3Eh, 55h, 5, 0Fh, 9Bh, 3
72F2:03C8  14 CD 03 21 C1 03			db	14h, 0CDh, 3, 21h, 0C1h, 3
72F2:03CE  27 BF 03 11 59 03			db	27h, 0BFh, 3, 11h, 59h, 3
72F2:03D4  12 59 03 4E 9F 04			db	12h, 59h, 3, 4Eh, 9Fh, 4
72F2:03DA  4F 9F 04 3F A5 0A			db	4Fh, 9Fh, 4, 3Fh, 0A5h, 0Ah
72F2:03E0  40 8A 0B 42 90 0A			db	40h, 8Ah, 0Bh, 42h, 90h, 0Ah
72F2:03E6  57 41 0A 48 34 0E			db	57h, 41h, 0Ah, 48h, 34h, 0Eh
72F2:03EC  3D 00 4B 75 04 2E			db	3Dh, 0, 4Bh, 75h, 4, 2Eh
72F2:03F2  A2 E2 12 55 8B EC			db	0A2h, 0E2h, 12h, 55h, 8Bh, 0ECh
72F2:03F8  FF 76 06 2E 8F 06			db	0FFh, 76h, 6, 2Eh, 8Fh, 6
72F2:03FE  B3 12 5D 55 8B EC			db	0B3h, 12h, 5Dh, 55h, 8Bh, 0ECh
72F2:0404  E8 08 0B E8 D0 0A			db	0E8h, 8, 0Bh, 0E8h, 0D0h, 0Ah
72F2:040A  E8 9A 0A E8 F6 0A			db	0E8h, 9Ah, 0Ah, 0E8h, 0F6h, 0Ah
72F2:0410  E8 B4 0A 53 BB 90			db	0E8h, 0B4h, 0Ah, 53h, 0BBh, 90h
72F2:0416  02					db	2
72F2:0417			loc_8:						;  xref 72F2:042C
72F2:0417  2E:3A 27				cmp	ah,cs:[bx]
72F2:041A  75 09				jne	loc_9			; Jump if not equal
72F2:041C  2E:8B 5F 01				mov	bx,cs:[bx+1]
72F2:0420  87 5E EC				xchg	bx,[bp-14h]
72F2:0423  FC					cld				; Clear direction
72F2:0424  C3					retn
72F2:0425			loc_9:						;  xref 72F2:041A
72F2:0425  83 C3 03				add	bx,3
72F2:0428  81 FB 02CC				cmp	bx,2CCh
72F2:042C  72 E9				jb	loc_8			; Jump if below
72F2:042E  5B					pop	bx
72F2:042F			loc_10:						;  xref 72F2:0672, 069E, 0BC2, 0D64
										;            0DA6
72F2:042F  E8 0A89				call	sub_16			; (0EBB)
72F2:0432  E4 21				in	al,21h			; port 21h, 8259-1 int IMR
72F2:0434  2E:A2 12E5				mov	cs:data_70e,al		; (72F2:12E5=0)
     4096.lst         Hello, world!$			 Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 7

72F2:0438  B0 FF				mov	al,0FFh
72F2:043A  E6 21				out	21h,al			; port 21h, 8259-1 int comands
72F2:043C  2E:C6 06 1251 04			mov	byte ptr cs:data_54e,4	; (72F2:1251=0)
72F2:0442  2E:C6 06 1250 01			mov	byte ptr cs:data_53e,1	; (72F2:1250=0)
72F2:0448  E8 0AF1				call	sub_22			; (0F3C)
72F2:044B  E8 0AA5				call	sub_19			; (0EF3)
72F2:044E  50					push	ax
72F2:044F  2E:A1 12B3				mov	ax,cs:data_64e		; (72F2:12B3=0)
72F2:0453  0D 0100				or	ax,100h
72F2:0456  50					push	ax
72F2:0457  9D					popf				; Pop flags
72F2:0458  58					pop	ax
72F2:0459  5D					pop	bp
72F2:045A  2E:FF 2E 1235			jmp	dword ptr cs:data_45e	; (72F2:1235=0)
72F2:045F			loc_11:						;  xref 72F2:04B9
72F2:045F  E8 0AAD				call	sub_21			; (0F0F)
72F2:0462  E8 0A56				call	sub_16			; (0EBB)
72F2:0465  E8 0A72				call	sub_18			; (0EDA)
72F2:0468  E8 0A9B				call	sub_20			; (0F06)
72F2:046B  5D					pop	bp
72F2:046C  55					push	bp
72F2:046D  8B EC				mov	bp,sp
72F2:046F  2E:FF 36 12B3			push	word ptr cs:data_64e	; (72F2:12B3=0)
72F2:0474  8F 46 06				pop	word ptr [bp+6]
72F2:0477  5D					pop	bp
72F2:0478  CF					iret				; Interrupt return
72F2:0479  E8 77 0A E8 35 0B			db	0E8h, 77h, 0Ah, 0E8h, 35h, 0Bh
72F2:047F  0A C0 75 DC E8 41			db	0Ah, 0C0h, 75h, 0DCh, 0E8h, 41h
72F2:0485  0A E8 18 02 B0 00			db	0Ah, 0E8h, 18h, 2, 0B0h, 0
72F2:048B  80 3F FF 75 06 8A			db	80h, 3Fh, 0FFh, 75h, 6, 8Ah
72F2:0491  47 06 83 C3 07 2E			db	47h, 6, 83h, 0C3h, 7, 2Eh
72F2:0497  20 06 F0 12 F6 47			db	20h, 6, 0F0h, 12h, 0F6h, 47h
72F2:049D  1A 80 74 15 80 6F			db	1Ah, 80h, 74h, 15h, 80h, 6Fh
72F2:04A3  1A C8 2E 80 3E F0			db	1Ah, 0C8h, 2Eh, 80h, 3Eh, 0F0h
72F2:04A9  12 00 75 09 81 6F			db	12h, 0, 75h, 9, 81h, 6Fh
72F2:04AF  1D 00 10 83 5F 1F			db	1Dh, 0, 10h, 83h, 5Fh, 1Fh
72F2:04B5  00					db	0
72F2:04B6			loc_12:						;  xref 72F2:0526, 056B, 05F2, 062A
										;            066F, 0899, 0BAD, 0C3B
										;            0DA3
72F2:04B6  E8 0A3A				call	sub_19			; (0EF3)
72F2:04B9  EB A4				jmp	short loc_11		; (045F)
72F2:04BB  E8 35 0A E8 F3 0A			db	0E8h, 35h, 0Ah, 0E8h, 0F3h, 0Ah
72F2:04C1  E8 03 0A 0A C0 75			db	0E8h, 3, 0Ah, 0Ah, 0C0h, 75h
72F2:04C7  EE 8B DA F6 47 15			db	0EEh, 8Bh, 0DAh, 0F6h, 47h, 15h
72F2:04CD  80 74 E6 80 6F 15			db	80h, 74h, 0E6h, 80h, 6Fh, 15h
72F2:04D3  C8 81 6F 10 00 10			db	0C8h, 81h, 6Fh, 10h, 0, 10h
72F2:04D9  80 5F 12 00 EB D7			db	80h, 5Fh, 12h, 0, 0EBh, 0D7h
72F2:04DF  E3 1B 8B DA 8B 77			db	0E3h, 1Bh, 8Bh, 0DAh, 8Bh, 77h
72F2:04E5  21 0B 77 23 75 11			db	21h, 0Bh, 77h, 23h, 75h, 11h
72F2:04EB  EB 0A 8B DA 8B 47			db	0EBh, 0Ah, 8Bh, 0DAh, 8Bh, 47h
72F2:04F1  0C 0A 47 20 75 05			db	0Ch, 0Ah, 47h, 20h, 75h, 5
72F2:04F7  E8 3F 05 73 03 E9			db	0E8h, 3Fh, 5, 73h, 3, 0E9h
72F2:04FD  30 FF				db	30h, 0FFh
72F2:04FF			loc_13:
72F2:04FF  E8 09F1				call	sub_19			; (0EF3)
72F2:0502  E8 09C2				call	sub_17			; (0EC7)
     4096.lst         Hello, world!$			 Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 8

72F2:0505  E8 0AAC				call	sub_24			; (0FB4)
72F2:0508  89 46 FC				mov	[bp-4],ax
72F2:050B  89 4E F8				mov	[bp-8],cx
72F2:050E  1E					push	ds
72F2:050F  52					push	dx
72F2:0510  E8 018E				call	sub_3			; (06A1)
72F2:0513  83 7F 14 01				cmp	word ptr [bx+14h],1
72F2:0517  74 0F				je	loc_14			; Jump if equal
72F2:0519  8B 07				mov	ax,[bx]
72F2:051B  03 47 02				add	ax,[bx+2]
72F2:051E  03 47 04				add	ax,[bx+4]
72F2:0521  74 05				jz	loc_14			; Jump if zero
72F2:0523  83 C4 04				add	sp,4
72F2:0526  EB 8E				jmp	short loc_12		; (04B6)
72F2:0528			loc_14:						;  xref 72F2:0517, 0521
72F2:0528  5A					pop	dx
72F2:0529  1F					pop	ds
72F2:052A  8B F2				mov	si,dx
72F2:052C  0E					push	cs
72F2:052D  07					pop	es
72F2:052E  BF 12B5				mov	di,12B5h
72F2:0531  B9 0025				mov	cx,25h
72F2:0534  F3/A4				rep	movsb			; Rep while cx>0 Mov [si] to es:[di]
72F2:0536  BF 12B5				mov	di,12B5h
72F2:0539  0E					push	cs
72F2:053A  1F					pop	ds
72F2:053B  8B 45 10				mov	ax,[di+10h]
72F2:053E  8B 55 12				mov	dx,[di+12h]
72F2:0541  05 100F				add	ax,100Fh
72F2:0544  83 D2 00				adc	dx,0
72F2:0547  25 FFF0				and	ax,0FFF0h
72F2:054A  89 45 10				mov	[di+10h],ax
72F2:054D  89 55 12				mov	[di+12h],dx
72F2:0550  2D 0FFC				sub	ax,0FFCh
72F2:0553  83 DA 00				sbb	dx,0
72F2:0556  89 45 21				mov	[di+21h],ax
72F2:0559  89 55 23				mov	[di+23h],dx
72F2:055C  C7 45 0E 0001			mov	word ptr [di+0Eh],1
72F2:0561  B9 001C				mov	cx,1Ch
72F2:0564  8B D7				mov	dx,di
72F2:0566  B4 27				mov	ah,27h			; '''
72F2:0568  E8 0A49				call	sub_24			; (0FB4)
72F2:056B  E9 FF48				jmp	loc_12			; (04B6)
72F2:056E  0E 07 8B F2 BF B5			db	0Eh, 7, 8Bh, 0F2h, 0BFh, 0B5h
72F2:0574  12 B9 25 00 F3 A4			db	12h, 0B9h, 25h, 0, 0F3h, 0A4h
72F2:057A  1E 52 0E 1F BA B5			db	1Eh, 52h, 0Eh, 1Fh, 0BAh, 0B5h
72F2:0580  12 B4 0F E8 2E 0A			db	12h, 0B4h, 0Fh, 0E8h, 2Eh, 0Ah
72F2:0586  B4 10 E8 29 0A F6			db	0B4h, 10h, 0E8h, 29h, 0Ah, 0F6h
72F2:058C  06 CA 12 80 5E 1F			db	6, 0CAh, 12h, 80h, 5Eh, 1Fh
72F2:0592  74 7E 2E C4 1E C5			db	74h, 7Eh, 2Eh, 0C4h, 1Eh, 0C5h
72F2:0598  12 8C C0 81 EB 00			db	12h, 8Ch, 0C0h, 81h, 0EBh, 0
72F2:059E  10 1D 00 00 33 D2			db	10h, 1Dh, 0, 0, 33h, 0D2h
72F2:05A4  2E 8B 0E C3 12 49			db	2Eh, 8Bh, 0Eh, 0C3h, 12h, 49h
72F2:05AA  03 D9 15 00 00 41			db	3, 0D9h, 15h, 0, 0, 41h
72F2:05B0  F7 F1 89 44 23 92			db	0F7h, 0F1h, 89h, 44h, 23h, 92h
72F2:05B6  93 F7 F1 89 44 21			db	93h, 0F7h, 0F1h, 89h, 44h, 21h
72F2:05BC  E9 F7 FE 2E 83 26			db	0E9h, 0F7h, 0FEh, 2Eh, 83h, 26h
     4096.lst         Hello, world!$			 Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 9

72F2:05C2  B3 12 FE E8 2B 09			db	0B3h, 12h, 0FEh, 0E8h, 2Bh, 9
72F2:05C8  E8 E9 09 E8 F9 08			db	0E8h, 0E9h, 9, 0E8h, 0F9h, 8
72F2:05CE  73 09 2E 83 0E B3			db	73h, 9, 2Eh, 83h, 0Eh, 0B3h
72F2:05D4  12 01 E9 DD FE E8			db	12h, 1, 0E9h, 0DDh, 0FEh, 0E8h
72F2:05DA  C5 00 F6 47 19 80			db	0C5h, 0, 0F6h, 47h, 19h, 80h
72F2:05E0  75 03 E9 D1 FE			db	75h, 3, 0E9h, 0D1h, 0FEh
72F2:05E5			loc_15:
72F2:05E5  81 6F 1A 1000			sub	word ptr [bx+1Ah],1000h
72F2:05EA  83 5F 1C 00				sbb	word ptr [bx+1Ch],0
72F2:05EE  80 6F 19 C8				sub	byte ptr [bx+19h],0C8h
72F2:05F2  E9 FEC1				jmp	loc_12			; (04B6)
72F2:05F5  51 83 E1 07 83 F9			db	51h, 83h, 0E1h, 7, 83h, 0F9h
72F2:05FB  07 74 2F 59 E8 E4			db	7, 74h, 2Fh, 59h, 0E8h, 0E4h
72F2:0601  07 E8 AF 09 E8 84			db	7, 0E8h, 0AFh, 9, 0E8h, 84h
72F2:0607  08 9C 2E 80 3E DA			db	8, 9Ch, 2Eh, 80h, 3Eh, 0DAh
72F2:060D  12 00 74 04 9D E9			db	12h, 0, 74h, 4, 9Dh, 0E9h
72F2:0613  1A FE 9D 72 09 8B			db	1Ah, 0FEh, 9Dh, 72h, 9, 8Bh
72F2:0619  D8 B4 3E E8 95 09			db	0D8h, 0B4h, 3Eh, 0E8h, 95h, 9
72F2:061F  EB 10				db	0EBh, 10h
72F2:0621			loc_16:
72F2:0621  2E:80 0E 12B3 01			or	byte ptr cs:data_64e,1	; (72F2:12B3=0)
72F2:0627  89 46 FC				mov	[bp-4],ax
72F2:062A  E9 FE89				jmp	loc_12			; (04B6)
72F2:062D  59 E9 FE FD				db	59h, 0E9h, 0FEh, 0FDh
72F2:0631			loc_17:
72F2:0631  E8 045D				call	sub_9			; (0A91)
72F2:0634  E8 040E				call	sub_8			; (0A45)
72F2:0637  72 39				jc	loc_19			; Jump if carry Set
72F2:0639  2E:80 3E 12A2 00			cmp	byte ptr cs:data_55e,0	; (72F2:12A2=0)
72F2:063F  74 31				je	loc_19			; Jump if equal
72F2:0641  E8 045A				call	sub_10			; (0A9E)
72F2:0644  83 FB FF				cmp	bx,0FFFFh
72F2:0647  74 29				je	loc_19			; Jump if equal
72F2:0649  2E:FE 0E 12A2			dec	byte ptr cs:data_55e	; (72F2:12A2=0)
72F2:064E  0E					push	cs
72F2:064F  07					pop	es
72F2:0650  BF 1252				mov	di,1252h
72F2:0653  B9 0014				mov	cx,14h
72F2:0656  33 C0				xor	ax,ax			; Zero register
72F2:0658  F2/AF				repne	scasw			; Rept zf=0+cx>0 Scan es:[di] for ax
72F2:065A  2E:A1 12A3				mov	ax,cs:data_56e		; (72F2:12A3=0)
72F2:065E  26:89 45 FE				mov	es:[di-2],ax
72F2:0662  26:89 5D 26				mov	es:[di+26h],bx
72F2:0666  89 5E FC				mov	[bp-4],bx
72F2:0669			loc_18:						;  xref 72F2:069C
72F2:0669  2E:80 26 12B3 FE			and	byte ptr cs:data_64e,0FEh	; (72F2:12B3=0)
72F2:066F  E9 FE44				jmp	loc_12			; (04B6)
72F2:0672			loc_19:						;  xref 72F2:0637, 063F, 0647
72F2:0672  E9 FDBA				jmp	loc_10			; (042F)
72F2:0675  0E 07 E8 17 04 BF			db	0Eh, 7, 0E8h, 17h, 4, 0BFh
72F2:067B  52 12 B9 14 00 2E			db	52h, 12h, 0B9h, 14h, 0, 2Eh
72F2:0681  A1 A3 12				db	0A1h, 0A3h, 12h
72F2:0684			loc_20:						;  xref 72F2:068C
72F2:0684  F2/AF				repne	scasw			; Rept zf=0+cx>0 Scan es:[di] for ax
72F2:0686  75 16				jnz	loc_21			; Jump if not zero
72F2:0688  26:3B 5D 26				cmp	bx,es:[di+26h]
72F2:068C  75 F6				jne	loc_20			; Jump if not equal
     4096.lst         Hello, world!$			 Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 10

72F2:068E  26:C7 45 FE 0000			mov	word ptr es:[di-2],0
72F2:0694  E8 021C				call	sub_4			; (08B3)
72F2:0697  2E:FE 06 12A2			inc	byte ptr cs:data_55e	; (72F2:12A2=0)
72F2:069C  EB CB				jmp	short loc_18		; (0669)
72F2:069E			loc_21:						;  xref 72F2:0686
72F2:069E  E9 FD8E				jmp	loc_10			; (042F)
  
				;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
				;			       SUBROUTINE
				;
				;         Called from:	 72F2:0510
				;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
  
				sub_3		proc	near
72F2:06A1  06					push	es
72F2:06A2  B4 2F				mov	ah,2Fh			; '/'
72F2:06A4  E8 090D				call	sub_24			; (0FB4)
72F2:06A7  06					push	es
72F2:06A8  1F					pop	ds
72F2:06A9  07					pop	es
72F2:06AA  C3					retn
				sub_3		endp
  
72F2:06AB  0A C0 74 03 E9 4E			db	0Ah, 0C0h, 74h, 3, 0E9h, 4Eh
72F2:06B1  01 1E 52 2E 89 1E			db	1, 1Eh, 52h, 2Eh, 89h, 1Eh
72F2:06B7  24 12 2E 8C 06 26			db	24h, 12h, 2Eh, 8Ch, 6, 26h
72F2:06BD  12 2E C5 36 24 12			db	12h, 2Eh, 0C5h, 36h, 24h, 12h
72F2:06C3  BF F1 12 B9 0E 00			db	0BFh, 0F1h, 12h, 0B9h, 0Eh, 0
72F2:06C9  0E 07 F3 A4 5E 1F			db	0Eh, 7, 0F3h, 0A4h, 5Eh, 1Fh
72F2:06CF  BF 07 13 B9 50 00			db	0BFh, 7, 13h, 0B9h, 50h, 0
72F2:06D5  F3 A4 BB FF FF E8			db	0F3h, 0A4h, 0BBh, 0FFh, 0FFh, 0E8h
72F2:06DB  7D 08 E8 13 08 5D			db	7Dh, 8, 0E8h, 13h, 8, 5Dh
72F2:06E1  2E 8F 06 E6 12 2E			db	2Eh, 8Fh, 6, 0E6h, 12h, 2Eh
72F2:06E7  8F 06 E8 12 2E 8F			db	8Fh, 6, 0E8h, 12h, 2Eh, 8Fh
72F2:06ED  06 B3 12 B8 01 4B			db	6, 0B3h, 12h, 0B8h, 1, 4Bh
72F2:06F3  0E 07 BB F1 12 9C			db	0Eh, 7, 0BBh, 0F1h, 12h, 9Ch
72F2:06F9  2E FF 1E 35 12 73			db	2Eh, 0FFh, 1Eh, 35h, 12h, 73h
72F2:06FF  20 2E 83 0E B3 12			db	20h, 2Eh, 83h, 0Eh, 0B3h, 12h
72F2:0705  01 2E FF 36 B3 12			db	1, 2Eh, 0FFh, 36h, 0B3h, 12h
72F2:070B  2E FF 36 E8 12 2E			db	2Eh, 0FFh, 36h, 0E8h, 12h, 2Eh
72F2:0711  FF 36 E6 12 55 8B			db	0FFh, 36h, 0E6h, 12h, 55h, 8Bh
72F2:0717  EC 2E C4 1E 24 12			db	0ECh, 2Eh, 0C4h, 1Eh, 24h, 12h
72F2:071D  E9 3F FD				db	0E9h, 3Fh, 0FDh
72F2:0720			loc_22:
72F2:0720  E8 036E				call	sub_9			; (0A91)
72F2:0723  0E					push	cs
72F2:0724  07					pop	es
72F2:0725  BF 1252				mov	di,1252h
72F2:0728  B9 0014				mov	cx,14h
72F2:072B			loc_23:						;  xref 72F2:073E
72F2:072B  2E:A1 12A3				mov	ax,cs:data_56e		; (72F2:12A3=0)
72F2:072F  F2/AF				repne	scasw			; Rept zf=0+cx>0 Scan es:[di] for ax
72F2:0731  75 0D				jnz	loc_24			; Jump if not zero
72F2:0733  26:C7 45 FE 0000			mov	word ptr es:[di-2],0
72F2:0739  2E:FE 06 12A2			inc	byte ptr cs:data_55e	; (72F2:12A2=0)
72F2:073E  EB EB				jmp	short loc_23		; (072B)
72F2:0740			loc_24:						;  xref 72F2:0731
     4096.lst         Hello, world!$			 Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 11

72F2:0740  2E:C5 36 1303			lds	si,dword ptr cs:data_79e	; (72F2:1303=0) Load 32 bit ptr
72F2:0745  83 FE 01				cmp	si,1
72F2:0748  75 33				jne	loc_25			; Jump if not equal
72F2:074A  8B 16 001A				mov	dx,ds:data_6e		; (0000:001A=0F000h)
72F2:074E  83 C2 10				add	dx,10h
72F2:0751  B4 51				mov	ah,51h			; 'Q'
72F2:0753  E8 085E				call	sub_24			; (0FB4)
72F2:0756  03 D3				add	dx,bx
72F2:0758  2E:89 16 1305			mov	word ptr cs:data_79e+2,dx	; (72F2:1305=0)
72F2:075D  FF 36 0018				push	word ptr ds:data_5e	; (0000:0018=0EAA6h)
72F2:0761  2E:8F 06 1303			pop	word ptr cs:data_79e	; (72F2:1303=0)
72F2:0766  83 C3 10				add	bx,10h
72F2:0769  03 1E 0012				add	bx,ds:data_3e		; (0000:0012=70h)
72F2:076D  2E:89 1E 1301			mov	cs:data_78e,bx		; (72F2:1301=0)
72F2:0772  FF 36 0014				push	word ptr ds:data_4e	; (0000:0014=0FF54h)
72F2:0776  2E:8F 06 12FF			pop	word ptr cs:data_77e	; (72F2:12FF=0)
72F2:077B  EB 22				jmp	short loc_26		; (079F)
72F2:077D			loc_25:						;  xref 72F2:0748
72F2:077D  8B 04				mov	ax,[si]
72F2:077F  03 44 02				add	ax,[si+2]
72F2:0782  03 44 04				add	ax,[si+4]
72F2:0785  74 60				jz	loc_27			; Jump if zero
72F2:0787  0E					push	cs
72F2:0788  1F					pop	ds
72F2:0789  BA 1307				mov	dx,1307h
72F2:078C  E8 02B6				call	sub_8			; (0A45)
72F2:078F  E8 030C				call	sub_10			; (0A9E)
72F2:0792  2E:FE 06 12EF			inc	byte ptr cs:data_76e	; (72F2:12EF=0)
72F2:0797  E8 0119				call	sub_4			; (08B3)
72F2:079A  2E:FE 0E 12EF			dec	byte ptr cs:data_76e	; (72F2:12EF=0)
72F2:079F			loc_26:						;  xref 72F2:077B, 07FE
72F2:079F  B4 51				mov	ah,51h			; 'Q'
72F2:07A1  E8 0810				call	sub_24			; (0FB4)
72F2:07A4  E8 0768				call	sub_21			; (0F0F)
72F2:07A7  E8 0711				call	sub_16			; (0EBB)
72F2:07AA  E8 072D				call	sub_18			; (0EDA)
72F2:07AD  E8 0756				call	sub_20			; (0F06)
72F2:07B0  8E DB				mov	ds,bx
72F2:07B2  8E C3				mov	es,bx
72F2:07B4  2E:FF 36 12B3			push	word ptr cs:data_64e	; (72F2:12B3=0)
72F2:07B9  2E:FF 36 12E8			push	word ptr cs:data_72e	; (72F2:12E8=0)
72F2:07BE  2E:FF 36 12E6			push	word ptr cs:data_71e	; (72F2:12E6=0)
72F2:07C3  8F 06 000A				pop	word ptr ds:data_10e	; (0080:000A=0)
72F2:07C7  8F 06 000C				pop	word ptr ds:data_11e	; (0080:000C=0)
72F2:07CB  1E					push	ds
72F2:07CC  C5 16 000A				lds	dx,dword ptr ds:data_10e	; (0080:000A=0) Load 32 bit ptr
72F2:07D0  B0 22				mov	al,22h			; '"'
72F2:07D2  E8 08E7				call	sub_26			; (10BC)
72F2:07D5  1F					pop	ds
72F2:07D6  9D					popf				; Pop flags
72F2:07D7  58					pop	ax
72F2:07D8  2E:8E 16 1301			mov	ss,cs:data_78e		; (72F2:1301=0)
72F2:07DD  2E:8B 26 12FF			mov	sp,cs:data_77e		; (72F2:12FF=0)
72F2:07E2  2E:FF 2E 1303			jmp	dword ptr cs:data_79e	; (72F2:1303=0)
72F2:07E7			loc_27:						;  xref 72F2:0785
72F2:07E7  8B 5C 01				mov	bx,[si+1]
72F2:07EA  8B 80 FD9F				mov	ax,ds:data_12e[bx+si]	; (0080:FD9F=0AD65h)
     4096.lst         Hello, world!$			 Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 12

72F2:07EE  89 04				mov	[si],ax
72F2:07F0  8B 80 FDA1				mov	ax,ds:data_13e[bx+si]	; (0080:FDA1=0B295h)
72F2:07F4  89 44 02				mov	[si+2],ax
72F2:07F7  8B 80 FDA3				mov	ax,ds:data_14e[bx+si]	; (0080:FDA3=0EB10h)
72F2:07FB  89 44 04				mov	[si+4],ax
72F2:07FE  EB 9F				jmp	short loc_26		; (079F)
72F2:0800  3C 01 74 03 E9 28			db	3Ch, 1, 74h, 3, 0E9h, 28h
72F2:0806  FC					db	0FCh
72F2:0807			loc_28:
72F2:0807  2E:83 0E 12B3 01			or	word ptr cs:data_64e,1	; (72F2:12B3=0)
72F2:080D  2E:89 1E 1224			mov	cs:data_36e,bx		; (72F2:1224=0)
72F2:0812  2E:8C 06 1226			mov	cs:data_37e,es		; (72F2:1226=0)
72F2:0817  E8 06D9				call	sub_19			; (0EF3)
72F2:081A  E8 0797				call	sub_24			; (0FB4)
72F2:081D  E8 06A7				call	sub_17			; (0EC7)
72F2:0820  2E:C4 1E 1224			les	bx,dword ptr cs:data_36e	; (72F2:1224=0) Load 32 bit ptr
72F2:0825  26:C5 77 12				lds	si,dword ptr es:[bx+12h]	; Load 32 bit ptr
72F2:0829  72 6E				jc	loc_31			; Jump if carry Set
72F2:082B  2E:80 26 12B3 FE			and	byte ptr cs:data_64e,0FEh	; (72F2:12B3=0)
72F2:0831  83 FE 01				cmp	si,1
72F2:0834  74 23				je	loc_29			; Jump if equal
72F2:0836  8B 04				mov	ax,[si]
72F2:0838  03 44 02				add	ax,[si+2]
72F2:083B  03 44 04				add	ax,[si+4]
72F2:083E  75 45				jnz	loc_30			; Jump if not zero
72F2:0840  8B 5C 01				mov	bx,[si+1]
72F2:0843  8B 80 FD9F				mov	ax,ds:data_7e[bx+si]	; (0000:FD9F=0)
72F2:0847  89 04				mov	[si],ax
72F2:0849  8B 80 FDA1				mov	ax,ds:data_8e[bx+si]	; (0000:FDA1=0)
72F2:084D  89 44 02				mov	[si+2],ax
72F2:0850  8B 80 FDA3				mov	ax,ds:data_9e[bx+si]	; (0000:FDA3=0)
72F2:0854  89 44 04				mov	[si+4],ax
72F2:0857  EB 2C				jmp	short loc_30		; (0885)
72F2:0859			loc_29:						;  xref 72F2:0834
72F2:0859  8B 16 001A				mov	dx,ds:data_6e		; (0000:001A=0F000h)
72F2:085D  E8 0231				call	sub_9			; (0A91)
72F2:0860  2E:8B 0E 12A3			mov	cx,cs:data_56e		; (72F2:12A3=0)
72F2:0865  83 C1 10				add	cx,10h
72F2:0868  03 D1				add	dx,cx
72F2:086A  26:89 57 14				mov	es:[bx+14h],dx
72F2:086E  A1 0018				mov	ax,ds:data_5e		; (0000:0018=0EAA6h)
72F2:0871  26:89 47 12				mov	es:[bx+12h],ax
72F2:0875  A1 0012				mov	ax,ds:data_3e		; (0000:0012=70h)
72F2:0878  03 C1				add	ax,cx
72F2:087A  26:89 47 10				mov	es:[bx+10h],ax
72F2:087E  A1 0014				mov	ax,ds:data_4e		; (0000:0014=0FF54h)
72F2:0881  26:89 47 0E				mov	es:[bx+0Eh],ax
72F2:0885			loc_30:						;  xref 72F2:083E, 0857
72F2:0885  E8 0209				call	sub_9			; (0A91)
72F2:0888  2E:8E 1E 12A3			mov	ds,cs:data_56e		; (72F2:12A3=0)
72F2:088D  8B 46 02				mov	ax,[bp+2]
72F2:0890  A3 000A				mov	ds:data_1e,ax		; (0000:000A=11ECh)
72F2:0893  8B 46 04				mov	ax,[bp+4]
72F2:0896  A3 000C				mov	word ptr ds:data_1e+2,ax	; (0000:000C=75Ch)
72F2:0899			loc_31:						;  xref 72F2:0829
72F2:0899  E9 FC1A				jmp	loc_12			; (04B6)
72F2:089C  2E C6 06 F0 12 00			db	2Eh, 0C6h, 6, 0F0h, 12h, 0
     4096.lst         Hello, world!$			 Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 13

72F2:08A2  B4 2A E8 0D 07 81			db	0B4h, 2Ah, 0E8h, 0Dh, 7, 81h
72F2:08A8  FA 16 09 72 03 E8			db	0FAh, 16h, 9, 72h, 3, 0E8h
72F2:08AE  22 08 E9 7C FB			db	22h, 8, 0E9h, 7Ch, 0FBh
  
				;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
				;			       SUBROUTINE
				;
				;         Called from:	 72F2:0694, 0797
				;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
  
				sub_4		proc	near
72F2:08B3  E8 0530				call	sub_13			; (0DE6)
72F2:08B6  E8 00BC				call	sub_5			; (0975)
72F2:08B9  C6 06 0020 01			mov	byte ptr ds:data_21e,1	; (72F2:0020=0)
72F2:08BE  81 3E 1200 5A4D			cmp	word ptr ds:data_25e,5A4Dh	; (72F2:1200=0)
72F2:08C4  74 0E				je	loc_32			; Jump if equal
72F2:08C6  81 3E 1200 4D5A			cmp	word ptr ds:data_25e,4D5Ah	; (72F2:1200=0)
72F2:08CC  74 06				je	loc_32			; Jump if equal
72F2:08CE  FE 0E 0020				dec	byte ptr ds:data_21e	; (72F2:0020=0)
72F2:08D2  74 58				jz	loc_35			; Jump if zero
72F2:08D4			loc_32:						;  xref 72F2:08C4, 08CC
72F2:08D4  A1 1204				mov	ax,ds:data_28e		; (72F2:1204=0)
72F2:08D7  D1 E1				shl	cx,1			; Shift w/zeros fill
72F2:08D9  F7 E1				mul	cx			; dx:ax = reg * ax
72F2:08DB  05 0200				add	ax,200h
72F2:08DE  3B C6				cmp	ax,si
72F2:08E0  72 48				jb	loc_34			; Jump if below
72F2:08E2  A1 120A				mov	ax,ds:data_30e		; (72F2:120A=0)
72F2:08E5  0B 06 120C				or	ax,ds:data_31e		; (72F2:120C=0)
72F2:08E9  74 3F				jz	loc_34			; Jump if zero
72F2:08EB  A1 12A9				mov	ax,ds:data_59e		; (72F2:12A9=0)
72F2:08EE  8B 16 12AB				mov	dx,ds:data_60e		; (72F2:12AB=0)
72F2:08F2  B9 0200				mov	cx,200h
72F2:08F5  F7 F1				div	cx			; ax,dx rem=dx:ax/reg
72F2:08F7  0B D2				or	dx,dx			; Zero ?
72F2:08F9  74 01				jz	loc_33			; Jump if zero
72F2:08FB  40					inc	ax
72F2:08FC			loc_33:						;  xref 72F2:08F9
72F2:08FC  A3 1204				mov	ds:data_28e,ax		; (72F2:1204=0)
72F2:08FF  89 16 1202				mov	word ptr ds:data_25e+2,dx	; (72F2:1202=0)
72F2:0903  83 3E 1214 01			cmp	word ptr ds:data_34e,1	; (72F2:1214=0)
72F2:0908  74 62				je	loc_36			; Jump if equal
72F2:090A  C7 06 1214 0001			mov	word ptr ds:data_34e,1	; (72F2:1214=0)
72F2:0910  8B C6				mov	ax,si
72F2:0912  2B 06 1208				sub	ax,ds:data_29e		; (72F2:1208=0)
72F2:0916  A3 1216				mov	ds:data_35e,ax		; (72F2:1216=0)
72F2:0919  83 06 1204 08			add	word ptr ds:data_28e,8	; (72F2:1204=0)
72F2:091E  A3 120E				mov	ds:data_32e,ax		; (72F2:120E=0)
72F2:0921  C7 06 1210 1000			mov	word ptr ds:data_33e,1000h	; (72F2:1210=0)
72F2:0927  E8 00A9				call	sub_6			; (09D3)
72F2:092A			loc_34:						;  xref 72F2:08E0, 08E9
72F2:092A  EB 40				jmp	short loc_36		; (096C)
72F2:092C			loc_35:						;  xref 72F2:08D2
72F2:092C  81 FE 0F00				cmp	si,0F00h
72F2:0930  73 3A				jae	loc_36			; Jump if above or =
72F2:0932  A1 1200				mov	ax,ds:data_25e		; (72F2:1200=0)
72F2:0935  A3 0004				mov	word ptr ds:data_17e+1,ax	; (72F2:0004=0)
     4096.lst         Hello, world!$			 Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 14

72F2:0938  03 D0				add	dx,ax
72F2:093A  A1 1202				mov	ax,word ptr ds:data_25e+2	; (72F2:1202=0)
72F2:093D  A3 0006				mov	ds:data_19e,ax		; (72F2:0006=0)
72F2:0940  03 D0				add	dx,ax
72F2:0942  A1 1204				mov	ax,ds:data_28e		; (72F2:1204=0)
72F2:0945  A3 0008				mov	ds:data_20e,ax		; (72F2:0008=0)
72F2:0948  03 D0				add	dx,ax
72F2:094A  74 20				jz	loc_36			; Jump if zero
72F2:094C  B1 E9				mov	cl,0E9h
72F2:094E  88 0E 1200				mov	ds:data_25e,cl		; (72F2:1200=0)
72F2:0952  B8 0010				mov	ax,10h
72F2:0955  F7 E6				mul	si			; dx:ax = reg * ax
72F2:0957  05 0265				add	ax,265h
72F2:095A  A3 1201				mov	word ptr ds:data_25e+1,ax	; (72F2:1201=0)
72F2:095D  A1 1200				mov	ax,ds:data_25e		; (72F2:1200=0)
72F2:0960  03 06 1202				add	ax,word ptr ds:data_25e+2	; (72F2:1202=0)
72F2:0964  F7 D8				neg	ax
72F2:0966  A3 1204				mov	ds:data_28e,ax		; (72F2:1204=0)
72F2:0969  E8 0067				call	sub_6			; (09D3)
72F2:096C			loc_36:						;  xref 72F2:0908, 092A, 0930, 094A
72F2:096C  B4 3E				mov	ah,3Eh			; '>'
72F2:096E  E8 0643				call	sub_24			; (0FB4)
72F2:0971  E8 0518				call	sub_14			; (0E8C)
72F2:0974  C3					retn
				sub_4		endp
  
  
				;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
				;			       SUBROUTINE
				;
				;         Called from:	 72F2:08B6
				;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
  
				sub_5		proc	near
72F2:0975  0E					push	cs
72F2:0976  1F					pop	ds
72F2:0977  B8 5700				mov	ax,5700h
72F2:097A  E8 0637				call	sub_24			; (0FB4)
72F2:097D  89 0E 1229				mov	ds:data_39e,cx		; (72F2:1229=0)
72F2:0981  89 16 122B				mov	ds:data_40e,dx		; (72F2:122B=0)
72F2:0985  B8 4200				mov	ax,4200h
72F2:0988  33 C9				xor	cx,cx			; Zero register
72F2:098A  8B D1				mov	dx,cx
72F2:098C  E8 0625				call	sub_24			; (0FB4)
72F2:098F  B4 3F				mov	ah,3Fh			; '?'
72F2:0991  B1 1C				mov	cl,1Ch
72F2:0993  BA 1200				mov	dx,1200h
72F2:0996  E8 061B				call	sub_24			; (0FB4)
72F2:0999  B8 4200				mov	ax,4200h
72F2:099C  33 C9				xor	cx,cx			; Zero register
72F2:099E  8B D1				mov	dx,cx
72F2:09A0  E8 0611				call	sub_24			; (0FB4)
72F2:09A3  B4 3F				mov	ah,3Fh			; '?'
72F2:09A5  B1 1C				mov	cl,1Ch
72F2:09A7  BA 0004				mov	dx,4
72F2:09AA  E8 0607				call	sub_24			; (0FB4)
72F2:09AD  B8 4202				mov	ax,4202h
     4096.lst         Hello, world!$			 Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 15

72F2:09B0  33 C9				xor	cx,cx			; Zero register
72F2:09B2  8B D1				mov	dx,cx
72F2:09B4  E8 05FD				call	sub_24			; (0FB4)
72F2:09B7  A3 12A9				mov	ds:data_59e,ax		; (72F2:12A9=0)
72F2:09BA  89 16 12AB				mov	ds:data_60e,dx		; (72F2:12AB=0)
72F2:09BE  8B F8				mov	di,ax
72F2:09C0  05 000F				add	ax,0Fh
72F2:09C3  83 D2 00				adc	dx,0
72F2:09C6  25 FFF0				and	ax,0FFF0h
72F2:09C9  2B F8				sub	di,ax
72F2:09CB  B9 0010				mov	cx,10h
72F2:09CE  F7 F1				div	cx			; ax,dx rem=dx:ax/reg
72F2:09D0  8B F0				mov	si,ax
72F2:09D2  C3					retn
				sub_5		endp
  
  
				;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
				;			       SUBROUTINE
				;
				;         Called from:	 72F2:0927, 0969
				;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
  
				sub_6		proc	near
72F2:09D3  B8 4200				mov	ax,4200h
72F2:09D6  33 C9				xor	cx,cx			; Zero register
72F2:09D8  8B D1				mov	dx,cx
72F2:09DA  E8 05D7				call	sub_24			; (0FB4)
72F2:09DD  B4 40				mov	ah,40h			; '@'
72F2:09DF  B1 1C				mov	cl,1Ch
72F2:09E1  BA 1200				mov	dx,1200h
72F2:09E4  E8 05CD				call	sub_24			; (0FB4)
72F2:09E7  B8 0010				mov	ax,10h
72F2:09EA  F7 E6				mul	si			; dx:ax = reg * ax
72F2:09EC  8B CA				mov	cx,dx
72F2:09EE  8B D0				mov	dx,ax
72F2:09F0  B8 4200				mov	ax,4200h
72F2:09F3  E8 05BE				call	sub_24			; (0FB4)
72F2:09F6  33 D2				xor	dx,dx			; Zero register
72F2:09F8  B9 1000				mov	cx,1000h
72F2:09FB  03 CF				add	cx,di
72F2:09FD  B4 40				mov	ah,40h			; '@'
72F2:09FF  E8 05B2				call	sub_24			; (0FB4)
72F2:0A02  B8 5701				mov	ax,5701h
72F2:0A05  8B 0E 1229				mov	cx,ds:data_39e		; (72F2:1229=0)
72F2:0A09  8B 16 122B				mov	dx,ds:data_40e		; (72F2:122B=0)
72F2:0A0D  F6 C6 80				test	dh,80h
72F2:0A10  75 03				jnz	loc_37			; Jump if not zero
72F2:0A12  80 C6 C8				add	dh,0C8h
72F2:0A15			loc_37:						;  xref 72F2:0A10
72F2:0A15  E8 059C				call	sub_24			; (0FB4)
72F2:0A18  80 3E 12EE 03			cmp	byte ptr ds:data_75e,3	; (72F2:12EE=0)
72F2:0A1D  72 19				jb	loc_ret_38		; Jump if below
72F2:0A1F  80 3E 12EF 00			cmp	byte ptr ds:data_76e,0	; (72F2:12EF=0)
72F2:0A24  74 12				je	loc_ret_38		; Jump if equal
72F2:0A26  53					push	bx
72F2:0A27  8A 16 1228				mov	dl,ds:data_38e		; (72F2:1228=0)
     4096.lst         Hello, world!$			 Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 16

72F2:0A2B  B4 32				mov	ah,32h			; '2'
72F2:0A2D  E8 0584				call	sub_24			; (0FB4)
72F2:0A30  2E:A1 12EC				mov	ax,cs:data_74e		; (72F2:12EC=0)
72F2:0A34  89 47 1E				mov	[bx+1Eh],ax
72F2:0A37  5B					pop	bx
  
72F2:0A38			loc_ret_38:					;  xref 72F2:0A1D, 0A24
72F2:0A38  C3					retn
				sub_6		endp
  
  
				;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
				;			       SUBROUTINE
				;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
  
				sub_7		proc	near
72F2:0A39  E8 04D3				call	sub_21			; (0F0F)
72F2:0A3C  8B FA				mov	di,dx
72F2:0A3E  83 C7 0D				add	di,0Dh
72F2:0A41  1E					push	ds
72F2:0A42  07					pop	es
72F2:0A43  EB 20				jmp	short loc_40		; (0A65)
  
				;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
				;
				;         Called from:	 72F2:0634, 078C
  
				sub_8:
72F2:0A45  E8 04C7				call	sub_21			; (0F0F)
72F2:0A48  1E					push	ds
72F2:0A49  07					pop	es
72F2:0A4A  8B FA				mov	di,dx
72F2:0A4C  B9 0050				mov	cx,50h
72F2:0A4F  33 C0				xor	ax,ax			; Zero register
72F2:0A51  B3 00				mov	bl,0
72F2:0A53  80 7D 01 3A				cmp	byte ptr [di+1],3Ah	; ':'
72F2:0A57  75 05				jne	loc_39			; Jump if not equal
72F2:0A59  8A 1D				mov	bl,[di]
72F2:0A5B  80 E3 1F				and	bl,1Fh
72F2:0A5E			loc_39:						;  xref 72F2:0A57
72F2:0A5E  2E:88 1E 1228			mov	cs:data_38e,bl		; (72F2:1228=0)
72F2:0A63  F2/AE				repne	scasb			; Rept zf=0+cx>0 Scan es:[di] for al
72F2:0A65			loc_40:						;  xref 72F2:0A43
72F2:0A65  8B 45 FD				mov	ax,[di-3]
72F2:0A68  25 DFDF				and	ax,0DFDFh
72F2:0A6B  02 E0				add	ah,al
72F2:0A6D  8A 45 FC				mov	al,[di-4]
72F2:0A70  24 DF				and	al,0DFh
72F2:0A72  02 C4				add	al,ah
72F2:0A74  2E:C6 06 0020 00			mov	byte ptr cs:data_21e,0	; (72F2:0020=0)
72F2:0A7A  3C DF				cmp	al,0DFh
72F2:0A7C  74 09				je	loc_41			; Jump if equal
72F2:0A7E  2E:FE 06 0020			inc	byte ptr cs:data_21e	; (72F2:0020=0)
72F2:0A83  3C E2				cmp	al,0E2h
72F2:0A85  75 05				jne	loc_42			; Jump if not equal
72F2:0A87			loc_41:						;  xref 72F2:0A7C
72F2:0A87  E8 047C				call	sub_20			; (0F06)
     4096.lst         Hello, world!$			 Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 17

72F2:0A8A  F8					clc				; Clear carry flag
72F2:0A8B  C3					retn
72F2:0A8C			loc_42:						;  xref 72F2:0A85
72F2:0A8C  E8 0477				call	sub_20			; (0F06)
72F2:0A8F  F9					stc				; Set carry flag
72F2:0A90  C3					retn
				sub_7		endp
  
  
				;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
				;			       SUBROUTINE
				;
				;         Called from:	 72F2:0631, 0720, 085D, 0885
				;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
  
				sub_9		proc	near
72F2:0A91  53					push	bx
72F2:0A92  B4 51				mov	ah,51h			; 'Q'
72F2:0A94  E8 051D				call	sub_24			; (0FB4)
72F2:0A97  2E:89 1E 12A3			mov	cs:data_56e,bx		; (72F2:12A3=0)
72F2:0A9C  5B					pop	bx
72F2:0A9D  C3					retn
				sub_9		endp
  
  
				;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
				;			       SUBROUTINE
				;
				;         Called from:	 72F2:0641, 078F
				;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
  
				sub_10		proc	near
72F2:0A9E  E8 0345				call	sub_13			; (0DE6)
72F2:0AA1  52					push	dx
72F2:0AA2  2E:8A 16 1228			mov	dl,cs:data_38e		; (72F2:1228=0)
72F2:0AA7  B4 36				mov	ah,36h			; '6'
72F2:0AA9  E8 0508				call	sub_24			; (0FB4)
72F2:0AAC  F7 E1				mul	cx			; dx:ax = reg * ax
72F2:0AAE  F7 E3				mul	bx			; dx:ax = reg * ax
72F2:0AB0  8B DA				mov	bx,dx
72F2:0AB2  5A					pop	dx
72F2:0AB3  0B DB				or	bx,bx			; Zero ?
72F2:0AB5  75 05				jnz	loc_43			; Jump if not zero
72F2:0AB7  3D 4000				cmp	ax,4000h
72F2:0ABA  72 43				jb	loc_44			; Jump if below
72F2:0ABC			loc_43:						;  xref 72F2:0AB5
72F2:0ABC  B8 4300				mov	ax,4300h
72F2:0ABF  E8 04F2				call	sub_24			; (0FB4)
72F2:0AC2  72 3B				jc	loc_44			; Jump if carry Set
72F2:0AC4  8B F9				mov	di,cx
72F2:0AC6  33 C9				xor	cx,cx			; Zero register
72F2:0AC8  B8 4301				mov	ax,4301h
72F2:0ACB  E8 04E6				call	sub_24			; (0FB4)
72F2:0ACE  2E:80 3E 12DA 00			cmp	byte ptr cs:data_65e,0	; (72F2:12DA=0)
72F2:0AD4  75 29				jne	loc_44			; Jump if not equal
72F2:0AD6  B8 3D02				mov	ax,3D02h
72F2:0AD9  E8 04D8				call	sub_24			; (0FB4)
     4096.lst         Hello, world!$			 Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 18

72F2:0ADC  72 21				jc	loc_44			; Jump if carry Set
72F2:0ADE  8B D8				mov	bx,ax
72F2:0AE0  8B CF				mov	cx,di
72F2:0AE2  B8 4301				mov	ax,4301h
72F2:0AE5  E8 04CC				call	sub_24			; (0FB4)
72F2:0AE8  53					push	bx
72F2:0AE9  2E:8A 16 1228			mov	dl,cs:data_38e		; (72F2:1228=0)
72F2:0AEE  B4 32				mov	ah,32h			; '2'
72F2:0AF0  E8 04C1				call	sub_24			; (0FB4)
72F2:0AF3  8B 47 1E				mov	ax,[bx+1Eh]
72F2:0AF6  2E:A3 12EC				mov	cs:data_74e,ax		; (72F2:12EC=0)
72F2:0AFA  5B					pop	bx
72F2:0AFB  E8 038E				call	sub_14			; (0E8C)
72F2:0AFE  C3					retn
72F2:0AFF			loc_44:						;  xref 72F2:0ABA, 0AC2, 0AD4, 0ADC
72F2:0AFF  33 DB				xor	bx,bx			; Zero register
72F2:0B01  4B					dec	bx
72F2:0B02  E8 0387				call	sub_14			; (0E8C)
72F2:0B05  C3					retn
				sub_10		endp
  
  
				;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
				;			       SUBROUTINE
				;
				;         Called from:	 72F2:0B99
				;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
  
				sub_11		proc	near
72F2:0B06  51					push	cx
72F2:0B07  52					push	dx
72F2:0B08  50					push	ax
72F2:0B09  B8 4400				mov	ax,4400h
72F2:0B0C  E8 04A5				call	sub_24			; (0FB4)
72F2:0B0F  80 F2 80				xor	dl,80h
72F2:0B12  F6 C2 80				test	dl,80h
72F2:0B15  74 09				jz	loc_45			; Jump if zero
72F2:0B17  B8 5700				mov	ax,5700h
72F2:0B1A  E8 0497				call	sub_24			; (0FB4)
72F2:0B1D  F6 C6 80				test	dh,80h
72F2:0B20			loc_45:						;  xref 72F2:0B15
72F2:0B20  58					pop	ax
72F2:0B21  5A					pop	dx
72F2:0B22  59					pop	cx
72F2:0B23  C3					retn
				sub_11		endp
  
  
				;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
				;			       SUBROUTINE
				;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
  
				sub_12		proc	near
72F2:0B24  E8 03E8				call	sub_21			; (0F0F)
72F2:0B27  B8 4201				mov	ax,4201h
72F2:0B2A  33 C9				xor	cx,cx			; Zero register
72F2:0B2C  33 D2				xor	dx,dx			; Zero register
     4096.lst         Hello, world!$			 Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 19

72F2:0B2E  E8 0483				call	sub_24			; (0FB4)
72F2:0B31  2E:A3 12A5				mov	cs:data_57e,ax		; (72F2:12A5=0)
72F2:0B35  2E:89 16 12A7			mov	cs:data_58e,dx		; (72F2:12A7=0)
72F2:0B3A  B8 4202				mov	ax,4202h
72F2:0B3D  33 C9				xor	cx,cx			; Zero register
72F2:0B3F  33 D2				xor	dx,dx			; Zero register
72F2:0B41  E8 0470				call	sub_24			; (0FB4)
72F2:0B44  2E:A3 12A9				mov	cs:data_59e,ax		; (72F2:12A9=0)
72F2:0B48  2E:89 16 12AB			mov	cs:data_60e,dx		; (72F2:12AB=0)
72F2:0B4D  B8 4200				mov	ax,4200h
72F2:0B50  2E:8B 16 12A5			mov	dx,cs:data_57e		; (72F2:12A5=0)
72F2:0B55  2E:8B 0E 12A7			mov	cx,cs:data_58e		; (72F2:12A7=0)
72F2:0B5A  E8 0457				call	sub_24			; (0FB4)
72F2:0B5D  E8 03A6				call	sub_20			; (0F06)
72F2:0B60  C3					retn
				sub_12		endp
  
72F2:0B61  0A C0 75 22 2E 83			db	0Ah, 0C0h, 75h, 22h, 2Eh, 83h
72F2:0B67  26 B3 12 FE E8 85			db	26h, 0B3h, 12h, 0FEh, 0E8h, 85h
72F2:0B6D  03 E8 43 04 72 0B			db	3, 0E8h, 43h, 4, 72h, 0Bh
72F2:0B73  F6 C6 80 74 03 80			db	0F6h, 0C6h, 80h, 74h, 3, 80h
72F2:0B79  EE C8 E9 E1 F8 2E			db	0EEh, 0C8h, 0E9h, 0E1h, 0F8h, 2Eh
72F2:0B7F  83 0E B3 12 01 E9			db	83h, 0Eh, 0B3h, 12h, 1, 0E9h
72F2:0B85  D8 F8 3C 01 75 37			db	0D8h, 0F8h, 3Ch, 1, 75h, 37h
72F2:0B8B  2E 83 26 B3 12 FE			db	2Eh, 83h, 26h, 0B3h, 12h, 0FEh
72F2:0B91  F6 C6 80 74 03 80			db	0F6h, 0C6h, 80h, 74h, 3, 80h
72F2:0B97  EE C8				db	0EEh, 0C8h
72F2:0B99			loc_46:
72F2:0B99  E8 FF6A				call	sub_11			; (0B06)
72F2:0B9C  74 03				jz	loc_47			; Jump if zero
72F2:0B9E  80 C6 C8				add	dh,0C8h
72F2:0BA1			loc_47:						;  xref 72F2:0B9C
72F2:0BA1  E8 0410				call	sub_24			; (0FB4)
72F2:0BA4  89 46 FC				mov	[bp-4],ax
72F2:0BA7  2E:83 16 12B3 00			adc	word ptr cs:data_64e,0	; (72F2:12B3=0)
72F2:0BAD  E9 F906				jmp	loc_12			; (04B6)
72F2:0BB0  3C 02 75 0E E8 4F			db	3Ch, 2, 75h, 0Eh, 0E8h, 4Fh
72F2:0BB6  FF 74 09 81 6E F6			db	0FFh, 74h, 9, 81h, 6Eh, 0F6h
72F2:0BBC  00 10 83 5E F8 00			db	0, 10h, 83h, 5Eh, 0F8h, 0
72F2:0BC2			loc_48:
72F2:0BC2  E9 F86A				jmp	loc_10			; (042F)
72F2:0BC5  2E 80 26 B3 12 FE			db	2Eh, 80h, 26h, 0B3h, 12h, 0FEh
72F2:0BCB  E8 38 FF 74 F2 2E			db	0E8h, 38h, 0FFh, 74h, 0F2h, 2Eh
72F2:0BD1  89 0E AF 12 2E 89			db	89h, 0Eh, 0AFh, 12h, 2Eh, 89h
72F2:0BD7  16 AD 12 2E C7 06			db	16h, 0ADh, 12h, 2Eh, 0C7h, 6
72F2:0BDD  B1 12 00 00 E8 40			db	0B1h, 12h, 0, 0, 0E8h, 40h
72F2:0BE3  FF 2E A1 A9 12 2E			db	0FFh, 2Eh, 0A1h, 0A9h, 12h, 2Eh
72F2:0BE9  8B 16 AB 12 2D 00			db	8Bh, 16h, 0ABh, 12h, 2Dh, 0
72F2:0BEF  10 83 DA 00 2E 2B			db	10h, 83h, 0DAh, 0, 2Eh, 2Bh
72F2:0BF5  06 A5 12 2E 1B 16			db	6, 0A5h, 12h, 2Eh, 1Bh, 16h
72F2:0BFB  A7 12 79 08 C7 46			db	0A7h, 12h, 79h, 8, 0C7h, 46h
72F2:0C01  FC 00 00 E9 62 FA			db	0FCh, 0, 0, 0E9h, 62h, 0FAh
72F2:0C07  75 08 3B C1 77 04			db	75h, 8, 3Bh, 0C1h, 77h, 4
72F2:0C0D  2E A3 AF 12				db	2Eh, 0A3h, 0AFh, 12h
72F2:0C11			loc_49:
72F2:0C11  2E:8B 16 12A5			mov	dx,cs:data_57e		; (72F2:12A5=0)
72F2:0C16  2E:8B 0E 12A7			mov	cx,cs:data_58e		; (72F2:12A7=0)
     4096.lst         Hello, world!$			 Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 20

72F2:0C1B  0B C9				or	cx,cx			; Zero ?
72F2:0C1D  75 05				jnz	loc_50			; Jump if not zero
72F2:0C1F  83 FA 1C				cmp	dx,1Ch
72F2:0C22  76 1A				jbe	loc_51			; Jump if below or =
72F2:0C24			loc_50:						;  xref 72F2:0C1D, 0CA7
72F2:0C24  2E:8B 16 12AD			mov	dx,cs:data_61e		; (72F2:12AD=0)
72F2:0C29  2E:8B 0E 12AF			mov	cx,cs:data_62e		; (72F2:12AF=0)
72F2:0C2E  B4 3F				mov	ah,3Fh			; '?'
72F2:0C30  E8 0381				call	sub_24			; (0FB4)
72F2:0C33  2E:03 06 12B1			add	ax,cs:data_63e		; (72F2:12B1=0)
72F2:0C38  89 46 FC				mov	[bp-4],ax
72F2:0C3B  E9 F878				jmp	loc_12			; (04B6)
72F2:0C3E			loc_51:						;  xref 72F2:0C22
72F2:0C3E  8B F2				mov	si,dx
72F2:0C40  8B FA				mov	di,dx
72F2:0C42  2E:03 3E 12AF			add	di,cs:data_62e		; (72F2:12AF=0)
72F2:0C47  83 FF 1C				cmp	di,1Ch
72F2:0C4A  72 04				jb	loc_52			; Jump if below
72F2:0C4C  33 FF				xor	di,di			; Zero register
72F2:0C4E  EB 05				jmp	short loc_53		; (0C55)
72F2:0C50			loc_52:						;  xref 72F2:0C4A
72F2:0C50  83 EF 1C				sub	di,1Ch
72F2:0C53  F7 DF				neg	di
72F2:0C55			loc_53:						;  xref 72F2:0C4E
72F2:0C55  8B C2				mov	ax,dx
72F2:0C57  2E:8B 0E 12AB			mov	cx,cs:data_60e		; (72F2:12AB=0)
72F2:0C5C  2E:8B 16 12A9			mov	dx,cs:data_59e		; (72F2:12A9=0)
72F2:0C61  83 C2 0F				add	dx,0Fh
72F2:0C64  83 D1 00				adc	cx,0
72F2:0C67  83 E2 F0				and	dx,0FFF0h
72F2:0C6A  81 EA 0FFC				sub	dx,0FFCh
72F2:0C6E  83 D9 00				sbb	cx,0
72F2:0C71  03 D0				add	dx,ax
72F2:0C73  83 D1 00				adc	cx,0
72F2:0C76  B8 4200				mov	ax,4200h
72F2:0C79  E8 0338				call	sub_24			; (0FB4)
72F2:0C7C  B9 001C				mov	cx,1Ch
72F2:0C7F  2B CF				sub	cx,di
72F2:0C81  2B CE				sub	cx,si
72F2:0C83  B4 3F				mov	ah,3Fh			; '?'
72F2:0C85  2E:8B 16 12AD			mov	dx,cs:data_61e		; (72F2:12AD=0)
72F2:0C8A  E8 0327				call	sub_24			; (0FB4)
72F2:0C8D  2E:01 06 12AD			add	cs:data_61e,ax		; (72F2:12AD=0)
72F2:0C92  2E:29 06 12AF			sub	cs:data_62e,ax		; (72F2:12AF=0)
72F2:0C97  2E:01 06 12B1			add	cs:data_63e,ax		; (72F2:12B1=0)
72F2:0C9C  33 C9				xor	cx,cx			; Zero register
72F2:0C9E  BA 001C				mov	dx,1Ch
72F2:0CA1  B8 4200				mov	ax,4200h
72F2:0CA4  E8 030D				call	sub_24			; (0FB4)
72F2:0CA7  E9 FF7A				jmp	loc_50			; (0C24)
72F2:0CAA  2E 80 26 B3 12 FE			db	2Eh, 80h, 26h, 0B3h, 12h, 0FEh
72F2:0CB0  E8 53 FE 75 03 E9			db	0E8h, 53h, 0FEh, 75h, 3, 0E9h
72F2:0CB6  0A FF 2E 89 0E AF			db	0Ah, 0FFh, 2Eh, 89h, 0Eh, 0AFh
72F2:0CBC  12 2E 89 16 AD 12			db	12h, 2Eh, 89h, 16h, 0ADh, 12h
72F2:0CC2  2E C7 06 B1 12 00			db	2Eh, 0C7h, 6, 0B1h, 12h, 0
72F2:0CC8  00 E8 58 FE 2E A1			db	0, 0E8h, 58h, 0FEh, 2Eh, 0A1h
72F2:0CCE  A9 12 2E 8B 16 AB			db	0A9h, 12h, 2Eh, 8Bh, 16h, 0ABh
     4096.lst         Hello, world!$			 Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 21

72F2:0CD4  12 2D 00 10 83 DA			db	12h, 2Dh, 0, 10h, 83h, 0DAh
72F2:0CDA  00 2E 2B 06 A5 12			db	0, 2Eh, 2Bh, 6, 0A5h, 12h
72F2:0CE0  2E 1B 16 A7 12 78			db	2Eh, 1Bh, 16h, 0A7h, 12h, 78h
72F2:0CE6  02 EB				db	2, 0EBh
72F2:0CE8  7E					db	7Eh
72F2:0CE9			loc_54:						;  xref 72F2:0D6D, 0D83
72F2:0CE9  E8 00FA				call	sub_13			; (0DE6)
72F2:0CEC  0E					push	cs
72F2:0CED  1F					pop	ds
72F2:0CEE  8B 16 12A9				mov	dx,ds:data_59e		; (72F2:12A9=0)
72F2:0CF2  8B 0E 12AB				mov	cx,ds:data_60e		; (72F2:12AB=0)
72F2:0CF6  83 C2 0F				add	dx,0Fh
72F2:0CF9  83 D1 00				adc	cx,0
72F2:0CFC  83 E2 F0				and	dx,0FFF0h
72F2:0CFF  81 EA 0FFC				sub	dx,0FFCh
72F2:0D03  83 D9 00				sbb	cx,0
72F2:0D06  B8 4200				mov	ax,4200h
72F2:0D09  E8 02A8				call	sub_24			; (0FB4)
72F2:0D0C  BA 0004				mov	dx,4
72F2:0D0F  B9 001C				mov	cx,1Ch
72F2:0D12  B4 3F				mov	ah,3Fh			; '?'
72F2:0D14  E8 029D				call	sub_24			; (0FB4)
72F2:0D17  B8 4200				mov	ax,4200h
72F2:0D1A  33 C9				xor	cx,cx			; Zero register
72F2:0D1C  8B D1				mov	dx,cx
72F2:0D1E  E8 0293				call	sub_24			; (0FB4)
72F2:0D21  BA 0004				mov	dx,4
72F2:0D24  B9 001C				mov	cx,1Ch
72F2:0D27  B4 40				mov	ah,40h			; '@'
72F2:0D29  E8 0288				call	sub_24			; (0FB4)
72F2:0D2C  BA F000				mov	dx,0F000h
72F2:0D2F  B9 FFFF				mov	cx,0FFFFh
72F2:0D32  B8 4202				mov	ax,4202h
72F2:0D35  E8 027C				call	sub_24			; (0FB4)
72F2:0D38  B4 40				mov	ah,40h			; '@'
72F2:0D3A  33 C9				xor	cx,cx			; Zero register
72F2:0D3C  E8 0275				call	sub_24			; (0FB4)
72F2:0D3F  8B 16 12A5				mov	dx,ds:data_57e		; (72F2:12A5=0)
72F2:0D43  8B 0E 12A7				mov	cx,ds:data_58e		; (72F2:12A7=0)
72F2:0D47  B8 4200				mov	ax,4200h
72F2:0D4A  E8 0267				call	sub_24			; (0FB4)
72F2:0D4D  B8 5700				mov	ax,5700h
72F2:0D50  E8 0261				call	sub_24			; (0FB4)
72F2:0D53  F6 C6 80				test	dh,80h
72F2:0D56  74 09				jz	loc_55			; Jump if zero
72F2:0D58  80 EE C8				sub	dh,0C8h
72F2:0D5B  B8 5701				mov	ax,5701h
72F2:0D5E  E8 0253				call	sub_24			; (0FB4)
72F2:0D61			loc_55:						;  xref 72F2:0D56
72F2:0D61  E8 0128				call	sub_14			; (0E8C)
72F2:0D64  E9 F6C8				jmp	loc_10			; (042F)
72F2:0D67			loc_56:
72F2:0D67  75 07				jnz	loc_57			; Jump if not zero
72F2:0D69  3B C1				cmp	ax,cx
72F2:0D6B  77 03				ja	loc_57			; Jump if above
72F2:0D6D  E9 FF79				jmp	loc_54			; (0CE9)
72F2:0D70			loc_57:						;  xref 72F2:0D67, 0D6B
     4096.lst         Hello, world!$			 Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 22

72F2:0D70  2E:8B 16 12A5			mov	dx,cs:data_57e		; (72F2:12A5=0)
72F2:0D75  2E:8B 0E 12A7			mov	cx,cs:data_58e		; (72F2:12A7=0)
72F2:0D7A  0B C9				or	cx,cx			; Zero ?
72F2:0D7C  75 08				jnz	loc_58			; Jump if not zero
72F2:0D7E  83 FA 1C				cmp	dx,1Ch
72F2:0D81  77 03				ja	loc_58			; Jump if above
72F2:0D83  E9 FF63				jmp	loc_54			; (0CE9)
72F2:0D86			loc_58:						;  xref 72F2:0D7C, 0D81
72F2:0D86  E8 016A				call	sub_19			; (0EF3)
72F2:0D89  E8 0228				call	sub_24			; (0FB4)
72F2:0D8C  E8 0138				call	sub_17			; (0EC7)
72F2:0D8F  B8 5700				mov	ax,5700h
72F2:0D92  E8 021F				call	sub_24			; (0FB4)
72F2:0D95  F6 C6 80				test	dh,80h
72F2:0D98  75 09				jnz	loc_59			; Jump if not zero
72F2:0D9A  80 C6 C8				add	dh,0C8h
72F2:0D9D  B8 5701				mov	ax,5701h
72F2:0DA0  E8 0211				call	sub_24			; (0FB4)
72F2:0DA3			loc_59:						;  xref 72F2:0D98
72F2:0DA3  E9 F710				jmp	loc_12			; (04B6)
72F2:0DA6  E9 F686				jmp	loc_10			; (042F)
72F2:0DA9  2E 8F 06 41 12 2E			db	2Eh, 8Fh, 6, 41h, 12h, 2Eh
72F2:0DAF  8F 06 43 12 2E 8F			db	8Fh, 6, 43h, 12h, 2Eh, 8Fh
72F2:0DB5  06 DB 12 2E 83 26			db	6, 0DBh, 12h, 2Eh, 83h, 26h
72F2:0DBB  DB 12 FE 2E 80 3E			db	0DBh, 12h, 0FEh, 2Eh, 80h, 3Eh
72F2:0DC1  DA 12 00 75 11 2E			db	0DAh, 12h, 0, 75h, 11h, 2Eh
72F2:0DC7  FF 36 DB 12 2E FF			db	0FFh, 36h, 0DBh, 12h, 2Eh, 0FFh
72F2:0DCD  1E 2D 12 73 06 2E			db	1Eh, 2Dh, 12h, 73h, 6, 2Eh
72F2:0DD3  FE 06 DA 12 F9 2E			db	0FEh, 6, 0DAh, 12h, 0F9h, 2Eh
72F2:0DD9  FF 2E 41 12 32 C0			db	0FFh, 2Eh, 41h, 12h, 32h, 0C0h
72F2:0DDF  2E C6 06 DA 12 01			db	2Eh, 0C6h, 6, 0DAh, 12h, 1
72F2:0DE5  CF					db	0CFh
  
				;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
				;			       SUBROUTINE
				;
				;         Called from:	 72F2:08B3, 0A9E, 0CE9
				;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
  
				sub_13		proc	near
72F2:0DE6  2E:C6 06 12DA 00			mov	byte ptr cs:data_65e,0	; (72F2:12DA=0)
72F2:0DEC  E8 0120				call	sub_21			; (0F0F)
72F2:0DEF  0E					push	cs
72F2:0DF0  1F					pop	ds
72F2:0DF1  B0 13				mov	al,13h
72F2:0DF3  E8 F3BF				call	sub_1			; (01B5)
72F2:0DF6  89 1E 122D				mov	ds:data_41e,bx		; (72F2:122D=0)
72F2:0DFA  8C 06 122F				mov	ds:data_42e,es		; (72F2:122F=0)
72F2:0DFE  89 1E 1239				mov	ds:data_46e,bx		; (72F2:1239=0)
72F2:0E02  8C 06 123B				mov	ds:data_47e,es		; (72F2:123B=0)
72F2:0E06  B2 00				mov	dl,0
72F2:0E08  B0 0D				mov	al,0Dh
72F2:0E0A  E8 F3A8				call	sub_1			; (01B5)
72F2:0E0D  8C C0				mov	ax,es
72F2:0E0F  3D C000				cmp	ax,0C000h
72F2:0E12  73 02				jae	loc_60			; Jump if above or =
72F2:0E14  B2 02				mov	dl,2
     4096.lst         Hello, world!$			 Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 23

72F2:0E16			loc_60:						;  xref 72F2:0E12
72F2:0E16  B0 0E				mov	al,0Eh
72F2:0E18  E8 F39A				call	sub_1			; (01B5)
72F2:0E1B  8C C0				mov	ax,es
72F2:0E1D  3D C000				cmp	ax,0C000h
72F2:0E20  73 02				jae	loc_61			; Jump if above or =
72F2:0E22  B2 02				mov	dl,2
72F2:0E24			loc_61:						;  xref 72F2:0E20
72F2:0E24  88 16 1250				mov	ds:data_53e,dl		; (72F2:1250=0)
72F2:0E28  E8 0111				call	sub_22			; (0F3C)
72F2:0E2B  8C 16 12DD				mov	ds:data_66e,ss		; (72F2:12DD=0)
72F2:0E2F  89 26 12DF				mov	ds:data_67e,sp		; (72F2:12DF=0)
72F2:0E33  0E					push	cs
72F2:0E34  B8 0D40				mov	ax,0D40h
72F2:0E37  50					push	ax
72F2:0E38  B8 0070				mov	ax,70h
72F2:0E3B  8E C0				mov	es,ax
72F2:0E3D  B9 FFFF				mov	cx,0FFFFh
72F2:0E40  B0 CB				mov	al,0CBh
72F2:0E42  33 FF				xor	di,di			; Zero register
72F2:0E44  F2/AE				repne	scasb			; Rept zf=0+cx>0 Scan es:[di] for al
72F2:0E46  4F					dec	di
72F2:0E47  9C					pushf				; Push flags
72F2:0E48  06					push	es
72F2:0E49  57					push	di
72F2:0E4A  9C					pushf				; Push flags
72F2:0E4B  58					pop	ax
72F2:0E4C  80 CC 01				or	ah,1
72F2:0E4F  50					push	ax
72F2:0E50  E4 21				in	al,21h			; port 21h, 8259-1 int IMR
72F2:0E52  A2 12E5				mov	ds:data_70e,al		; (72F2:12E5=0)
72F2:0E55  B0 FF				mov	al,0FFh
72F2:0E57  E6 21				out	21h,al			; port 21h, 8259-1 int comands
72F2:0E59  9D					popf				; Pop flags
72F2:0E5A  33 C0				xor	ax,ax			; Zero register
72F2:0E5C  FF 2E 122D				jmp	dword ptr ds:data_41e	; (72F2:122D=0)
72F2:0E60			loc_62:						;  xref 72F2:0184
72F2:0E60  C5 16 1231				lds	dx,dword ptr ds:data_43e	; (72F2:1231=0) Load 32 bit ptr
72F2:0E64  B0 01				mov	al,1
72F2:0E66  E8 0253				call	sub_26			; (10BC)
72F2:0E69  0E					push	cs
72F2:0E6A  1F					pop	ds
72F2:0E6B  BA 0C89				mov	dx,0C89h
72F2:0E6E  B0 13				mov	al,13h
72F2:0E70  E8 0249				call	sub_26			; (10BC)
72F2:0E73  B0 24				mov	al,24h			; '$'
72F2:0E75  E8 F33D				call	sub_1			; (01B5)
72F2:0E78  89 1E 123D				mov	ds:data_48e,bx		; (72F2:123D=0)
72F2:0E7C  8C 06 123F				mov	ds:data_49e,es		; (72F2:123F=0)
72F2:0E80  BA 0CBD				mov	dx,0CBDh
72F2:0E83  B0 24				mov	al,24h			; '$'
72F2:0E85  E8 0234				call	sub_26			; (10BC)
72F2:0E88  E8 007B				call	sub_20			; (0F06)
72F2:0E8B  C3					retn
				sub_13		endp
  
  
     4096.lst         Hello, world!$			 Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 24

				;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
				;			       SUBROUTINE
				;
				;         Called from:	 72F2:0971, 0AFB, 0B02, 0D61
				;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
  
				sub_14		proc	near
72F2:0E8C			loc_63:
72F2:0E8C  E8 0080				call	sub_21			; (0F0F)
72F2:0E8F  2E:C5 16 1239			lds	dx,dword ptr cs:data_46e	; (72F2:1239=0) Load 32 bit ptr
72F2:0E94  B0 13				mov	al,13h
72F2:0E96  E8 0223				call	sub_26			; (10BC)
72F2:0E99  2E:C5 16 123D			lds	dx,dword ptr cs:data_48e	; (72F2:123D=0) Load 32 bit ptr
72F2:0E9E  B0 24				mov	al,24h			; '$'
72F2:0EA0  E8 0219				call	sub_26			; (10BC)
72F2:0EA3  E8 0060				call	sub_20			; (0F06)
72F2:0EA6  C3					retn
				sub_14		endp
  
  
				;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
				;			       SUBROUTINE
				;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
  
				sub_15		proc	near
72F2:0EA7  B8 3300				mov	ax,3300h
72F2:0EAA  E8 0107				call	sub_24			; (0FB4)
72F2:0EAD  2E:88 16 12E1			mov	cs:data_68e,dl		; (72F2:12E1=0)
72F2:0EB2  B8 3301				mov	ax,3301h
72F2:0EB5  32 D2				xor	dl,dl			; Zero register
72F2:0EB7  E8 00FA				call	sub_24			; (0FB4)
72F2:0EBA  C3					retn
				sub_15		endp
  
  
				;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
				;			       SUBROUTINE
				;
				;         Called from:	 72F2:042F, 0462, 07A7
				;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
  
				sub_16		proc	near
72F2:0EBB  2E:8A 16 12E1			mov	dl,cs:data_68e		; (72F2:12E1=0)
72F2:0EC0  B8 3301				mov	ax,3301h
72F2:0EC3  E8 00EE				call	sub_24			; (0FB4)
72F2:0EC6  C3					retn
				sub_16		endp
  
  
				;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
				;			       SUBROUTINE
				;
				;         Called from:	 72F2:0502, 081D, 0D8C
				;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
  
				sub_17		proc	near
72F2:0EC7  2E:8F 06 12EA			pop	word ptr cs:data_73e	; (72F2:12EA=0)
     4096.lst         Hello, world!$			 Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 25

72F2:0ECC  9C					pushf				; Push flags
72F2:0ECD  50					push	ax
72F2:0ECE  53					push	bx
72F2:0ECF  51					push	cx
72F2:0ED0  52					push	dx
72F2:0ED1  56					push	si
72F2:0ED2  57					push	di
72F2:0ED3  1E					push	ds
72F2:0ED4  06					push	es
72F2:0ED5  2E:FF 26 12EA			jmp	word ptr cs:data_73e	; (72F2:12EA=0)
  
				;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
				;
				;         Called from:	 72F2:01A3, 0465, 07AA
  
				sub_18:
72F2:0EDA  2E:C4 3E 1235			les	di,dword ptr cs:data_45e	; (72F2:1235=0) Load 32 bit ptr
72F2:0EDF  BE 124B				mov	si,124Bh
72F2:0EE2  0E					push	cs
72F2:0EE3  1F					pop	ds
72F2:0EE4  FC					cld				; Clear direction
72F2:0EE5  B9 0005				mov	cx,5
  
72F2:0EE8			locloop_64:					;  xref 72F2:0EF0
72F2:0EE8  AC					lodsb				; String [si] to al
72F2:0EE9  26:86 05				xchg	al,es:[di]
72F2:0EEC  88 44 FF				mov	[si-1],al
72F2:0EEF  47					inc	di
72F2:0EF0  E2 F6				loop	locloop_64		; Loop if cx > 0
  
72F2:0EF2  C3					retn
				sub_17		endp
  
  
				;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
				;			       SUBROUTINE
				;
				;         Called from:	 72F2:044B, 04B6, 04FF, 0817, 0D86
				;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
  
				sub_19		proc	near
72F2:0EF3  2E:8F 06 12EA			pop	word ptr cs:data_73e	; (72F2:12EA=0)
72F2:0EF8  07					pop	es
72F2:0EF9  1F					pop	ds
72F2:0EFA  5F					pop	di
72F2:0EFB  5E					pop	si
72F2:0EFC  5A					pop	dx
72F2:0EFD  59					pop	cx
72F2:0EFE  5B					pop	bx
72F2:0EFF  58					pop	ax
72F2:0F00  9D					popf				; Pop flags
72F2:0F01  2E:FF 26 12EA			jmp	word ptr cs:data_73e	; (72F2:12EA=0)
  
				;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
				;
				;         Called from:	 72F2:01B0, 0468, 07AD, 0A87, 0A8C, 0B5D, 0E88
				;			      0EA3
     4096.lst         Hello, world!$			 Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 26

  
				sub_20:
72F2:0F06  2E:C7 06 135D 0DD3			mov	word ptr cs:data_84e,0DD3h	; (72F2:135D=0)
72F2:0F0D  EB 07				jmp	short loc_65		; (0F16)
  
				;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
				;
				;         Called from:	 72F2:01A0, 045F, 07A4, 0A39, 0A45, 0B24, 0DEC
				;			      0E8C
  
				sub_21:
72F2:0F0F  2E:C7 06 135D 0DA7			mov	word ptr cs:data_84e,0DA7h	; (72F2:135D=0)
72F2:0F16			loc_65:						;  xref 72F2:0F0D
72F2:0F16  2E:8C 16 1359			mov	cs:data_82e,ss		; (72F2:1359=0)
72F2:0F1B  2E:89 26 1357			mov	cs:data_81e,sp		; (72F2:1357=0)
72F2:0F20  0E					push	cs
72F2:0F21  17					pop	ss
72F2:0F22  2E:8B 26 135B			mov	sp,cs:data_83e		; (72F2:135B=0)
72F2:0F27  2E:FF 16 135D			call	word ptr cs:data_84e	; (72F2:135D=0)
72F2:0F2C  2E:89 26 135B			mov	cs:data_83e,sp		; (72F2:135B=0)
72F2:0F31  2E:8E 16 1359			mov	ss,cs:data_82e		; (72F2:1359=0)
72F2:0F36  2E:8B 26 1357			mov	sp,cs:data_81e		; (72F2:1357=0)
72F2:0F3B  C3					retn
				sub_19		endp
  
  
				;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
				;			       SUBROUTINE
				;
				;         Called from:	 72F2:0448, 0E28
				;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
  
				sub_22		proc	near
72F2:0F3C  B0 01				mov	al,1
72F2:0F3E  E8 F274				call	sub_1			; (01B5)
72F2:0F41  2E:89 1E 1231			mov	cs:data_43e,bx		; (72F2:1231=0)
72F2:0F46  2E:8C 06 1233			mov	word ptr cs:data_43e+2,es	; (72F2:1233=0)
72F2:0F4B  0E					push	cs
72F2:0F4C  1F					pop	ds
72F2:0F4D  BA 0023				mov	dx,23h
72F2:0F50  E8 0169				call	sub_26			; (10BC)
72F2:0F53  C3					retn
				sub_22		endp
  
72F2:0F54  E8 03 00 E9 D5 F4			db	0E8h, 3, 0, 0E9h, 0D5h, 0F4h
  
				;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
				;			       SUBROUTINE
				;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
  
				sub_23		proc	near
72F2:0F5A  2E:80 3E 12E2 00			cmp	byte ptr cs:data_69e,0	; (72F2:12E2=0)
72F2:0F60  74 48				je	loc_ret_67		; Jump if equal
72F2:0F62  83 FB FF				cmp	bx,0FFFFh
72F2:0F65  75 43				jne	loc_ret_67		; Jump if not equal
72F2:0F67  BB 0160				mov	bx,160h
72F2:0F6A  E8 0047				call	sub_24			; (0FB4)
     4096.lst         Hello, world!$			 Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 27

72F2:0F6D  72 3B				jc	loc_ret_67		; Jump if carry Set
72F2:0F6F  8C CA				mov	dx,cs
72F2:0F71  3B C2				cmp	ax,dx
72F2:0F73  72 09				jb	loc_66			; Jump if below
72F2:0F75  8E C0				mov	es,ax
72F2:0F77  B4 49				mov	ah,49h			; 'I'
72F2:0F79  E8 0038				call	sub_24			; (0FB4)
72F2:0F7C  EB 2C				jmp	short loc_ret_67	; (0FAA)
72F2:0F7E			loc_66:						;  xref 72F2:0F73
72F2:0F7E  4A					dec	dx
72F2:0F7F  8E DA				mov	ds,dx
72F2:0F81  C7 06 0001 0000			mov	word ptr ds:data_16e,0	; (72F1:0001=0FFFFh)
72F2:0F87  42					inc	dx
72F2:0F88  8E DA				mov	ds,dx
72F2:0F8A  8E C0				mov	es,ax
72F2:0F8C  50					push	ax
72F2:0F8D  2E:A3 124E				mov	cs:data_52e,ax		; (72F2:124E=0)
72F2:0F91  33 F6				xor	si,si			; Zero register
72F2:0F93  8B FE				mov	di,si
72F2:0F95  B9 0B00				mov	cx,0B00h
72F2:0F98  F3/A5				rep	movsw			; Rep while cx>0 Mov [si] to es:[di]
72F2:0F9A  48					dec	ax
72F2:0F9B  8E C0				mov	es,ax
72F2:0F9D  2E:A1 1249				mov	ax,cs:data_51e		; (72F2:1249=0)
72F2:0FA1  26:A3 0001				mov	es:data_15e,ax		; (48FF:0001=0FFFFh)
72F2:0FA5  B8 0E8A				mov	ax,0E8Ah
72F2:0FA8  50					push	ax
72F2:0FA9  CB					retf				; Return far
  
72F2:0FAA			loc_ret_67:					;  xref 72F2:0F60, 0F65, 0F6D, 0F7C
72F2:0FAA  C3					retn
				sub_23		endp
  
72F2:0FAB  2E C6 06 F0 12 02			db	2Eh, 0C6h, 6, 0F0h, 12h, 2
72F2:0FB1  E9 7B F4				db	0E9h, 7Bh, 0F4h
  
				;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
				;			       SUBROUTINE
				;
				;         Called from:	 72F2:0505, 0568, 06A4, 0753, 07A1, 081A, 096E
				;			      097A, 098C, 0996, 09A0, 09AA, 09B4, 09DA
				;			      09E4, 09F3, 09FF, 0A15, 0A2D, 0A94, 0AA9
				;			      0ABF, 0ACB, 0AD9, 0AE5, 0AF0, 0B0C, 0B1A
				;			      0B2E, 0B41, 0B5A, 0BA1, 0C30, 0C79, 0C8A
				;			      0CA4, 0D09, 0D14, 0D1E, 0D29, 0D35, 0D3C
				;			      0D4A, 0D50, 0D5E, 0D89, 0D92, 0DA0, 0EAA
				;			      0EB7, 0EC3, 0F6A, 0F79
				;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
  
				sub_24		proc	near
72F2:0FB4  9C					pushf				; Push flags
72F2:0FB5  2E:FF 1E 1235			call	dword ptr cs:data_45e	; (72F2:1235=0)
72F2:0FBA  C3					retn
				sub_24		endp
  
72F2:0FBB  FA 33 C0 8E D0 BC			db	0FAh, 33h, 0C0h, 8Eh, 0D0h, 0BCh
72F2:0FC1  00 7C EB 4F DB DB			db	0, 7Ch, 0EBh, 4Fh, 0DBh, 0DBh
     4096.lst         Hello, world!$			 Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 28

72F2:0FC7  DB 20 F9 E0 E3 C3			db	0DBh, 20h, 0F9h, 0E0h, 0E3h, 0C3h
72F2:0FCD  80 81 11 12 24 40			db	80h, 81h, 11h, 12h, 24h, 40h
72F2:0FD3  81 11 12 24 40 F1			db	81h, 11h, 12h, 24h, 40h, 0F1h
72F2:0FD9  F1 12 24 40 81 21			db	0F1h, 12h, 24h, 40h, 81h, 21h
72F2:0FDF  12 24 40 81 10 E3			db	12h, 24h, 40h, 81h, 10h, 0E3h
72F2:0FE5  C3 80 00 00				db	0C3h, 80h, 0, 0
72F2:0FE9  0008[00]				db	8 dup (0)
72F2:0FF1  82 44 F8 70 C0 82			db	82h, 44h, 0F8h, 70h, 0C0h, 82h
72F2:0FF7  44 80 88 C0 82 44			db	44h, 80h, 88h, 0C0h, 82h, 44h
72F2:0FFD  80 80 C0 82 44 F0			db	80h, 80h, 0C0h, 82h, 44h, 0F0h
72F2:1003  70 C0 82 28 80 08			db	70h, 0C0h, 82h, 28h, 80h, 8
72F2:1009  C0 82 28 80 88 00			db	0C0h, 82h, 28h, 80h, 88h, 0
72F2:100F  F2 10 F8 70 C0 0E			db	0F2h, 10h, 0F8h, 70h, 0C0h, 0Eh
72F2:1015  1F BA 00 B0 B4 0F			db	1Fh, 0BAh, 0, 0B0h, 0B4h, 0Fh
72F2:101B  CD 10 3C 07 74 03			db	0CDh, 10h, 3Ch, 7, 74h, 3
72F2:1021  BA 00 B8				db	0BAh, 0, 0B8h
72F2:1024			loc_68:
72F2:1024  8E C2				mov	es,dx
72F2:1026  FC					cld				; Clear direction
72F2:1027  33 FF				xor	di,di			; Zero register
72F2:1029  B9 07D0				mov	cx,7D0h
72F2:102C  B8 0720				mov	ax,720h
72F2:102F  F3/AB				rep	stosw			; Rep while cx>0 Store ax to es:[di]
72F2:1031  BE 7C0E				mov	si,7C0Eh
72F2:1034  BB 02AE				mov	bx,2AEh
72F2:1037			loc_69:						;  xref 72F2:1059
72F2:1037  BD 0005				mov	bp,5
72F2:103A  8B FB				mov	di,bx
72F2:103C			loc_70:						;  xref 72F2:104F
72F2:103C  AC					lodsb				; String [si] to al
72F2:103D  8A F0				mov	dh,al
72F2:103F  B9 0008				mov	cx,8
  
72F2:1042			locloop_71:					;  xref 72F2:104C
72F2:1042  B8 0720				mov	ax,720h
72F2:1045  D1 E2				shl	dx,1			; Shift w/zeros fill
72F2:1047  73 02				jnc	loc_72			; Jump if carry=0
72F2:1049  B0 DB				mov	al,0DBh
72F2:104B			loc_72:						;  xref 72F2:1047
72F2:104B  AB					stosw				; Store ax to es:[di]
72F2:104C  E2 F4				loop	locloop_71		; Loop if cx > 0
  
72F2:104E  4D					dec	bp
72F2:104F  75 EB				jnz	loc_70			; Jump if not zero
72F2:1051  81 C3 00A0				add	bx,0A0h
72F2:1055  81 FE 7C59				cmp	si,7C59h
72F2:1059  72 DC				jb	loc_69			; Jump if below
72F2:105B  B4 01				mov	ah,1
72F2:105D  CD 10				int	10h			; Video display   ah=functn 01h
										;  set cursor mode in cx
72F2:105F  B0 08				mov	al,8
72F2:1061  BA 7CB9				mov	dx,7CB9h
72F2:1064  E8 0055				call	sub_26			; (10BC)
72F2:1067  B8 07FE				mov	ax,7FEh
72F2:106A  E6 21				out	21h,al			; port 21h, 8259-1 int comands
										;  al = 0FEh, IRQ0 (timer) only
72F2:106C  FB					sti				; Enable interrupts
     4096.lst         Hello, world!$			 Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 29

72F2:106D  33 DB				xor	bx,bx			; Zero register
72F2:106F  B9 0001				mov	cx,1
72F2:1072			loc_73:						;  xref 72F2:1072
72F2:1072  EB FE				jmp	short loc_73		; (1072)
72F2:1074  49 75 0B 33 FF 43			db	49h, 75h, 0Bh, 33h, 0FFh, 43h
72F2:107A  E8 0A 00 E8 07 00			db	0E8h, 0Ah, 0, 0E8h, 7, 0
72F2:1080  B1 04 B0 20 E6 20			db	0B1h, 4, 0B0h, 20h, 0E6h, 20h
72F2:1086  CF B9 28 00				db	0CFh, 0B9h, 28h, 0
  
72F2:108A			locloop_74:					;  xref 72F2:108F
72F2:108A  E8 0026				call	sub_25			; (10B3)
72F2:108D  AB					stosw				; Store ax to es:[di]
72F2:108E  AB					stosw				; Store ax to es:[di]
72F2:108F  E2 F9				loop	locloop_74		; Loop if cx > 0
  
72F2:1091  81 C7 009E				add	di,9Eh
72F2:1095  B9 0017				mov	cx,17h
  
72F2:1098			locloop_75:					;  xref 72F2:10A0
72F2:1098  E8 0018				call	sub_25			; (10B3)
72F2:109B  AB					stosw				; Store ax to es:[di]
72F2:109C  81 C7 009E				add	di,9Eh
72F2:10A0  E2 F6				loop	locloop_75		; Loop if cx > 0
  
72F2:10A2  FD					std				; Set direction flag
72F2:10A3  80 36 7CE7 01			xor	byte ptr ds:data_88e,1	; (72F2:7CE7=0)
72F2:10A8  80 36 7CD7 28			xor	byte ptr ds:data_86e,28h	; (72F2:7CD7=0) '('
72F2:10AD  80 36 7CE2 28			xor	byte ptr ds:data_87e,28h	; (72F2:7CE2=0) '('
72F2:10B2  C3					retn
  
				;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
				;			       SUBROUTINE
				;
				;         Called from:	 72F2:108A, 1098
				;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
  
				sub_25		proc	near
72F2:10B3  83 E3 03				and	bx,3
72F2:10B6  8A 87 7C0A				mov	al,ds:data_85e[bx]	; (72F2:7C0A=0)
72F2:10BA  43					inc	bx
72F2:10BB  C3					retn
				sub_25		endp
  
  
				;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
				;			       SUBROUTINE
				;
				;         Called from:	 72F2:01AD, 07D2, 0E66, 0E70, 0E85, 0E96, 0EA0
				;			      0F50, 1064
				;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
  
				sub_26		proc	near
72F2:10BC  06					push	es
72F2:10BD  53					push	bx
72F2:10BE  33 DB				xor	bx,bx			; Zero register
72F2:10C0  8E C3				mov	es,bx
72F2:10C2  8A D8				mov	bl,al
     4096.lst         Hello, world!$			 Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 30

72F2:10C4  D1 E3				shl	bx,1			; Shift w/zeros fill
72F2:10C6  D1 E3				shl	bx,1			; Shift w/zeros fill
72F2:10C8  26:89 17				mov	es:[bx],dx
72F2:10CB  26:8C 5F 02				mov	es:[bx+2],ds
72F2:10CF  5B					pop	bx
72F2:10D0  07					pop	es
72F2:10D1  C3					retn
				sub_26		endp
  
72F2:10D2  E8 11 FD B2 80 E8			db	0E8h, 11h, 0FDh, 0B2h, 80h, 0E8h
72F2:10D8  08 00 32 D2 E8 03			db	8, 0, 32h, 0D2h, 0E8h, 3
72F2:10DE  00 E9 AA FD				db	0, 0E9h, 0AAh, 0FDh
  
				;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
				;			       SUBROUTINE
				;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
  
				sub_27		proc	near
72F2:10E2  B8 0201				mov	ax,201h
72F2:10E5  E8 0011				call	sub_28			; (10F9)
72F2:10E8  75 15				jnz	loc_76			; Jump if not zero
72F2:10EA  00 33				add	[bp+di],dh
72F2:10EC  1B 70 00				sbb	si,[bx+si+0]
72F2:10EF  00 00				add	[bx+si],al
72F2:10F1  0F 50 12 7F 14 F8			db	0Fh, 50h, 12h, 7Fh, 14h, 0F8h
72F2:10F7  0F E5				db	0Fh, 0E5h
  
				;ßßßß External Entry into Subroutine ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
				;
				;         Called from:	 72F2:10E5
  
				sub_28:
72F2:10F9  0F 00 11 9A 0E 67			db	0Fh, 0, 11h, 9Ah, 0Eh, 67h
72F2:10FF			loc_76:						;  xref 72F2:10E8
72F2:10FF  0C 70				or	al,70h			; 'p'
72F2:1101  00 33				add	[bp+di],dh
72F2:1103  0E					push	cs
72F2:1104  2E:03 99 1114			add	bx,word ptr cs:[1114h][bx+di]	; (72F2:1114=8D8Eh)
72F2:1109  11 EF				adc	di,bp
72F2:110B  8E 00				mov	es,[bx+si]
72F2:110D  00 11				add	[bx+di],dl
72F2:110F  11 50 12				adc	[bx+si+12h],dx
72F2:1112  92					xchg	ax,dx
72F2:1113  13 8E 118D				adc	cx,ss:data_24e[bp]	; (72F2:118D=0)
				sub_27		endp
  
  
				seg_a		ends
  
  
  
						end	start
     4096.lst         Hello, world!$			 Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 31

  
				±±±±±±±±±±±±±±±±±±±± CROSS REFERENCE - KEY ENTRY POINTS ±±±±±±±±±±±±±±±±±±±
  
				    seg:off    type	   label
				   ---- ----   ----   ---------------
				   72F2:0100   far    start
  

Downloaded From P-80 International Information Systems 304-744-2253
