code 7 bài

Màu nền
Font chữ
Font size
Chiều cao dòng

BAI 1: NHẬP CHUỖI TỪ 0-9

 org 100h

 jmp start

 data db 0

start:  

;call nhap

mov ah, 01h

int 21h

mov data, al

cmp data, '0'

jb exit

cmp data, '9'

ja exit

jmp start

exit:

ret

; nhap mot ky tu, luu vao thanh ghi al

nhap proc

    mov ah, 01h

    int 21h

    ret

endp

BAI 2:NHẬP BÀN PHÍM, HIỆN 25 LẦN

org 100h

jmp start

    ; khai bao cac bien

    xuongdong db 10, 13, '$'

    biendem db 1

    kytu db 0

start:

mov ah, 01h

int 21h

;copy noi dung da nhap

mov kytu, al

; hien 25 lan

hien:

    ; hien xuong dong

    lea dx, xuongdong

    mov ah, 09h

    int 21h

        ; hien ky tu

    mov ah, 02h

    mov dl, kytu

    int 21h

        ; kiem tra du 25 lan hien chua

    cmp biendem, 19h ; 19h = 25 decimal

    jae exit

    inc biendem

    exit:

BAI 3:HIỆN SỐ TỪ 1-100

org  100h

jmp start

    biendiem db 1

start:        

    mov ax, 0h

    mov al, biendiem

    ; hien so trong al

    call hienso

     ; xet xem du 100 chua

    cmp biendiem, 64h ; 64h = 100 thap phan

    jae exit

    inc biendiem

    jmp start

hienso proc

    ; hien thi ket qua

    mov ah, 0h  

    mov bl, 0ah

    div bl

    mov bx, ax

    add bx, 3030h

    mov dl, bl

    cmp dl, 40h

    jne chuc

    mov dl, '1'

    mov ah, 02h

    int 21h

    mov dl, '0' 

  chuc:      

    mov ah, 02h

    cmp bl, '0'

    je donvi

    int 21h         

  donvi: 

    mov dl, bh

    int 21h   

    ; Hien khoang trang

    mov dl, ' '

    mov ah, 02h

    int 21h

    ret

endp

exit:   

 BÀI 4:TÍNH TỔNG100SỐ

org  100h

jmp start

    tong dw 0

    biendiem db 1

    ;ketqua db '5050', 10, 13, '$'

 start:        

    mov ax, 0h

    mov al, biendiem

        ; cong gop lai

    add tong, ax

        ; xet xem du 100 chua

    cmp biendiem, 64h

    jae exit

    inc biendiem

    jmp start

exit:

    ; hien thi ket qua, cheat, hack ket qua

    ;lea dx, ketqua

    ;mov ah, 09h

    ;int 21h 

    ; Hien ra luon

    mov ax, tong

    mov bx, 1000

    div bx ; so du o trang DX

    mov tong, dx

     add al, 30h ; ra ma ky tu

    mov dl, al

    mov ah, 02h

    int 21h ; hien so hang ngan

    mov ax, tong

    mov bl, 100

    div bl

    add al, 30h

    mov dl, al

    mov al, ah

    mov ah, 0h

    mov tong, ax

    mov ah, 02h

    int 21h ; hien so hang tram

    mov ax, tong

    mov bl, 10

    div bl   

    add al, 30h

    mov dl, al

    mov al, 0h

    mov al, ah

    mov ah, 0h

    mov tong, ax

    mov ah, 02h

    int 21h ; hien so hang chuc 

    mov dx, tong

    add dl, 30h

    mov ah, 02h

    int 21h ; hien hang don vi 

BÀI 5:NHẬP CHUỖI, SẮP XẾP TỪ NHỎ ĐẾN LỚN

 org 100h

    jmp start

    xuongdong db 10, 13, '$'

    chuoi db 255 dup('$')

    chuoisapxep db 255 dup('$')

    dodai db 0

    kytu  db '$'

     f1 db 0

     f2 db 0

     temp dw 0  

