	       .COM 




			      ..



             
 ( ).    , 
   ,      -
(DisDoc 2.3),        ,   -
 ,       -
.
     ,  ,     -
      ,     , 
      ,  .  
      ,      -
 ,    : , -
 ,   ,   , -
   ,       -
 .
            ,  
""   "" , ..  ,     
   ,     , -
   .



         		       DisDoc?

    SOURSER -    ,        -
. ,    , ,   -
 .  ,      SOURSER -
 .     ,   -
   ( 7 .) SOURSER .  
 (   - 58  ), SOURSER    ,  
,    .
      DisDoc 2.3      .  -
,         SOURSERa ( 3.07), 
    DisDoc 2.3.      -
   .  , ,    SOURSER, 
,  ,   DisDoc 2.3,   ,    -
 .    .        -
     DisDoc -  ,
,    .
  ,      , -
  DisDoc 2.3

		mov	cx,WORD PTR ds:d02453	;02430
b02430:		add	cx,bx			;02434
		mov	bx,99e7h		;02436
		mov	dx,WORD PTR ds:d02449	;02439
		mov	al,BYTE PTR ds:d02446	;0243d
		call	s383 ;<09060>		;02440
		push	cs			;02443
		pop	ds			;02444
		ret				;02445
;-----------------------------------------------------
d02446		db	00			;02446 .
d02447		db	00,00			;02447 ..
d02449		db	00,00			;02449 ..

    ,      -
 . ,     ,  -
,    02434,    
add  cx,bx -    !      
.     ,       -
. ,  b02430   02430,   d02446 
 02446  ..       .  
      ,    -
   . ,  s383   
   09060.     
    ,    
     ,  ,  -
  ,     .    .
     ,  DisDoc   ,     -
, , ,      -  .
    


		          


    1.  OFFSETa


    ,   ,   cc   -
:


		mov	ax,bx			;1
		shl	ax,1 ;004bc		;2
		mov	si,8429h		;3
		add	si,ax			;4
		push	WORD PTR [si]		;5

    si    -  8429h   
?        ,   , 
 si    . ,  
   :

		mov	ax,bx			;1
		shl	ax,1 ;004bc		;2
		mov	si,OFFSET d08429        ;3
		add	si,ax			;4
		push	WORD PTR [si]		;5

		................................

