برنامه نویسی
.MODEL  large
.STACK  
.DATA
MESSAGE  DB 'HELLO,WORLD',"$"
STRLIST  LABEL BYTE    ;
MAX   DB  20     ;HAD AKSAR TOLE LIST
LEN   DB  ?     ;TEDAD VAGHEY CARACTER KHANDE SHODE
BUFFER  DB  20  DUP(' ') ;MAHAL  HAFEZE KE CARACTER VORODY ZAKHIRE MISHAVAD
DOLAR  DB  '$'     ;ENTEHAY RESHTE MOSHAKHAS MISHAVAD
HELP  DB  ?

line1   DB 'DANESHGAH AZAD ESLAMI VAHED E LARESTAN',"$"
line2   DB 'mohammad hossein',"$"
line3   DB 'abrari',"$"
line4   DB 'enter number :',"$"

N0   DB '0',"$"
N1   DB '1',"$"
N2   DB '2',"$" 
N3   DB '3',"$"
N4   DB '4',"$"
N5   DB '5',"$"
N6   DB '6',"6"
N7   DB '7',"$"
N8   DB '8',"$"
N9   DB '9',"$"

M0   DB 'ziro ',"$" 
M1   DB 'one ',"$"    
M2   DB 'two ',"$"    
M3   DB 'three ',"$"    
M4   DB 'four ',"$"    
M5   DB 'five ',"$"    
M6   DB 'six ',"$"    
M7   DB 'seven ',"$"    
M8   DB 'eight ',"$"    
M9   DB 'nine ',"$"    
M10   DB 'ten ',"$"
M11   DB 'eleven ',"$"
M12   DB 'twelve ',"$"
M13   DB 'thirteen ',"$"
M14   DB 'fourteen ',"$"
M15   DB 'fifteen ',"$"
M16   DB 'sixteen ',"$"
M17   DB 'seventeen ',"$"
M18   DB 'eighteen ',"$"
M19   DB 'ninteen ',"$"

M20   DB 'twenty ',"$"
M30   DB 'thirty ',"$"
M40   DB 'fourty ',"$"
M50   DB 'fifty ',"$"
M60   DB 'sixty ',"$"
M70   DB 'seventy ',"$"
M80   DB 'eighty ',"$"
M90   DB 'ninty ',"$"

M100        DB 'hundred ',"$"
M200  DB 'two_hundred ',"$"
M300  DB 'three_hunderd ',"$"
M400  DB 'four_hundred ',"$"
M500  DB 'five_hundrred ',"$"
M600  DB 'six_hundred ',"$"
M700  DB 'seven_hundred ',"$"
M800  DB 'eight_hundred ',"$"
M900  DB 'nine_hundred ',"$"

.CODE
MAIN  PROC
   MOV  AX,@DATA
   MOV  DS,AX
   
   mov  ah,00h
      mov  al,03h ;mode video 80*25 standard color text
   int  10h
   ;***********************PAKE KARDAN SAFHE - loop-massage
lop:  MOV  AH,6H
   MOV  AL,25
   MOV  CH,0
   MOV  CL,0
   MOV  DH,24
   MOV  DL,79
   MOV  BH,7
   INT  10H
   
   
   
   mov  ah,2h
   mov  dh,2
   mov  dl,15
   mov  bh,0
   int  10h
   LEA  DX,line1
   call    dis
   
   
   
   
   mov  ah,2h
   mov  dh,3
   mov  dl,15
   mov  bh,0
   int  10h
   LEA  DX,line2
   call    dis
   
   mov  ah,2h
   mov  dh,4
   mov  dl,15
   mov  bh,0
   int  10h
   LEA  DX,line3
   call    dis
   
   
      mov  ah,2h
   mov  dh,6
   mov  dl,15
   mov  bh,0
   int  10h
   LEA  DX,line4
   call    dis
   ;*******************enter number
   
   MOV  AH,0AH
   LEA  DX,STRLIST
   INT  21H
   
   
   mov  ah,2h
   mov  dh,18
   mov  dl,25
   mov  bh,0
   int  10h
   ;***********************************chek len number
   LEA  BX,BUFFER
   MOV  DL,[BX]
   MOV  CL,LEN
   
   CMP  CL,1
   JnE  a
   LEA  BX,BUFFER
   MOV  DL,[BX]
   ;*******************if len equal '1'
      ;CMP  LEN,1
   ;JNE  yekan0
   
          CMP  DL,N0
   JNE  yekan0
   LEA  DX,m0
   call    dis
   JMP  l