start:

  lea bx, chuoi

 input:

  mov ah, 01h

  int 21h   

  mov kytu, al

  cmp kytu, 13

  je exit

  cmp kytu, 'a'

  mov ah, 0h

  mov al, dodai

  mov di, ax

  mov al, kytu

  mov [bx+di], al

  inc dodai

  jmp input

exit:

    ; Hien chuoi

    lea dx, xuongdong

    mov ah, 09h

    int 21h ;sap xep lai chuoi dung 2 vong for long nhau

    mov al, [chuoi]

    mov kytu, al

  sort:

    ; lay dia chi cua ky tu thu f1 trong chuoi

    lea bx, chuoi

    add bl, f1

     ; so sanh de chon ra ky tu nho nhat

    mov al, kytu

    mov ah, [bx]

    cmp ah, al

    jae next

    mov kytu, ah ; gan ky tu nho hon vao bien kytu

    mov temp, bx ; giu vi tri vung nho ky tu chon

   next:       

    ; tang cac bien dem len

    inc f1

    mov al, f1

    mov ah, dodai

    cmp al, ah

    jb sort

    ; gan vao chuoi sap xep;

    lea bx, chuoisapxep

    add bl, f2

    mov al, kytu

    mov [bx], al

    ; Thay doi gia tri vi tri ky tu vua lay ra

    mov bx, temp

    mov [bx], ffh

   ; gan vi tri ky tu da copy vao chuoisapxep

    mov al, ffh 

   ; gan ky tu so sanh de chon ky tu nho hon

    mov kytu, al

    mov f1, 0h

    inc f2

    mov al, f2

    mov ah, dodai

    cmp al, ah

    jb sort ; nho hon, tuc chua quet het chuoi    

    ; hien chuoi sau sap sep

    lea dx, chuoisapxep

    mov ah, 09h

    int 21h   

    mov ah, 4ch

    int 20h ; ket thuc chuong trinh

BAI6:NHẬP CHUỖI, DÒNG TIẾP THEO HOA

org 100h

jmp start

      xuongdong db 10, 13, '$'

      chuoi db 256 dup('$')

      dodai dw 0

      kytu  db '$'   

start:

  lea bx, chuoi

 input:

  mov ah, 01h

  int 21h   

  mov kytu, al

  cmp kytu, 13

  je exit

  cmp kytu, 'a'

  jb addKytu

  cmp kytu, 'z'

  ja addkyTu

  ; doi sang ky tu hoa

  mov al, kytu

  sub al, 20h

  mov kytu, al    

 addkyTu:

  mov di, dodai

  mov al, kytu

  mov [bx+di], al

  inc dodai

  jmp input

exit:

    ; Hien chuoi

    lea dx, xuongdong

    mov ah, 09h

    int 21h  

    lea dx, chuoi

    int 21h

BAI 7:NHẬP KÍ TỰ, CHUYỂN QUA ASCII

org 100h

jmp start

      xuongdong db 10, 13, '$'

      daykytu db 255 dup('$')    

start:

  lea bx, daykytu

  mov di, 0h

  input:

  mov ah, 01h

  int 21h 

  cmp al, 13

  je exit  

  ; add ma ASCII

  mov ah, 0h

  mov dl, 100

  div dl

  cmp al, 0h

  je chuc

  add al, 30h

  mov [bx+di], al

  inc di

   ; Add hang chuc

  chuc:

  mov al, ah

  mov ah, 0h

  mov dl, 10

  div dl

  cmp al, 0h

  je donvi

  add al, 30h

  mov [bx+di], al

  inc di

  ; Add hang don vi

  donvi:

  add ah, 30h 

  mov [bx+di], ah

  inc di

  ; Them khoang trang

  mov al, ' '

  mov [bx+di], al

  inc di

   jmp input

exit:

    ; Hien ma ASCII

    lea dx, xuongdong

    mov ah, 09h

    int 21h  

    lea dx, daykytu

    mov ah, 09h

    int 21h  

Bạn đang đọc truyện trên: Truyen2U.Pro

#kutj#pro