Bài tập hợp ngữ, assembly có lời giải – Tài liệu text

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

CALL KTSOSUB BL, 30HSUB AL, 30HADD BL, ALADD BL, 30HMOV AH, 9LEA DX, S5INT 21HMOV DL, BLMOV AH, 2INT 21HJMP THOATKTSO : CMP AL, 30HJL TBLOICMP AL, 39HJG TBLOITBLOI : MOV AH, 9LEA DX, S7INT 21HJMP NHAPSOTHOAT : MOV AH, 9LEA DX, S6INT 21HMOV AH, 1INT 21HMOV AH, 4CHINT 21HENDB ài 2 : In số lớn hơn 10. MODEL SMALL.DATAS 1 DB ‘ SO CO LAP DUOC LA : USD ‘. CODEMOV AX, @ DATAMOV DS, AXMOV CL, 0MOV BL, 0LAP : INC CLCMP CL, 50JL LAPJMP THOATTHOAT : MOV AH, 9LEA DX, S1INT 21H ; In so > 10 ; KT > 10 thi – 10 de in soLONHON : SUB CL, 10INC BLCMP CL, 10JGE LONHON ; xuat so hang chucMOV AH, 2MOV DL, BLADD DL, 30 hINT 21H ; xuat so hang don viMOV DL, CLADD DL, 30HINT 21HMOV AH, 1INT 21HMOV AH, 4CHINT 21HENDB à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.DATAS 1 DB 0AH, 0DH, ‘ Nhap so bat ky : USD ‘ 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 ! USD ‘. CODEMOV AX, @ DATAMOV DS, AXNHAPSO : MOV AH, 9LEA DX, S1INT 21HMOV AH, 1INT 21HCMP AL, 30HJL TBLOINHAPSOCMP AL, 39HJG TBLOINHAPSOSUB AL, 30HMOV BL, ALMOV CL, 0 ; Lay so vua nhap dem chia cho 2, de tim so du gan vao BLCMP BL, 0JE SOCHANLAPCHIA : SUB BL, 2CMP BL, 2JGE LAPCHIA ; So sanh so du BL voi 0CMP BL, 0JE SOCHANJMP SOLESOLE : MOV AH, 9LEA DX, S2INT 21HJMP THOATSOCHAN : MOV AH, 9LEA DX, S3INT 21HJMP THOATTBLOINHAPSO : MOV AH, 9LEA DX, S4INT 21HJMP NHAPSOTHOAT : MOV AH, 9LEA DX, S5INT 21HMOV AH, 1INT 21HMOV AH, 4CHINT 21HENDB ài 4 : Nhập 5 số in tổng ; nhap 5 so, in tong 5 so vua nhap. MODEL SMALL.DATAS 1 DB 0AH, 0DH, ‘ Nhap 5 so : USD ‘ 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 ! ! ! USD ‘. CODEMOV AX, @ DATAMOV DS, AXNHAPSO : MOV AH, 9LEA DX, S1INT 21H ; Gan gia tri khoi dau cho cac bienMOV CL, 1MOV BL, 0NHAP5 SO : MOV AH, 1INT 21HINC CL ; Xu ly nhap sai soCMP AL, 30HJL TBLOINHAPSOCMP AL, 39HJG TBLOINHAPSOSUB AL, 30HADD BL, AL ; Cong don vao BL de tinh tongCMP CL, 5JLE NHAP5SOCMP BL, 10 ; Neu BL < 10 thi INSOJL INSO ; Neu BL > = 10 thi chay LONHONMOV CL, 0JGE LONHONINSO : MOV AH, 9LEA DX, S2INT 21HMOV AH, 2MOV DL, BLADD DL, 30HINT 21HJMP THOATLONHON : SUB BL, 10INC CLCMP BL, 10JGE LONHONMOV AH, 9LEA DX, S2INT 21H ; in chu so hang chuc CLMOV AH, 2MOV DL, CLADD DL, 30HINT 21H ; in chu so hang don vi BLMOV DL, BLADD DL, 30HINT 21HJMP THOATTBLOINHAPSO : MOV AH, 9LEA DX, S4INT 21HJMP NHAPSOTHOAT : MOV AH, 9LEA DX, S3INT 21HMOV AH, 1INT 21HMOV AH, 4CHINT 21HENDB ài 6 : Nhập 10 số có bao nhiêu số lẻ ; nhap 10 so, co bao nhieu so le ?. MODEL SMALL.DATAS 1 DB 0AH, 0DH, ‘ Nhap 10 so : USD ‘ S2 DB 0AH, 0DH, ‘ Tong so LE trong 10 so vua nhap la : USD ‘ 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 ! ! ! USD ‘. CODEMOV AX, @ DATAMOV DS, AXNHAPSO : MOV AH, 9LEA DX, S1INT 21H ; Gan gia tri khoi dau cho cac bienMOV CL, 1MOV BL, 0NHAP10 SO : MOV AH, 1INT 21HINC CL ; Xu ly nhap sai soCMP AL, 30HJL TBLOINHAPSOCMP AL, 39HJG TBLOINHAPSOSUB AL, 30H ; Neu so nhap vao là so 0, và chi nhap 10 so 0, quy uoc so 0 la so CHANCMP AL, 0JE ALL0 ; Neu so nhap vao là so 1, và chi nhap 10 so 1CMP AL, 1JE ALL1 ; Nguoc lai voi cac so # 0, # 1LAPCHIA : SUB AL, 2CMP AL, 2JGE LAPCHIAADD BL, ALCMP CL, 10JLE NHAP10SOCMP BL, 10JGE LONHONMOV AH, 9LEA DX, S2INT 21HMOV AH, 2MOV DL, BLADD DL, 30HINT 21HJMP THOATALL0 : ADD BL, 0CMP CL, 10JLE NHAP10SOMOV AH, 9LEA DX, S2INT 21HMOV AH, 2MOV DL, BLADD DL, 30HINT 21HJMP THOATALL1 : ADD BL, 1CMP CL, 10JLE NHAP10SOCMP BL, 10JGE LONHONMOV AH, 9LEA DX, S2INT 21HMOV AH, 2MOV DL, BLADD DL, 30HINT 21HJMP THOATLONHON : MOV AH, 9LEA DX, S2INT 21HMOV AH, 2MOV DL, ‘ 1 ‘ INT 21HMOV DL, BLSUB DL, 10ADD DL, 30HINT 21HJMP THOATTBLOINHAPSO : MOV AH, 9LEA DX, S4INT 21HJMP NHAPSOTHOAT : MOV AH, 9LEA DX, S3INT 21HMOV AH, 1INT 21HMOV AH, 4CHINT 21HEND

Source: https://ta-ogilvy.vn
Category: Hỏi Đáp