Tải bản đầy đủ (.docx) (15 trang)

Bài tập hợp ngữ, assembly có lời giải

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (72.35 KB, 15 trang )

Đại học Quang Trung
Môn Assembly – Hợp ngữ
Bài 1: Cộng Trừ Nhân Chia
.MODEL SMALL
.DATA
S1 DB 0AH,0DH,'Nhap so a:$'
S2 DB 0AH,0DH,'Nhap so b:$'
S3 DB 0AH,0DH,'Tich axb la:$'
S4 DB 0AH,0DH,'Hieu a/b la:$'
S5 DB 0AH,0DH,'Tong a+b la:$'
S6 DB 0AH,0DH,'Nhan phim bat ki ket thuc..$'
S7 DB 0AH,0DH,'NHAP SAI NHAP LAI$'
.CODE
MOV AX,@DATA
MOV DS,AX

NHAPSO:
MOV AH,9
LEA DX,S1
INT 21H

MOV AH,1
INT 21H
MOV BL,AL
MOV AH,9
LEA DX,S2
INT 21H
MOV AH,1
INT 21H



CALL KTSO
SUB BL,30H
SUB AL,30H
ADD BL,AL
ADD BL,30H

MOV AH,9
LEA DX,S5
INT 21H
MOV DL,BL
MOV AH,2
INT 21H
JMP THOAT
KTSO:
CMP AL,30H
JL TBLOI
CMP AL,39H
JG TBLOI
TBLOI:
MOV AH,9
LEA DX,S7
INT 21H
JMP NHAPSO
THOAT:
MOV AH,9
LEA DX,S6
INT 21H
MOV AH,1
INT 21H



MOV AH,4CH
INT 21H
END
Bài 2: In số lớn hơn 10
.MODEL SMALL
.DATA
S1 DB 'SO CO LAP DUOC LA:$'
.CODE
MOV AX,@DATA
MOV DS,AX

MOV CL,0
MOV BL,0
LAP:
INC CL
CMP CL,50
JL LAP
JMP THOAT

THOAT:

MOV AH,9
LEA DX,S1
INT 21H

;In so > 10
;KT > 10 thi -10 de in so
LONHON:
SUB CL,10



INC BL
CMP CL,10
JGE LONHON

;xuat so hang chuc
MOV AH,2
MOV DL,BL
ADD DL,30h
INT 21H

;xuat so hang don vi
MOV DL,CL
ADD DL,30H
INT 21H

MOV AH,1
INT 21H

MOV AH,4CH
INT 21H

END
Bài 3 : kiểm tra số n nhập là chẵn hay lẽ
;nhap vao 1 so n, kiem tra so n chan hay le
.MODEL SMALL
.DATA
S1 DB 0AH,0DH,'Nhap so bat ky: $'
S2 DB 0AH,0DH,'So vua nhap la so LE $'

S3 DB 0AH,0DH,'So vua nhap la so CHAN $'
S4 DB 0AH,0DH,'Loi nhap so lieu. Vui long nhap so! $'


S5 DB 0AH,0DH,'Nhan 1 phim bat ky de ket thuc! $'

.CODE
MOV AX,@DATA
MOV DS,AX

NHAPSO:
MOV AH,9
LEA DX,S1
INT 21H

MOV AH,1
INT 21H

CMP AL,30H
JL TBLOINHAPSO
CMP AL,39H
JG TBLOINHAPSO

SUB AL,30H
MOV BL,AL

MOV CL,0
;Lay so vua nhap dem chia cho 2, de tim so du gan vao BL
CMP BL,0
JE SOCHAN


LAPCHIA:
SUB BL,2


CMP BL,2
JGE LAPCHIA

;So sanh so du BL voi 0
CMP BL,0
JE SOCHAN
JMP SOLE

SOLE:
MOV AH,9
LEA DX,S2
INT 21H
JMP THOAT

SOCHAN:
MOV AH,9
LEA DX,S3
INT 21H
JMP THOAT

TBLOINHAPSO:
MOV AH,9
LEA DX,S4
INT 21H
JMP NHAPSO


THOAT:
MOV AH,9
LEA DX,S5


INT 21H

MOV AH,1
INT 21H

MOV AH,4CH
INT 21H
END
Bài 4: Nhập 5 số in tổng
;nhap 5 so, in tong 5 so vua nhap
.MODEL SMALL
.DATA
S1 DB 0AH,0DH,'Nhap 5 so: $'
S2 DB 0AH,0DH,'Tong 5 so ban vua nhap= $'
S3 DB 0AH,0DH,'Nhap 1 phim de ket thuc chuong trinh!$'
S4 DB 0AH,0DH,'Loi nhap so lieu. Vui long nhap 5 so!!! $'

