
           ᪮᪨ 㤠⢥  ஭  ⥬⨪
                            (孨᪨ 㭨)











                            ᮢ ࠡ  


              祭 ⥬  ய Intel 8086
                      ᮡ⥩  IBM PC







                                ⮢ 7










      ਭ                                뤠
      ᯮ                                 㪮⥫
     ..-41


        ..                      㫠 ..













                                ᪢ 1994 .

                            - 2 -




                                 

        16-ࠧ來  ᫠  ,᫮
       뢥  ᫠  16-ࠧ來 㬬  ࠭.





                         ᭥  ணࠬ


      砫   2- ᥫ,⥬ ணࠬ ॢ 
      ᫮  ASCII   .
      楤 ८ࠧ 砥  ᫥饬:

      1.稭  ᠬ ࠢ  ᫠  ASCII-ଠ 
        ࠡ뢠 ࠢ .
      2. ன   ⭠  
        ASCII-.
      3. ASCII-  1,10,100 (01, 0, 64 )  ..
         ᪫뢠 १.

       ⮬ ⠯ ९ ࠧ來 ⪨   
       : ᫮ १⮢ (.3)   ⪥
      ॢ 襣 ࠧ鸞  ᫠ 4- 浪 ᫨   6.
         ⥭ (뤠 ᮮ饭  ९).

      ᫥ ८ࠧ  ᥫ    ந 
      ᫮.᫨ १  祬 65535  믮塞 ⭮
      ८ࠧ  ASCII 2- 室 ᥫ   㬬.
      뢮  ᫠  㬬  ࠭   ᫮ "⮫".




















                                   - 3 -





                              ணࠬ

_DATA segment word public 'DATA'
;----------------------------------------------------------------------------								
SYMB db 0ah,0dh,'$'		;  p室  ᫥ p
MULT10 dw 01			;p 1 10 100 1000...  p ᥫ
OVERTXT db 'p','$'    ;
TXT1    db '1- ᫮:','$'     ; 饭
TXT2    db '2- ᫮:','$'	;

NAMEPAR1 label byte             ;  ᥫ  
MAXLEN1 db 6			;ᨬ쭠  ᫠
ACTLEN1 db 5			;쭠         -'-
NAMEFLD1 db 6 dup (' '),'$'	;Xp 񭮥 ᫮  ASCII 					
				;
BINARY1 dw 00			;  筮 ⠢

NAMEOUT1 db 6 dup (' '),'$'	;᫮ ᫥ p  筮  ASCII


NAMEPAR2 label byte		;
MAXLEN2 db 6			;
ACTLEN2 db 5			;
NAMEFLD2 db 6 dup (' '),'$'	;  ⮦ ᠬ,  p ᫠
 				;
BINARY2 dw 00			;	
				;
NAMEOUT2 db 6 dup (' '),'$'	;
	
BINAR    dw 00			; p p ᫠

SUMBIN   dw 00			;㬬 2- ᥫ (筠)
SUMOUT   db 6 dup (' '),'$'	;     -'-        ( ASCII )
;-----------------------------------------------------------------------------
_DATA ends



;------------------------------------------------------------------------------
_STACK segment para public 'STACK'

stk db 20 dup(' ')
_STACK ends
;-------------------------------------------------------------------------------



_TEXT segment word public 'CODE'
;-------------------------------------------------------------------------------
assume cs:_TEXT,ds:_DATA,ss:_STACK

                                   - 4 -
begin:

;                      -----᭮ pp-----

MAIN proc far

	push ds  		;
	sub ax,ax		;
	push ax			;⠭p⭠ 樠 EXE-pp
	mov ax,_DATA		;
	mov ds,ax		;
	
VVOD:
	lea dx,TXT1		;뢮 ᮮ饭 TXT1
	call SCREEN		;

	mov ah,0ah		;
	lea dx,NAMEPAR1		;B 1- ᫠
	int 21h			;

	call SYMBL		;p p
	


	lea dx,TXT2		;
	call SCREEN		;		
				
	mov ah,0ah		;	⮦ ᠬ  2- ᫠
	lea dx,NAMEPAR2		;
	int 21h			;

	call SYMBL		;
			
	call SYMBL		;p   p

	
	lea si,NAMEFLD1-1	;
	mov bl,ACTLEN1		;樠
	mov MULT10,01		;
	call PREOBR		;p㥬 ASCII  筮
	
	mov ax,BINAR		; BINAR 稫 p
	mov BINARY1,ax

	mov bx,bx		;
	sub bx,0		;᫨  bx  0  p
	jnz KON		;
	
	lea si,NAMEOUT1+4	;p ⭮  ASCII ( p)
	mov ax,BINARY1		;
        call OBR		;


	mov BINAR,00	
	

                                   - 5 -

	lea si,NAMEFLD2-1	;
	mov bl,ACTLEN2		;	⮦ ᠬ
	mov MULT10,01		;	
	call PREOBR		;	 2-

	mov ax,BINAR		;	 ᫠
	mov BINARY2,ax		;

	mov bx,bx		;
	sub bx,0		;
	jnz KON      		;

	
	lea si,NAMEOUT2+4	;
	mov ax,BINARY2		;	
	call OBR

		
	mov ax,BINARY1		; 뢠
	add ax,BINARY2		;   ᫠
	jc KON 			; 室 ᫨ p

	mov SUMBIN,ax		;
	lea si,SUMOUT+4		;p 㬬  ASCII
	mov ax,SUMBIN		;
	call OBR		;
	
	
	mov ah,09		;
	lea dx,NAMEOUT1		;뢮 1- ᫮
	int 21h 		;
	call SYMBL		;

	mov ah,09		;
	lea dx,NAMEOUT2		;뢮 2- ᫮
	int 21h			;
	call SYMBL		;

	mov ah,09		;
	lea dx,SUMOUT		;뢮 㬬
	int 21h			;
	
	jmp DOS			;室  DOS

KON:
	lea dx,OVERTXT		;뢮 ᮮ饭  p
	call SCREEN		;

DOS:	ret

MAIN endp


;		------p ASCII  筮------

                                   - 6 -

PREOBR proc

	mov cx,10		;p 㬭

	mov bh,0
B20:	
	
	mov al,[si+bx]		;p ASCII ᨬ
	and ax,000fh		;   ax
	mul MULT10		;  p 10
	jc OVR			;
	
	add BINAR,ax
	jc OVR
		
	mov ax,MULT10
	mul cx
	mov MULT10,ax
	dec bx
	jnz B20
	

OVR:	ret

PREOBR endp

;		------p  筮  ASCII----
OBR  proc

	mov cx,0010
c20:
	cmp ax,10
	jb c30
	xor dx,dx
	div cx
	or dl,30h
	mov [si],dl
	dec si
	jmp c20

c30:
	or al,30h
	mov [si],al
	ret
OBR endp


SYMBL proc		;	-  p p
			;	
	mov ah,09h	;
	lea dx,SYMB	;
	int 21h		;
	ret		;


                                   - 7 -
SYMBL endp

SCREEN proc		;	-  뢮
			;	  ᮮ饭
	mov ah,09h	;
	int 21h		;	
	ret		;
	
SCREEN endp

;-----------------------------------------------------------------------------
_TEXT ends
      end begin