YEKAN:   
yekan0:  CMP  DL,N1
   JNE  yekan1
   LEA  DX,m1
   call    dis
   JMP  l
yekan1:  CMP  N2,DL
   JNE  yekan3
   LEA  DX,M2
   call    dis
   JMP  l
yekan3:  CMP  N3,DL
   JNE  yekan4
   LEA  DX,M3
   call    dis
   JMP  l
yekan4:  CMP  N4,DL
   JNE  yekan5
   LEA  DX,M4
   call    dis
   JMP  l
yekan5:  CMP  N5,DL
   JNE  yekan6
   LEA  DX,M5
   call    dis
   JMP  l
yekan6:  CMP  N6,DL
   JNE  yekan7
   LEA  DX,M6
   call    dis
   JMP  l
yekan7:  CMP  N7,DL
   JNE  yekan8
   LEA  DX,M7
   call    dis
   JMP  l
yekan8:  CMP  N8,DL
   JNE  yekan9
   LEA  DX,M8
   call    dis
   JMP  l
yekan9:  CMP  N9,DL
   JNE  l
   LEA  DX,M9
   call    dis
   JMP  l
   
   
   
   
   ;*******************if len equal '2'
   
   
  a: CMP  CL,2
   JnE     B
   LEA  BX,BUFFER
   MOV  DL,[BX]
DAHGAN:   
      CMP  N0,DL
   JNE  FF
   INC  BX
   MOV  DL,[BX]
   jmp YEKAN
   
   
FF:   CMP  N1,DL
   JNE  F
   INC  BX
   MOV  DL,[BX]
   CMP  DL,N0
   JNE  dahgan1
   LEA  DX,M10
   call    dis
   JMP  YEKAN
   F:JMP dahgan20
dahgan1:  CMP  DL,N1
   JNE  dahgan2
   LEA  DX,M11
   call    dis
   JMP  YEKAN

dahgan2:  CMP  N2,DL
   JNE  dahgan3
   LEA  DX,M12
   call    dis
   JMP  YEKAN
dahgan3:  CMP  N3,DL
   JNE  dahgan4
   LEA  DX,M13
   call    dis
   JMP  YEKAN
dahgan4:  CMP  N4,DL
   JNE  dahgan5
   LEA  DX,M14
   call    dis
   JMP  YEKAN
dahgan5:  CMP  N5,DL
   JNE  dahgan6
   MOV  DX,OFFSET M15
   call    dis
   JMP  YEKAN
dahgan6:  CMP  N6,DL
   JNE  dahgan7
   LEA  DX,M16
   call    dis
   JMP  YEKAN
dahgan7:  CMP  N7,DL
   JNE  dahgan8
   LEA  DX,M17
   call    dis
   JMP  YEKAN
dahgan8:  CMP  N8,DL
   JNE  dahgan9
   LEA  DX,M18
   call    dis
   JMP  YEKAN
dahgan9:  CMP  N9,DL
   JNE  E
   LEA  DX,M19
   call    dis
   JMP  YEKAN
   E:JMP YEKAN

dahgan20:    
   CMP  N2,DL
   JNE  dahgan30
   LEA  DX,M20
   MOV  AH,9H
   INT  21H
   INC  BX
   MOV  DL,[BX]
      
   jmp    YEKAN
   JMP  YEKAN
        
