برنامه نویسی
;programmer mha764@yahoo.com
DSEG    SEGMENT 'DATA'
      ; add your data here!
      a db  ?
      b db  ?
      c dw  ?
      d dw  ?
      e dw  ?
      f dw  ?
     
DSEG    ENDS

SSEG    SEGMENT STACK   'STACK'
      db   256  DUP(0)
SSEG    ENDS

CSEG    SEGMENT 'CODE'
   START   PROC    FAR
   assume ds:DSEG,cs:CSEG,ss:SSEG
      ; set segment registers:
      MOV AX, DSEG
      MOV DS, AX
      MOV ES, AX


      ;mode graphic
      mov   ah,00h
      mov   al,13h
      int   10h
     
      ;mov   ah,2h
      ;mov   dh,0
      ;mov   dl,0
      ;mov   bh,0
      ;int   10h
     
      ;mov   ah,09h
      ;mov   al,0c4h
      ;mov   bh,0
      ;mov   bl,0fh
      ;mov   cx,10
      ;int   10h
     
     mov    c,150;soton
     mov    d,100
     mov   al,10
      call  m
     
sw:   mov   ah,10h
      int   16h
     
      cmp   ah,50h
      jne   l1
      mov   al,0
      call  m
      add   d,5
      mov   al,10
      call  m
      jmp   sw
     
l1:    cmp   ah,48h
      jne   l2
       mov   al,0
      call  m
      sub   d,5
      mov   al,10
      call  m
      jmp   sw
     
l2:    cmp   ah,4dh
      jne   l3
       mov   al,0
      call  m
      add   c,5
      mov   al,10
      call  m
      jmp   sw
           
l3:    cmp   ah,4bh
      jne   p
       mov   al,0
      call  m
      sub  c,5
      mov   al,10
      call  m
      jmp   sw
 
p:     
      cmp   al,13
      jne   sw
      mov   al,10
     
  n:  call  m
      jmp   n
     

     
     
    
    
    
q:   call  m
mov ah,1h
int 21h 
  
    MOV AX, 4C00h ; exit to operating system.
      INT 21h   
   START   ENDP
  
;====================
m   proc
     
     
    
     
      mov   a,1;loper
      mov   b,1;loper
      mov   dx,d
lop2: mov   cx,c;soton 
      mov   a,1;loper
lop1:
     
      call  pix
      cmp   a,3;if a=2 goto satr bad
      ja    ee
      inc   a;if a<2 a-2 and goto lop
      inc   cx
      jmp   lop1
      ee:
      cmp   b,3
      ja    re
      inc   b
      inc   dx
      jmp   lop2
     
     
     
re: ret    
m   endp  
;================================
clear   proc
      mov   ah,6h
      mov   al,200
      mov   ch,0
      mov   cl,0
      mov   dh,119
      mov   dl,200
      mov   bh,0
      int   10h

ret
clear   endp
;=======================================
pix proc
     
      mov   ah,0ch
     
      mov   bh,0
     
      ;mov   dx,d;satr
      int   10h
      ret
pix endp     
  
CSEG    ENDS
END    START    ; set entry point.

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