
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'