dahgan30:  CMP  N3,DL
   JNE  dahgan40
   LEA  DX,M30
   call    dis
   INC  BX
   MOV  DL,[BX]
   jmp    YEKAN
   JMP  YEKAN
dahgan40:  CMP  N4,DL
   JNE  dahgan50
   LEA  DX,M40
   call    dis
   INC  BX
   MOV  DL,[BX]
      
   JMP  YEKAN
dahgan50:  CMP  N5,DL
   JNE  dahgan60
   LEA  DX,M50
   call    dis
   INC  BX
   MOV  DL,[BX]
       
   JMP  YEKAN
dahgan60:  CMP  N6,DL
   JNE  dahgan70
   LEA  DX,M60
   call    dis
   INC  BX
   MOV  DL,[BX]
       
   JMP  YEKAN
dahgan70:  CMP  N7,DL
   JNE  dahgan80
   LEA  DX,M70
   call    dis
   INC  BX
   MOV  DL,[BX]
       
   JMP  YEKAN
dahgan80:  CMP  N8,DL
   JNE  dahgan90
   LEA  DX,M80
   call    dis
   INC  BX
   MOV  DL,[BX]
         
   JMP  YEKAN
dahgan90:  CMP  N9,DL
   JNE  YEKAN
   LEA  DX,M90
  call    dis
   INC  BX
   MOV  DL,[BX]
   JMP  YEKAN

   
   
   ;**********************if number equal '3'**************************
   JMP  L
   
  b: CMP  CL,3
   JnE  l
   LEA  BX,BUFFER
   MOV  DL,[BX]
   
   CMP  N0,dl
   JNE  sadgan100
   INC  BX
   MOV  DL,[BX]
   jmp dahgan
sadgan100: CMP  N1,DL
   JNE  sadgan200
   LEA  DX,M100
   call    dis
   INC  BX
   MOV  DL,[BX]
    
   JMP  DAHGAN
sadgan200:  CMP  N2,DL
   JNE  sadgan300
   LEA  DX,M200
   call    dis
   INC  BX
   MOV  DL,[BX]
     
   JMP  DAHGAN
sadgan300:  CMP  N3,DL
   JNE  sadgan400
   LEA  DX,M300
   call    dis
   INC  BX
   MOV  DL,[BX]
      
   JMP  DAHGAN
sadgan400:  CMP  N4,DL
   JNE  sadgan500
   LEA  DX,M400
   call    dis
   INC  BX
   MOV  DL,[BX]
       
   JMP  DAHGAN
sadgan500:  CMP  N5,DL
   JNE  sadgan600
   LEA  DX,M500
   call    dis
   INC  BX
   MOV  DL,[BX]
       
   JMP  DAHGAN
sadgan600:  CMP  N6,DL
   JNE  sadgan700
   LEA  DX,M600
   call    dis
   INC  BX
   MOV  DL,[BX]
     
   JMP  DAHGAN
sadgan700:  CMP  N7,DL
   JNE  sadgan800
   LEA  DX,M700
   call    dis
   INC  BX
   MOV  DL,[BX]
      
   JMP  DAHGAN
sadgan800:  CMP  N8,DL
   JNE  sadgan900
   LEA  DX,M800
   call    dis
   INC  BX
   MOV  DL,[BX]
    
   JMP  DAHGAN
sadgan900:  CMP  N9,DL
   JNE  DAHGAN
   LEA  DX,M900
   call    dis
   INC  BX
   MOV  DL,[BX]
       
   JMP  DAHGAN

   ;************************************************************
   
   JMP  L
   
L:   MOV  AH,0AH
   LEA  DX,STRLIST
   INT  21H
            jmp lop
   
   
   MOV  AX,4C00H
   INT  21H
MAIN  ENDP

   
;************************************************************
;****************** intrupt print string **********************
dis proc    near
    MOV  AH,9H
 INT  21H       

ret
dis endp


   END  MAIN 

+ نوشته شده در  دوشنبه هجدهم آذر ۱۳۸۷ساعت 6:35  توسط ابراری |