code 7 bài
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: Truyen247.Pro