
Bài tập lập trình hợp ngữ - Nhập mảng
và chuỗi các ký tự
Bài tập nhập mảng:
;Nhap vao n (n tu 0 den 9)
; Nhap vao 1 mang n so tu 0 den 9
; in ra so lon nhat
;tinh tong
; sap xep mang tang dan
.model small
max2so macro d1,d2
local thoi
mov al, d1
cmp al, d2
ja thoi
mov al,d2
thoi:
endm
min2so macro d1,d2
local thoi
mov al, d1

cmp al, d2
jb thoi
mov al,d2
thoi:
endm
hoanvi macro d1,d2
push ax ; luu lai ax
mov al, d1
mov ah, d2
mov d1, ah
mov d2,al
pop ax
endm
XuongHang macro
mov ah,2h
mov dl,10
int 21h
endm
NhapKyTu macro
mov ah, 1h
int 21h
endm
XuatKyTu macro d1

mov ah, 2h
mov dl, d1
int 21h
endm
.stack 100h
.data
n db ?
max db ?
min db ?
tb db 'Nhap vao so n: $'
tb1 db 'Nhap a[] :$'
tb2 db 'Max:$'
tb3 db 'Min:$'
arr db 9 dup('0')
.code
;lay dia chi vung du lieu
mov ax, @data
mov ds, ax
; xuat thong bao 1
lea dx, tb
call XuatMess

; Nhap vao n
NhapKyTu
mov n, al
; xuat thong bao 2
XuongHang
lea dx, tb1
call XuatMess
;nhap mang
call NhapMang
; xuat thong bao 3
XuongHang
lea dx, tb2
call XuatMess
call TimMax
XuatKyTu max
XuongHang
lea dx, tb3
call XuatMess
XuatKyTu min
XuongHang
;====================================

;tro ve dos
mov ah, 4ch
int 21h
XuatMess proc
mov ah, 9
int 21h
ret
XuatMess endp
NhapMang proc
mov cl, n
mov ch, 0
sub cl,'0'
mov si,0
Lap:
NhapKyTu
mov arr[si],al
inc si
loop Lap
ret
NhapMang endp
TimMax proc