d08429          db      0ff,0ff,0f6	        ;8429
		db	0ff,0d8,0ff,0a6,0ff,60	;0842c .....`

,      -      -
 OFFSET - ,  ,    
     ?  ,   .  , ,
,  ,      
,  ,         -
,     . ,  AND  CX,0007h -
 MASM 5.1  TASM 1.01    83E107    3 a.    -
     81E10700   4 . -, 
  ,    ,   
 -       "".
, OFFSET   ,     .
       .    -
       ,  :

		mov	bx,9006h		;08f66
b08f75:		mov	WORD PTR ds:d087d0,bx	;08f75
		.................................
		call	WORD PTR cs:d087d0	;08fc3
		......................................
;-----------------------------------------------------
		push	dx			;09006
		call	s419 ;<099a3>		;09007
		mov	al,BYTE PTR [si]	;0900a
		mov	BYTE PTR [si],0ffh	;0900c
		pop	dx			;0900f
		ret				;09010
;-----------------------------------------------------
  -  -   9006h     -
   ?      , -
    .       ,
   ,   ,   
  ,  .  , 
      , , -
, 9006h -  ,   .     
:

		mov	bx,OFFSET d09006        ;08f66
		......................................
;-----------------------------------------------------
d09006:		push	dx			;09006
		......................................
		ret				;09010

          ,   
OFFSET    .

s390    	proc near
..........................................................
		mov	ax,WORD PTR [bx+8792h]	;092c7
		mov	WORD PTR ds:d087d2,ax	;092cb
...........................................................
		call	WORD PTR cs:d087d2	;093c8
		ret				;093d4
;-----------------------------------------------------
		ror	ah,1 ;093d5		;LO]-->[HI..LO]-->[HI
		jb	b093da ;093d7		;Jump if <  (no sign)
		ret				;093d9
b093da:		inc	si			;093da
		ret				;093db
............................................................

     ,    8792h,    
 ,    .   , -
 :

d08790		db	00,00,0d5,93    	;08790 ......
.............................................................

,   08792   0d5,93.   ,
   093d5       

		ror	ah,1 ;093d5 !!!!!!	;LO]-->[HI..LO]-->[HI
		jb	b093da ;093d7		;Jump if <  (no sign)
		ret				;093d9
b093da:		inc	si			;093da
		ret				;093db

,   -     -
.     :

s390    	proc near
..........................................................
		mov	ax,WORD PTR [bx+OFFSET d08792]	;092c7
		mov	WORD PTR ds:d087d2,ax	;092cb
...........................................................
		call	WORD PTR cs:d087d2	;093c8
		ret				;093d4
;-----------------------------------------------------
d093d5:		ror	ah,1 ;093d5		;LO]-->[HI..LO]-->[HI
		jb	b093da ;093d7		;Jump if <  (no sign)
		ret				;093d9
b093da:		inc	si			;093da
		ret				;093db
............................................................

d08790		db	00,00    	;08790 ......
d08792          dw      OFFSET d093d5   ;08792

    .  ,     -
 ,      ..    -
 .  ,      .
   ,     !
,     -  . 
     ,   
  .   ,   ,
 ,  ,     -   !
           .  , -
  ,   :

		mov	bx,4f71h 		;0522b
b0522e:		pop	ax			;0522e
		cmp	ax,bx			;0522f
		jnz	b0522e ;05231		;Jump not equal(ZF=0)
		mov	BYTE PTR ds:d041f4,00	;05233
		push	ax			;05238
		ret				;05239

		.................................
		call	s229 ;<04fc4>		;04f71

     -   4f71h -   ? 
    ,  ,     .
    . ,   
,   4f71h    ,  
.    4f71h,        -
   .  ? ,    ,  -
      4f71h.    ,   -
    s229. ,    
  4f71h -  !    
:

		mov	bx, OFFSET d04f71       ;0522b
b0522e:		pop	ax			;0522e
		cmp	ax,bx			;0522f
		jnz	b0522e ;05231		;Jump not equal(ZF=0)
		mov	BYTE PTR ds:d041f4,00	;05233
		push	ax			;05238
		ret				;05239

		.................................
d04f71:		call	s229 ;<04fc4>		;04f71


    2.    ?

         .    
.COM ,   .   :

		pop	cx			;03e56
		ret				;03e57
;-----------------------------------------------------
		add	BYTE PTR [bx+si],al	;03e58
		add	BYTE PTR [bx+si],al	;03e5a
m03e5c:		mov	BYTE PTR ds:d05830,01	;03e5c


     ,  :

		add	BYTE PTR [bx+si],al	;03e58
		add	BYTE PTR [bx+si],al	;03e5a

       ret,   - -
 m03e5c. ,       .  -
      :

		pop	cx			;03e56
		ret				;03e57
;-----------------------------------------------------
d03e58		dw      0                	;03e58
d03e5a 		db      0                	;03e5a
d03e5b          db      0
m03e5c:		mov	BYTE PTR ds:d05830,01	;03e5c

    :       dw,    -
db?    ,   .   
 :

	     	mov	si,WORD PTR ds:d03e58	;03dd0
		mov	bl,BYTE PTR ds:d03e5a	;03dd4,

 ,   d03e58   ,  d03e5a -  .
       , ,   ,   .

b03f53:		cmp	al,05			;03f53
		jnz	b03f6b ;03f55		;Jump not equal(ZF=0)
 .....................................................
		ret				;03f69
;-----------------------------------------------------
		add	BYTE PTR [si],bh	;03f6a
		push	es			;03f6c
		jnz	b03f79 ;03f6d		;Jump not equal(ZF=0)


     b03f6b .    
 ""    add  BYTE PTR [si],bh ,  -
   ,  ,  
03f6a.       -  03f6a  
,      03f6b.   -
  :

b03f53:		cmp	al,05			;03f53
		jnz	b03f6b ;03f55		;Jump not equal(ZF=0)
......................................................
		ret				;03f69
;-----------------------------------------------------
d03f6a		db      0               	;03f6a
b03f6b:		cmp     al,06h			;03f6b
		jnz	b03f79 ;03f6d		;Jump not equal(ZF=0)

       . SOURSER -
     . DisDoc 2.3   
  .


    3.   

       , -
   ,        -
.      ,  -


s25     	proc near
		inc	cx			;0086b
		add	di,bp			;0086c
		adc	si,00			;0086e
		add	dx,si			;00871
		push	di			;00873
		shl	di,1 ;00874		;Multiply by 2's
		adc	dx,00			;00876
		pop	di			;00879
		ret				;0087a

    ,   ,  -
 .    ,     
,     . ,     


		mov	di,086bh		;007f8
		......................................
		mov	BYTE PTR [di],4ah	;00800
		mov	BYTE PTR [di+07],0f1h	;00803
		mov	BYTE PTR [di+0ch],0d1h	;00807
		......................................
		ret				;00815

		              .1



  di    ,    
 086bh   OFFSET  d0086b      -
  s25:

s25     	proc near
d0086b:		inc	cx			;0086b
     ..................................................

  ,   ,   .1  -
 s25.       TASM 1.01. -
    ,     2.
  41             INC    CX               41             INC    CX
  03FD           ADD    DI,BP            01EF           ADD    DI,BP
  83D600         ADC    SI,0000          83D600         ADC    SI,0000
  03D6           ADD    DX,SI            01F2           ADD    DX,SI
  57             PUSH   DI               57             PUSH   DI
  D1E7           SHL    DI,1             D1E7           SHL    DI,1
  83D200         ADC    DX,0000          83D2000        ADC    DX,0000
  5F             POP    DI               5F             POP    DI
  C3             RET                     C3             RET

         .2                                    .3

    ,       -
   ,    3.     
2  3, TASM 1.01      ADD --
,      . , ,
   ,   .1 (   086bh
 OFFSET d0086b)   s25,  TASM (.4)  -
  (.5).

  4A             DEC    DX               4A             DEC    DX
  03FD           ADD    DI,BP            01EF           ADD    DI,BP
  83D600         ADC    SI,0000          83D600         ADC    SI,0000
  03F1           ADD    SI,CX   ;!!!!    01F1           ADD    CX,SI   ;!!!!
  57             PUSH   DI               57             PUSH   DI
  D1E7           SHL    DI,1             D1E7           SHL    DI,1
  83D100         ADC    CX,0000          83D100         ADC    CX,0000
  5F             POP    DI               5F             POP    DI
  C3             RET                     C3             RET

         .4                                    .5

  4  5 ,       -
  ,   .
       ,      ? -
 ,      -  "".   
 TASM,  s25   :

s25     	proc near
d0086b:		inc	cx			;0086b
		add     di,bp                   ;0086c
		adc	si,00			;0086e
		db      01,0f2                  ;add	dx,si !!!!!! ;00871
		push	di			;00873
		shl	di,1 ;00874		;Multiply by 2's
		adc	dx,00			;00876
		pop	di			;00879
		ret				;0087a



	            DisDoc 2.3



     , DisDoc 2.3  ,  ,   -
,    .    -   -
  .   ,    .

    1. EQU -   ?

     ,  ,     :

;<00465>
s12     	proc near
d0046c		equ	00046ch
		cmp	bx,5ah			;00465

     d0046c	 equ  00046ch ?   , 
 d0046c  .      d0046c 
       -   s321

		mov	ax,0040h		;06257
;<es = 0040>
		mov	es,ax			;0625a
		mov	al,BYTE PTR es:d0046c	;0625c
		sti	 ;06260			;Turn ON Interrupts
b06261:		cmp	al,BYTE PTR es:d0046c	;06261
		jz	b06261 ;06266		;Jump if equal (ZF=1)
		mov	al,BYTE PTR es:d0046c	;06268
		dec	cx			;0626c
		jnz	b06261 ;0626d		;Jump not equal(ZF=0)
		pop	ax			;0626f
		out	61h,al ;06270		;060-067:8024 keybrd contrlr
;<es = 0000>
		pop	es			;06272
		ret				;06273
s321    	endp

			    .6


     ,     
  BIOSa . ,   es   40,
.. es     400 -   .  
 -    046h?  ,     -
    .   ,  , -
  .6,   -        -
,    cx.     ,  d0046c  
  46h,   6h!  ,    s321
,   ,    mov  al,BYTE PTR es:d0046c   
   mov  al,6ch.
,    , :
1.     s12   d0046c equ	00046ch
2.    .6  s321  :

		mov	ax,0040h		;06257
;<es = 0040>
		mov	es,ax			;0625a
		mov	al,BYTE PTR es:006ch	;0625c
		sti	 ;06260			;Turn ON Interrupts
b06261:		cmp	al,BYTE PTR es:006ch	;06261
		jz	b06261 ;06266		;Jump if equal (ZF=1)
		mov	al,BYTE PTR es:006ch	;06268
		dec	cx			;0626c
		jnz	b06261 ;0626d		;Jump not equal(ZF=0)
		pop	ax			;0626f
		out	61h,al ;06270		;060-067:8024 keybrd contrlr
;<es = 0000>
		pop	es			;06272
		ret				;06273
s321    	endp

       .  ,  , 
 :

;<0074e>
s22     	proc near
d0076a		equ	00076ah
d00771		equ	000771h
		call	s24 ;<00791>		;0074e
		...............
b0076a:		push	cx			;0076a
		call	s25 ;<0086b>		;0076b
		call	s23 ;<00776>		;0076e
		pop	cx			;00771
		dec	bx			;00772

   d0076a  .  d00771   
:
		.....................................
		mov	BYTE PTR ds:b0076a,51h	;0080b
		mov	BYTE PTR ds:d00771,59h	;00810
		......................................
      s22.  ,  
d00771  b00771,       s22  -
 
              d0076a  equ	00076ah
              d00771  equ	000771h

  s22   :


;<0074e>
s22     	proc near
		call	s24 ;<00791>		;0074e
......................................................
b0076a:		push	cx			;0076a
		call	s25 ;<0086b>		;0076b
		call	s23 ;<00776>		;0076e
b00771:		pop	cx			;00771
		dec	bx			;00772
      ..............................................
		mov	BYTE PTR ds:b0076a,51h	;0080b
		mov	BYTE PTR ds:b00771,59h	;00810
      ................................................


       .   s32    -
:

;<00bf7>
s32     	proc near
d00c1c		equ	000c1ch
d00c1e		equ	000c1eh

     ,   1,    
 ,     :

	       .......................................
		or	al,BYTE PTR [bp+di]	;00c14
		add	WORD PTR [bx+di],ax	;00c16
		add	BYTE PTR [bx+si],al	;00c18
		add	BYTE PTR [bx+si],al	;00c1a
		mov	di,1306h		;00c1c
		add	ax,06c0h		;00c1f
		......................................

			      .7

    d00c1c  d00c1e  ,  -
.      :
          mov WORD PTR ds:d00c1c,ax,  mov WORD PTR ds:d00c1e,ax.
,     ,      
       , equ,   
 s32.
    :
1.     s32   equ.
2.      7  :

d00c14		db      0a,03,01,01,00,00,00,00         ;00c14
d00c1c		db      0bf,06                          ;00c1c
d00c1e          db      13,05,0c0,06                    ;00c1e

          :

;<01252>
s39     	proc near
d0125d		equ	00125dh
d0125f		equ	00125fh
		dec	bh			;01252
		jz	b0124f ;01254		;Jump if equal (ZF=1)
		xor	ah,ah			;01256
		shl	al,1 ;01258		;Multiply by 2's
		rcl	ah,1 ;0125a		;CF<--[HI .. LO]<--CF
		ret				;0125c
;-----------------------------------------------------
		add	BYTE PTR [bx+si],al	;0125d
		add	BYTE PTR [bx+si],al	;0125f
s39     	endp

  ,   s39   :

;<01252>
s39     	proc near
		dec	bh			;01252
		jz	b0124f ;01254		;Jump if equal (ZF=1)
		xor	ah,ah			;01256
		shl	al,1 ;01258		;Multiply by 2's
		rcl	ah,1 ;0125a		;CF<--[HI .. LO]<--CF
		ret				;0125c
;-----------------------------------------------------
d0125d		db      00,00            	;0125d
d0125f		db      00,00             	;0125f
s39     	endp


         .  equ  -
.     DisDoc 2.3,    
.     equ -   .  ,  Dis-
Doc 2.3  equ  .       
 .



    2.  .

        . ,  

		add	WORD PTR ds:d96be3,07	;038b6
		shr	WORD PTR ds:d96be3,cl ;038bb ;Divide by 2's

		add	WORD PTR ds:d06bf3,07	;038b6
		shr	WORD PTR ds:d06bf3,cl   ;038bb ;Divide by 2's ,
    .  ,    .


   .
  , .   
   .
  :
  ,603074, .,.,38-443.
. 36-35-93().
