Code Assembly: Nhập a, b thỏa mãn (2<=a<=b<=7). Kiểm tra tính chẵn lẻ của a và b.


;Ví dụ lệnh nhảy ----------------------------------------------
;Nhập a, b thỏa mãn (2<=a<=b<=7),không thỏa mãn yêu cầu nhập lại
;Kiểm tra tính chẵn lẻ của a và b.
;--------------------------------------------------------------

org 100h
start: jmp code   

    tb_nhap_a       db 'Nhap a: $'
    tb_nhap_b       db 'Nhap b: $'
    tb_nhapLai_a    db 'Nhap lai a ! $'
    tb_nhapLai_b    db 'Nhap lai b ! $'
    tb_a_Chan       db 'a la so chan $'
    tb_a_Le         db 'a la so le $'  
    tb_b_Chan       db 'b la so chan $'
    tb_b_Le         db 'b la so le $'
    
    xd db 13,10,'$'
    
    a db ?
    b db ?
code: 
    ; nhap a
  Nhap_a: 
     ; xuong dong             
    lea dx,xd
    mov ah,09
    int 21h
    ;
    lea dx,tb_nhap_a             
    mov ah,09
    int 21h
    ; nhap b
    mov ah,01
    int 21h
    mov a,al
    
    ; Kiem tra a
    
    cmp a,'2'
    jl NhapLai_a
    
    cmp a,'7'
    jg NhapLai_a
    jmp Nhap_b
      
    
    
  Nhap_b:  
    
    ; xuong dong             
    lea dx,xd
    mov ah,09
    int 21h
    ; in ra thong bao nhap b
    lea dx,tb_nhap_b             
    mov ah,09
    int 21h
    ; nhap b
    mov ah,01
    int 21h
    mov b,al
    
    ; Kiem tra b   
    mov bl,a
    cmp b,bl
    jl NhapLai_b
    cmp b,'7'
    jg NhapLai_b
    jmp KiemTra_a_ChanLe
    
      
    
  KiemTra_a_ChanLe:  
     ; kiem tra a
     mov bl,a
     sub bl,30h 
     mov ah,0
     mov al,bl
     mov cl,2
     div cl
     cmp ah,0
     je InThongBao_a_chan
     jmp InThongBao_a_le
     
 KiemTra_b_ChanLe:     
   ; kiem tra b
     mov bl,b
     sub bl,30h 
     mov ah,0
     mov al,bl
     mov cl,2
     div cl
     cmp ah,0
     je InThongBao_b_chan
     jmp InThongBao_b_le
    
    
    
  NhapLai_a:  
    ; xuong dong             
    lea dx,xd
    mov ah,09
    int 21h
    ; in thong bao nhap lai a
    lea dx,tb_nhapLai_a             
    mov ah,09
    int 21h   
     ; xuong dong             
    lea dx,xd
    mov ah,09
    int 21h
    jmp Nhap_a

 NhapLai_b:
    ; xuong dong             
    lea dx,xd
    mov ah,09
    int 21h
    ; in thong bao nhap lai b
    lea dx,tb_nhapLai_b             
    mov ah,09
    int 21h   
     ; xuong dong             
    lea dx,xd
    mov ah,09
    int 21h
    jmp Nhap_b
    
    ; thong bao chan
 InThongBao_a_chan:  
    ; xuong dong             
    lea dx,xd
    mov ah,09
    int 21h
    ; in thong bao so chan
    lea dx,tb_a_Chan             
    mov ah,09
    int 21h   
     ; xuong dong             
    lea dx,xd
    mov ah,09
    int 21h
    jmp KiemTra_b_ChanLe 
    
 InThongBao_a_le:  
    ; xuong dong             
    lea dx,xd
    mov ah,09
    int 21h
    ; in thong bao so chan
    lea dx,tb_a_Le             
    mov ah,09
    int 21h   
     ; xuong dong             
    lea dx,xd
    mov ah,09
    int 21h
    jmp KiemTra_b_ChanLe
          
          
 InThongBao_b_chan:  
    ; xuong dong             
    lea dx,xd
    mov ah,09
    int 21h
    ; in thong bao so chan
    lea dx,tb_b_Chan             
    mov ah,09
    int 21h    
     ; xuong dong             
    lea dx,xd
    mov ah,09
    int 21h
    jmp KetThuc
    
 InThongBao_b_le:  
    ; xuong dong             
    lea dx,xd
    mov ah,09
    int 21h
    ; in thong bao so chan
    lea dx,tb_b_Le             
    mov ah,09
    int 21h  
     ; xuong dong             
    lea dx,xd
    mov ah,09
    int 21h
    jmp KetThuc
    
 KetThuc:                     
; ket thuc                     
    int 20h


end starts  

0 nhận xét:

Cảm ơn bạn đã quan tâm tới bài viết này!