You are on page 1of 2

ĐHBK Tp HCM – Khoa ĐĐT–BMĐT

GVPT: Hồ Trung Mỹ

Vi xử lý – AY1213-S2
Đáp án của Kiểm tra tại lớp đợt 4
Thời gian làm bài: 30 phút (Cho mở TL)

1. (4 đ) Hãy viết vài lệnh 8051 để thực hiện các công việc sau:
a) Nạp giá trị 1234H vào DPTR bằng 2 cách (nạp thanh ghi 16 bit và nạp thanh ghi 8 bit)
b) Nạp trị số 45H vào thanh ghi R0 bằng 2 cách
c) Chép nội dung của thanh ghi R2 vào R6 (giả sử ở bank 1) bằng các cách với lệnh PUSH, MOV (4
cách)
BG.
Cách 1 Cách 2 Cách 3 Cách 4 Cách 5
a) MOV DPTR,#1234H (*) MOV DPH,#12H
MOV DPL,#34H
b) MOV R0,#45H (*) MOV 0,#45H
c) PUSH 10 MOV A,R2 MOV 14,R2 MOV R6,10 MOV 14,10 (*)
POP 14 MOV R6,A
Chú ý:
 Cách có “*” là cách hiệu quả nhất!

2. (2 đ)
a) Sau đoạn chương trình này, cho biết các địa chỉ bit nào (trong byte được cập nhật) trong vùng nhớ nội
20H đến 2FH có nội dung là 1:
MOV 27h, #48h
MOV R0, #29h
MOV @R0, 27h
b) Cho biết mã máy sau thực hiện tác vụ gì?
75H, 8AH, E7H
BG.
a)
(27H)= 48H = 0100 1000H  Các địa chỉ bit (hex) có nội dung là 1: 3E và 3B
(29H)= 48H = 0100 1000H  Các địa chỉ bit (hex) có nội dung là 1: 4E và 4B

b) Mã lệnh 75H tương ứng với lệnh 3 byte:


MOV direct, #data

Như vậy 75H 8AH E7H tương ứng với lệnh: MOV 8AH, #0E7H

3. (2 đ) Cho biết các cách định địa chỉ của các toán hạng trong các lệnh sau:
ANL C, ACC.1
ADD A, #55
MOV @R1, A
MOV P1, 50H
BG.
Cách định địa chỉ của
Lệnh
toán hạng 1 toán hạng 2
ANL C, ACC.1 Hiểu ngầm Trực tiếp (bit)
ADD A, #55 Hiểu ngầm Tức thời
MOV @R1,A Gián tiếp Hiểu ngầm
MOV P1,50H Trực tiếp Trực tiếp
4. (2 đ) Offset tương đối của lệnh sau là bao nhiêu?
a) SJMP AHEAD
nếu lệnh này đang ở ô nhớ 0480H và nhãn AHEAD biểu diễn lệnh ở địa chỉ 043AH.
b) SJMP BACK
nếu lệnh này đang ở ô nhớ A078H và nhãn BACK biểu diễn lệnh ở địa chỉ 9EA8H.
BG.
Địa chỉ lệnh kế = Địa chỉ lệnh hiện tại + chiều dài lệnh

a) b)
Địa chỉ nhảy đến: 043AH 9EA8H
Địa chỉ lệnh kế: – 0482H – A07AH
Hiệu số: FFB8H (-72) FE2EH (-466 < -128)
Offset: B8H Vô nghiệm

You might also like