
Bài tập môn Lập trình hợp ngữ - Số 1
Bài tập:
; Nhap mang 1 chieu co n phan tu(moi phan tu co gia tri tu 1 den 9)
; + tim max, min
; + nhap x= kiem tra x co trong mang hay ko?
; + sap tang dan
;===============================================================
.model small
;----------------MACRO--------------------------
NhapKyTu Macro d1
push ax
mov ah, 8h
int 21h
mov d1, al
pop ax
EndM
XuongHang Macro
push ax
mov ah, 2h
mov dl,10

int 21h
pop ax
EndM
XuatKyTu Macro d1
push ax
mov ah, 2h
mov dl,d1
int 21h
pop ax
EndM
XuatChuoi Macro
mov ah, 9h
int 21h
EndM
Max2so Macro d1,d2
local KetThuc
mov al,d1
cmp al,d2
ja KetThuc
mov al,d2
KetThuc:
EndM
Min2so Macro d1,d2
local KetThuc

mov al,d1
cmp al,d2
jb KetThuc
mov al,d2
KetThuc:
EndM
HoanVi Macro d1,d2
push ax
mov al, d1
mov ah, d2
mov d1,ah
mov d2,al
pop ax
EndM
.stack 100h
.data
n db ?
a db 9 dup(0)
max db ?
min db ?
x db ?
tb1 db 'Nhap n=$'
tb2 db 'Nhap phan tu mang:$'

tb3 db 'Max : $'
tb4 db 'Min : $'
tb6 db 'Nhap x=$'
tb7 db 'x co trong mang$'
tb8 db 'x khong co trong mang$'
tb9 db 'Mang tang dan:$'
.code
; lay dia chi cua vung du lieu
mov ax, @data
mov ds, ax
lea dx,tb1
XuatChuoi
NhapLai:
NhapKyTu n
mov al,n
cmp al,'1'
jb NhapLai
cmp al,'9'
ja NhapLai
XuatKyTu n
XuongHang
lea dx,tb2

XuatChuoi
call NhapMang
xuonghang
lea dx,tb3
XuatChuoi
call TimMax
XuatKyTu max
xuonghang
lea dx,tb4
Xuatchuoi
XuatKyTu min
xuonghang
lea dx,tb6
Xuatchuoi
NhapKyTu x
XuatKyTu x
call KiemTra
call SapTang

