1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

ĐỀ KIỂM TRA MÔN VI XỬ LÍ

5 156 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Nội dung

ĐHQG TPHCM–ĐH Bách Khoa Khoa Đ-ĐT–BM Điện Tử Chữ ký giám thị Đáp án Đề kiểm tra giửa HK – NH:2011-2012 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ó trang SV làm trực tiếp đề (SV sử dụng tài liệu mình, KHƠNG dùng máy tính) Điểm Họ tên SV: MSSV: Nhóm: Bộ mơn Điện Tử duyệt GV đề Hồ Trung Mỹ Câu 1: (3 đ) Mạch giải mã địa cho nhớ (có số bit liệu 8) dùng 74138 hình sau: a) Xác định vùng địa ngõ /Yi: A19 A18 A17 A16 1 1 1 1 1 1 1 1 1 1 1 1 A15 A14 A13 A12 0 X 0 X X 1 X 0 X 1 X 1 X 1 X A11 A10 A9 A8 X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X A7 A6 A5 A4 X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X A3 A2 A1 A0 X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X Vùng địa (HEX) /Y0: B0000–B1FFF /Y1: B2000–B3FFF /Y2: B4000–B5FFF /Y3: B6000–B7FFF /Y4: B8000–B9FFF /Y5: BA000–BBFFF /Y6: BC000–BDFFF /Y7: BE000–BFFFF b) Từ mạch giải mã trên, sử dụng thêm cổng logic cần thiết để tạo tín hiệu chọn chip /CS0, /CS1, /CS2 (giải mã địa tồn phần) tích cực thấp có vùng địa liên tục Vẽ hình trực tiếp lên mạch giải mã phía Tín hiệu chọn chip Vùng địa (Hex) B0000–B5FFF /CS0 (24 KB) B6000–B6FFF /CS1 ( KB) B7000–BA7FF /CS2 (14 KB) VXL_KTGHK_AY1112-S2_trang 1/5 Câu 2: (1 đ) Vẽ thêm đường kết nối (có thể dùng thêm cổng logic) CPU với ROM RAM tĩnh để CPU truy cập ROM 8Kx8 với vùng địa (hex): 0000–1FFF RAM 8Kx8 với vùng địa (hex): 4000–5FFF Xem cách giải khác dùng giải mã toàn phần phần phụ lục! Chú ý:  Các tín hiệu RD WR CPU khơng đồng thời  Đường R/W RAM = cho phép đọc = cho phép ghi Câu 3: (1 đ) Viết lệnh Z80 để thực công việc sau: Công việc Các lệnh Z80 a) Nạp giá trị 23H vào ghi E nạp giá Chỉ dùng lệnh: LD DE, 5723H trị 57H vào ghi D b) Xóa cờ carry C Chỉ dùng lệnh: OR A (hoặc AND A XOR A CP A) c) Hoán đổi bit thấp bit cao Tối đa lệnh: RRCA (hoặc dùng toàn RLCA) ghi A RRCA RRCA RRCA d) Nạp giá trị 28H vào ô nhớ có địa 200H Tối đa lệnh: LD A,28H LD (0200H), A Câu 4: (1 đ) Cho trước đoạn chương trình hợp ngữ Z80 sau: Địa (hex) 0100 0101 0103 0104 0106 Mã máy (hex) Nhãn Lệnh B8 28 MM 3D 10 NN 76 L1: CP JR DEC DJNZ HALT L2: B Z, L2 A L1 Các byte MM NN (hex) có giá trị sau: (byte thấp phép toán trừ số 16 bit) MM = 0106H – 0103H = 03H NN = 0100H – 0106H = FAH VXL_KTGHK_AY1112-S2_trang 2/5 Câu 5: (2 đ) Phân tích đoạn chương trình hợp ngữ Z80 sau cách ghi giá trị hex ghi bảng sau thực lệnh giá trị hay cho cờ C Z Chương trình L1: L2: TABLE: ORG 100H LD B,3 LD HL,TABLE XOR A LD D,A LD E,A LD A,(HL) BIT 7,A JR Z,L2 NEG ADD A,E LD E,A LD A,D ADC A,0 LD D,A INC HL DJNZ L1 JR $ DEFB 120 DEFB -123 DEFB -125 DEFB 57 Lần lặp (0.5đ) Lần lặp (0.5đ) Lần lặp (0.5đ) A = 78H Cờ Z = A = 85H Cờ Z = A = 83H Cờ Z = Cờ C = E = 78H Cờ C = E = F3H Cờ C = E = 70H D = 00H D = 00H D = 01H DE = 120 + 123 + 125 = 368 = 0170H Ý nghĩa đoạn chương trình là: (0.5 đ) Tính tổng trị tuyệt đối N phần tử đầu bảng (N giá trị B) Câu 6: (1 đ) a) Viết chương trình AND_8 để thực AND bit ghi A kết đặt cờ C (thí dụ: A = 0FH cờ C = 0, A = FFH cờ C = 1) b) Viết đoạn chương trình gọi AND_8 để thực AND bit thấp ghi A kết đặt LSB ghi B (thí dụ A= 5FH LSB B 1, A = 2EH LSB B 0) Chương trình AND_8 ; Chuong trinh AND bit AND_8: CP 0FFH JR Z,AND_8_1 AND A ; cờ C = RET AND_8_1: SCF ; cờ C = RET Đoạn chương trình thực AND bit thấp A ; A chứa trị cần tính OR 0F0H CALL AND_8 JR C,OUT_1 RES 0,B ; LSB B = JR NEXT OUT_1: SET 0,B ; LSB B = NEXT: ; Có cách khác làm cho cờ C=0: ; SCF ; C = ; CCF ; C = NOT(C)=0 VXL_KTGHK_AY1112-S2_trang 3/5 Câu 7: (1 đ) a) Viết chương trình a_z2A_Z hợp ngữ Z80 kiểm tra nội dung ghi A thuộc ký tự chữ thường (thuộc tập ký tự từ ‘a’ đến ‘z’) biến đổi thành ký tự chữ in hoa (thuộc tập ký tự từ ‘A’ đến ‘Z’), ngược lại khơng thay đổi nội dung ghi A Biết mã ASCII ký tự ‘a’ đến ‘z’ 61H đến 7AH mã ASCII ký tự ‘A’ đến ‘Z’ 41H đến 5AH (0.5 đ) a_z2A_Z: CP 'a' RET C CP 'z'+1 RET NC ADD A,'A'-'a' RET Có thể viết theo cách khác: A_z2A_Z: CP 'a' JR C,KTHUC CP 'z'+1 JR NC,KTHUC SUB 20H KTHUC: RET ; CP 61H ; CP 7BH ; ADD A,0E0H ADD A,-20H ; CP 61H ; CP 7BH ; ‘A’ = ‘a’ – 20H b) Viết đoạn chương trình gọi chương trình a) để thực biến đổi ký tự chữ thường sang chữ hoa chuỗi ký tự khai báo với nhãn STRING có kết thúc chuỗi ký tự NULL (mã ASCII 0) (0.5 đ) Thí dụ: STRING: DB ‘H’, ’e’, ’l’, ‘l’, ‘o’, (trong nhớ chứa “Hello”) Sau chạy đoạn chương trình này, ta thấy nhớ có nội dung giống ta định nghĩa STRING: DB ‘H’, ’E’, ’L’, ‘L’, ‘O’, Bài giải LD HL,STRING LD A,(HL) CP ; kiểm tra xem có đến ký tự NULL chưa? JR Z,NEXT CALL a_z2A_Z LD (HL),A INC HL JR LOOP NEXT: JR $ ; Phần định nghĩa STRING xem cho trước, khơng ghi STRING: DEFB 'H' DEFB 'e' DEFB 'l' DEFB 'l' DEFB 'o' DEFB LOOP: Kết thúc kiểm tra VXL_KTGHK_AY1112-S2_trang 4/5 Phụ lục: Một đáp số khác câu dùng giải mã địa toàn phần: Bảng chân trị tín hiệu R/W RAM: RD WR R/W 0 1 1 X X Chú thích Khơng xảy Đọc RAM Ghi RAM Khi không truy cập nhớ Suy có nghiệm cho R/W: (chọn nghiệm) R/W = NOT(RD) OR WR (khi cho tất X=0) R/W = NOT(RD) AND WR (khi cho tất X=0) R/W = WR (khi rút gọn với X) R/W = NOT(RD) (khi rút gọn với X) VXL_KTGHK_AY1112-S2_trang 5/5 ... không đồng thời  Đường R/W RAM = cho phép đọc = cho phép ghi Câu 3: (1 đ) Vi t lệnh Z80 để thực công vi c sau: Công vi c Các lệnh Z80 a) Nạp giá trị 23H vào ghi E nạp giá Chỉ dùng lệnh: LD DE,... cờ C=0: ; SCF ; C = ; CCF ; C = NOT(C)=0 VXL_KTGHK_AY1112-S2_trang 3/5 Câu 7: (1 đ) a) Vi t chương trình a_z2A_Z hợp ngữ Z80 kiểm tra nội dung ghi A thuộc ký tự chữ thường (thuộc tập ký tự từ... tử đầu bảng (N giá trị B) Câu 6: (1 đ) a) Vi t chương trình AND_8 để thực AND bit ghi A kết đặt cờ C (thí dụ: A = 0FH cờ C = 0, A = FFH cờ C = 1) b) Vi t đoạn chương trình gọi AND_8 để thực AND

Ngày đăng: 22/05/2018, 21:45

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN