Câu 1: (3 đ)
Mạch giải mã địa cho các bộ nhớ (có số bit dữ liệu là 8) dùng 74138 như hình sau:
a) Xác định vùng địa chỉ của các ngõ ra /Yi:
b) Từ mạch giải mã trên, sử dụng thêm các cổng logic cần thiết để tạo ra các tín hiệu chọn chip /CS0,
/CS1, /CS2 (giải mã địa chỉ toàn phần) tích cực thấp và có các vùng địa chỉ liên tục. Vẽ hình trực
tiếp lên mạch giải mã phía trên
4 trang |
Chia sẻ: hoang10 | Lượt xem: 729 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Đề kiểm tra giửa kì 2 -- Môn: Vi xử lý – Mã MH: 402030, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
ĐHQG TPHCM–ĐH Bách Khoa
Khoa Đ-ĐT–BM Điện Tử
Chữ ký giám thị Đề kiểm tra giửa HK 2 – NH:2011-2012 Điểm
Môn: Vi xử lý – Mã MH:402030
Ngày thi: 04/04/2012 – Thời gian làm bài: 80 phút
Đề có 4 trang và SV làm trực tiếp trên đề.
(SV được sử dụng tài liệu của mình, KHÔNG được dùng máy tính)
Họ và tên SV: __________________________ MSSV: ____________ Nhóm: ______
Bộ môn Điện Tử duyệt GV ra đề
Hồ Trung Mỹ
Câu 1: (3 đ)
Mạch giải mã địa cho các bộ nhớ (có số bit dữ liệu là 8) dùng 74138 như hình sau:
a) Xác định vùng địa chỉ của các ngõ ra /Yi:
b) Từ mạch giải mã trên, sử dụng thêm các cổng logic cần thiết để tạo ra các tín hiệu chọn chip /CS0,
/CS1, /CS2 (giải mã địa chỉ toàn phần) tích cực thấp và có các vùng địa chỉ liên tục. Vẽ hình trực
tiếp lên mạch giải mã phía trên.
Tín hiệu chọn chip Vùng địa chỉ (Hex)
/CS0 (24 KB)
/CS1 ( 4 KB)
/CS2 (14 KB)
VXL_KTGHK_AY1112-S2_trang 1/4
Câu 2: (1 đ)
Vẽ thêm các đường kết nối (có thể dùng thêm các cổng logic) CPU với ROM và RAM tĩnh để CPU có thể
truy cập ROM 8Kx8 với vùng địa chỉ (hex): 0000–1FFF và RAM 8Kx8 với vùng địa chỉ (hex): 4000–5FFF
Chú ý: Đường R/W của RAM = 1 là cho phép đọc và = 0 là cho phép ghi.
Câu 3: (1 đ)
Viết các lệnh Z80 để thực hiện các công việc sau:
Công việc Các lệnh Z80
a) Nạp giá trị 23H vào thanh ghi E và nạp giá
Chỉ dùng 1 lệnh: _____________________
trị 57H vào thanh ghi D
b) Xóa cờ carry C Chỉ dùng 1 lệnh: _____________________
c) Hoán đổi 4 bit thấp và 4 bit cao của thanh ____________________
ghi A ____________________
____________________
____________________
d) Nạp giá trị 28H vào ô nhớ có địa chỉ là 200H ____________________
____________________
Câu 4: (1 đ)
Cho trước đoạn chương trình hợp ngữ Z80 sau:
Địa chỉ (hex) Mã máy (hex) Nhãn Lệnh
0100 B8 L1: CP B
0101 28 MM JR Z, L2
0103 3D DEC A
0104 10 NN DJNZ L1
0106 76 L2: HALT
Các byte MM và NN (hex) có giá trị sau:
MM = _______H – _______H = __H
NN = _______H – _______H = __H
VXL_KTGHK_AY1112-S2_trang 2/4
Câu 5: (2 đ)
Phân tích đoạn chương trình hợp ngữ Z80 sau bằng cách ghi các giá trị thập phân ở các thanh ghi trong
bảng sau khi thực hiện lệnh và giá trị 0 hay 1 cho các cờ C và Z.
Chương trình Lần lặp 1 (0.5đ) Lần lặp 2 (0.5đ) Lần lặp 3 (0.5đ)
ORG 100H
LD B,3
LD HL,TABLE
XOR A
LD D,A
LD E,A
L1: LD A,(HL) A = A = A =
BIT 7,A Cờ Z = Cờ Z = Cờ Z =
JR Z,L2
NEG
L2: ADD A,E Cờ C = Cờ C = Cờ C =
LD E,A E = E = E =
LD A,D
ADC A,0
LD D,A D = D = D =
INC HL
DJNZ L1
JR $
TABLE: DEFB 120
DEFB -123
DEFB -125
DEFB 57
Ý nghĩa của đoạn chương trình trên là: (0.5 đ)
______________________________________________________________________________
______________________________________________________________________________
Câu 6: (1 đ)
a) Viết chương trình con AND_8 để thực hiện AND 8 bit trong thanh ghi A và kết quả đặt ở cờ C (thí
dụ: A =0FH thì cờ C=0, A=FFH thì cờ C=1).
b) Viết đoạn chương trình gọi AND_8 để thực hiện AND 4 bit thấp của thanh ghi A và kết quả đặt ở
LSB của thanh ghi B (thí dụ A= 0FH thì LSB của B là 1)
Chương trình con AND_8 Đoạn chương trình thực hiện AND 4 bit thấp của A
VXL_KTGHK_AY1112-S2_trang 3/4
Câu 7: (1 đ)
a) Viết chương trình con a_z2A_Z bằng hợp ngữ Z80 kiểm tra nội dung của thanh ghi A nếu thuộc ký
tự chữ thường (thuộc tập ký tự từ ‘a’ đến ‘z’) thì biến đổi nó thành ký tự chữ in hoa (thuộc tập ký tự
từ ‘A’ đến ‘Z’), ngược lại thì không thay đổi nội dung thanh ghi A. Biết mã ASCII của các ký tự ‘a’
đến ‘z’ là 61H đến 7AH và mã ASCII của các ký tự ‘A’ đến ‘Z’ là 41H đến 5AH. (0.5 đ)
a_z2A_Z:
b) Viết đoạn chương trình gọi chương trình con ở a) để thực hiện biến đổi các ký tự chữ thường sang
chữ hoa trong chuỗi ký tự STRING với kết thúc chuỗi là ký tự NULL (mã ASCII là 0). (0.5 đ)
Thí dụ: STRING: DB ‘H’, ’e’, ’l’, ‘l’, ‘o’,0 (trong bộ nhớ chứa “Hello”)
Sau khi chạy đoạn chương trình này, ta thấy trong bộ nhớ là “HELLO”.
Kết thúc bài kiểm tra
VXL_KTGHK_AY1112-S2_trang 4/4