.CODE
MOV AX,@DATA
MOV DS,AX

NHAPSO:
MOV AH,9
LEA DX,S1

INT 21H
;Gan gia tri khoi dau cho cac bien
MOV CL,1
MOV BL,0

NHAP5SO:


MOV AH,1
INT 21H

INC CL
;Xu ly nhap sai so
CMP AL,30H
JL TBLOINHAPSO
CMP AL,39H
JG TBLOINHAPSO
;
SUB AL,30H
ADD BL,AL ; Cong don vao BL de tinh tong

CMP CL,5
JLE NHAP5SO

CMP BL,10
;Neu BL<10 thi INSO
JL INSO
;Neu BL>=10 thi chay LONHON
MOV CL,0
JGE LONHON


INSO:
MOV AH,9
LEA DX,S2
INT 21H

MOV AH,2
MOV DL,BL


ADD DL,30H
INT 21H

JMP THOAT

LONHON:
SUB BL,10
INC CL
CMP BL,10
JGE LONHON

MOV AH,9
LEA DX,S2
INT 21H
;in chu so hang chuc CL
MOV AH,2
MOV DL,CL
ADD DL,30H
INT 21H
;in chu so hang don vi BL

MOV DL,BL
ADD DL,30H
INT 21H

JMP THOAT

TBLOINHAPSO:
MOV AH,9
LEA DX,S4
INT 21H


JMP NHAPSO

THOAT:
MOV AH,9
LEA DX,S3
INT 21H

MOV AH,1
INT 21H

MOV AH,4CH
INT 21H
END
Bài 6 : Nhập 10 số có bao nhiêu số lẻ
;nhap 10 so, co bao nhieu so le?
.MODEL SMALL
.DATA
S1 DB 0AH,0DH,'Nhap 10 so: $'

S2 DB 0AH,0DH,'Tong so LE trong 10 so vua nhap la: $'
S3 DB 0AH,0DH,'Nhap 1 phim de ket thuc chuong trinh!$'
S4 DB 0AH,0DH,'Loi nhap so lieu. Vui long nhap 10 so!!! $'

.CODE
MOV AX,@DATA
MOV DS,AX

NHAPSO:
MOV AH,9
LEA DX,S1


INT 21H
;Gan gia tri khoi dau cho cac bien
MOV CL,1
MOV BL,0

NHAP10SO:
MOV AH,1
INT 21H

INC CL
;Xu ly nhap sai so
CMP AL,30H
JL TBLOINHAPSO
CMP AL,39H
JG TBLOINHAPSO
;


SUB AL,30H
;Neu so nhap vao là so 0, và chi nhap 10 so 0, quy uoc so 0 la so CHAN
CMP AL,0
JE ALL0
;Neu so nhap vao là so 1, và chi nhap 10 so 1
CMP AL,1
JE ALL1
;Nguoc lai voi cac so #0, #1
LAPCHIA:
SUB AL,2
CMP AL,2
JGE LAPCHIA


ADD BL,AL

CMP CL,10
JLE NHAP10SO

CMP BL,10
JGE LONHON

MOV AH,9
LEA DX,S2
INT 21H

MOV AH,2
MOV DL,BL
ADD DL,30H
INT 21H


JMP THOAT

ALL0:
ADD BL,0
CMP CL,10
JLE NHAP10SO

MOV AH,9
LEA DX,S2
INT 21H

MOV AH,2
MOV DL,BL


ADD DL,30H
INT 21H

JMP THOAT

ALL1:
ADD BL,1
CMP CL,10
JLE NHAP10SO

CMP BL,10
JGE LONHON

MOV AH,9

LEA DX,S2
INT 21H

MOV AH,2
MOV DL,BL
ADD DL,30H
INT 21H

JMP THOAT

LONHON:
MOV AH,9
LEA DX,S2
INT 21H

MOV AH,2


MOV DL,'1'
INT 21H

MOV DL,BL
SUB DL,10
ADD DL,30H
INT 21H
JMP THOAT

TBLOINHAPSO:
MOV AH,9
LEA DX,S4

INT 21H
JMP NHAPSO

THOAT:
MOV AH,9
LEA DX,S3
INT 21H

MOV AH,1
INT 21H

MOV AH,4CH
INT 21H
END




×