Bài tập:
; nhap 0<=x1, x2 , x3 <= 9
; tinh tong, hieu, tich, thuong
; tim max, min;
.model small
.stack 100h
.data
tb1 db 10,'Nhap x1: $'
tb2 db 10,'Nhap x2: $'
tb3 db 10,'Nhap x3: $'
x1 db ?
x2 db ?
x3 db ?
8 trang |
Chia sẻ: lylyngoc | Lượt xem: 1577 | Lượt tải: 1
Bạn đang xem nội dung tài liệu Bài tập Lập trình hợp ngữ - Số 3, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Bài tập Lập trình hợp ngữ - Số 3
Bài tập:
; nhap 0<=x1, x2 , x3 <= 9
; tinh tong, hieu, tich, thuong
; tim max, min;
.model small
.stack 100h
.data
tb1 db 10,'Nhap x1: $'
tb2 db 10,'Nhap x2: $'
tb3 db 10,'Nhap x3: $'
x1 db ?
x2 db ?
x3 db ?
tb4 db 10,'Tong: x1+x2+x3= $'
tb5 db 10,'Hieu: x1-x2= $'
tb6 db 10,'Tich: x1*x2= $'
tb7 db 10,'Thuong: x1/x2= $'
tong db 0
hieu db 0
.code
; lay dia chi doan du lieu
mov ax, @data
mov ds, ax
; xuat thong bao1
mov dx, offset tb1
call SubXuat
;Nhap x1
call SubNhap
mov x1,al
; xuat thong bao2
mov dx, offset tb2
call SubXuat
;Nhap x2
call SubNhap
mov x2,al
; xuat thong bao3
mov dx, offset tb3
call SubXuat
;Nhap x3
call SubNhap
mov x3,al
; xuat thong bao4
mov dx, offset tb4
call SubXuat
; tinh tong
call SubTong
mov dx, offset tb5
call SubXuat
; tinh hieu
call SubHieu
;call SubTich
;call SubThuong
;call subMax
;call SubMin
; tro ve dos
mov ah, 4ch
int 21h
;----------------------Xuat thong bao-----------------
SubXuat PROC
pop bx ; luu dia chi de quay ve
mov ah, 9h
int 21h
push bx
ret
SubXuat ENDP
;------------------------Nhap Ky tu-----------------
SubNhap PROC
pop bx ; luu dia chi de quay ve
mov ah, 1h
int 21h
push bx
ret
SubNhap ENDP
;-----------------------Tong x1+x2+x3----------------
SubTong PROC
pop bx ; luu dia chi de quay ve
mov al,x1
sub al,'0'
mov tong, al
mov al,x2
sub al,'0'
add al, tong
mov tong, al ; tong = x1+ x2
mov al,x3
sub al,'0'
add al, tong ; tong = x1+x2+x2
cmp al, 14h
jae HienHon20
cmp al, 0ah
jae HienHon10
jmp HienTong
HienHon20:
; luu lai al
mov tong, al
; xuat ky tu 2
mov ah, 2h
mov dl, '2'
int 21h
mov al, tong ; gan tong cho al
sub al, 14h
add al, 30h
mov dl, al
int 21h
jmp ketthuc
HienHon10:
; luu lai al
mov tong, al
; xuat ky tu 2
mov ah, 2h
mov dl, '1'
int 21h
mov al,tong ; gan tong cho al
sub al, 0ah
add al, 30h
mov dl, al
int 21h
jmp ketthuc
HienTong:
add al, 30h
mov ah, 2h
mov dl, al
int 21h
ketthuc:
push bx
ret
SubTong ENDP
;-----------------------Hieu x1-x2-------------------
SubHieu Proc
mov al, x2
sub al, '0'
mov hieu, al
mov al, x1
sub al, '0'
sub al, hieu ; tinh x1-x2
cmp al, 0h ; so sanh voi 0
jl XuatAm
add al, 30h
mov dl, al
mov ah, 2h
int 21h
jmp KThuc
XuatAm:
; xuat dau -
mov hieu, al ; luu al vao hieu
mov dl, '-'
mov ah, 2h
int 21h
; xuat al
mov al, 0ffh
sub al, hieu
add al, 31h
mov dl, al
mov ah, 2h
int 21h
KThuc:
ret
SubHieu Endp
;-----------------------Tich x1*x2-------------------
;SubTich Proc
;ret
;SubTich endp
;-----------------------Thuong x1/x2-----------------
;SubThuong Proc
;ret
;SubThuong endp
;-----------------------Max -------------------------
;SubMax PROC
;ret
;SubMax ENDP
;----------------------------------------------------
;SubMin PROC
;ret
;SubMin endP
;=====================================================
end