Professional Documents
Culture Documents
CNKTD 1A
BÀI TẬP VI XỬ LÝ
Bài 1: Viết chương trình bằng ngôn ngữ Assembly cộng 2 giá trị thanh ghi BX, CX rồi
nhân đôi kết quả cuối cùng cất trong thanh ghi AX
Giải : MOV AX , BX
ADD AX , CX
SHL AX , 1
Bài 2 : Gán BX = І AX І
Giải : CMP AX , 0 ; So sánh AX > 0
JNL DUONG ; AX DUONG
NEG AX ; Nếu AX < 0 thì đảo dấu
DUONG : MOV BX , AX
NEXT: ; lối ra của cấu trúc.
Bài 5 : Đọc vùng nhớ bắt đầu tại địa chỉ 1000h vào thanh ghi AH, đến khi gặp ký tự ‘$’ thì
thoát
MOV BX , 1000h
Continued : CMP AH , ‘ $ ’
JZ NEXT
MOV AH , DS : [ BX ]
JMP Continued
NEXT :
Bài 6
a,
Label: ADD CX , AX
MOV BX , CX
INC CX
DEC AX
CMP AX , 0
JNZ Label
Stop:
b,
label : CMP AX , 100D
JAE STOP ;
ADD AX , BX
INC BX
JMP label
STOP:
c, MOV CX , 0
Label: CMP CX , 20
JA stop
ADD AX , BX
INC CX
JMP Label
Stop:
d, MOV CX , 23D
Label INC AX
INC BX
DEC CX
CMP CX , 0
JNZ Label
Stop:
e, CMP AX,0
INC CX
ADD BX,CX
INC AX
NEG AX
SUB BX,AX
Bài 7: Kiểm tra xem thanh ghi có độ dài 8bit có bao nhiêu bit có giá trị logic bằng 1
XOR CX,CX
MOV CL,1
Label: CMP CL,8
JA STOP
SHL AH,CL
CMP CF,1
JZ Label1
INC CL
JMP Label
Label1: INC CX
STOP:
Bài 8: Lệnh tính giá trị biểu thức a=2.(b+c) kết quả cất trong AX
MOV CX , c
MOV BX , b
MOV AX , BX
ADD AX , CX
SHL AX , 1
Bài 10: Xác định địa chỉ vật lý của ô nhớ có địa chỉ logic 0AB1h:CD20h
Bài :12 Hiển thị 1 dòng ký tự ‘$’ trên màn hình (80 ký tự)
MOV CX , 80 ; số lần hiển thị trong CX
MOV AH , 2 ; AH chứa số hiệu hàm hiển thị
MOV DL , ‘ $ ’ ; DL chứa ký tự ‘ $ ‘ cần hiển thị
PRINT: INT 21 h ; hiển thị
LOOP PRINT ; cả một dòng ký tự
OUT : : Lối ra của cấu trúc.
b/ XOR AL , AL ; Xóa AL
MOV CX , 100 ;Số lần lặp để tại CX là 100
LẶP INC AL ;tăng AL thêm 1
CMP AL , 16 ;so sánh AL với 16
LOOPZ LẶP :lặp lại nếu AL <> 16