VI XỬ LÝ Vxl bt on tap ktghk ay0910 s2

6 0 0
VI XỬ LÝ Vxl bt on tap ktghk ay0910 s2

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

Thông tin tài liệu

ĐHBK Tp HCM ĐHBK Tp HCM – Khoa ĐĐT–BMĐT Môn học Vi Xử Lý GVPT Hồ Trung Mỹ Các bài tập ôn kiểm tra giữa học kỳ 2 – NH 2009 2010 LISTNUM NumberDefault Cho mạch giải mã địa chỉ (giả sử VXL[.]

ĐHBK Tp HCM – Khoa ĐĐT–BMĐT Môn học: Vi Xử Lý GVPT: Hồ Trung Mỹ Các bài tập ôn kiểm tra giữa học kỳ – NH:2009-2010 Cho mạch giải mã địa (giả sử VXL có 16 đường địa chỉ) hình vẽ A14 A15 A16 A(LSB) B C A19 A18 A17 G1 G2A G2B G2B Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 a) Xác định vùng địa của các ngõ /Yi của IC giải mã 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 các tín hiệu chọn chip /CS0 (64K), /CS1(8K), /CS2 (2K) (giải mã đầy đủ) Vẽ hình trực tiếp lên mạch giải mã phía c) Chỉ sử dụng cổng logic, thiết kế mạch giải mã địa ngoại vi có tính chất sau - Ngoại vi có tín hiệu chọn cổng SEL tích cực cao - Có địa 2780H ÷ 27FFH (vi xử lý 16 bit địa A0, , A15 ) Khảo sát VXL Z80: a) Lệnh nhảy JP LOOP có mã máy (Opcode) chứa nhớ chương trình C3H, 5DH, 3CH Như nhãn LOOP có địa bao nhiêu? Tại sao? b) Các ô nhớ của nhớ có nội dung hình vẽ Với SP = C02AH , sau đó thực lệnh RET, nội dung của các ghi D, E bao nhiêu? Giải thích C028H C029H C02AH C02BH C02CH 94H D5H 50H 6AH 3FH c) Cho đoạn chương trình, cờ CY = nội dung các nhớ câu b Khi thực xong đoạn chương trình nội dung của ghi A B bao nhiêu? (Giải thích ngắn gọn) LD B, LD A, 0A5H LD HL, 0C028H LOOP: ADC A, (HL) INC HL DJNZ LOOP HALT Viết chương trình hợp ngữ Z80: VXL–BT ôn kiểm tra học kỳ – Trang a) Viết chương trình TINH có nhiêm vụ kiểm tra nội dung ghi B có lớn nội dung ghi C hay không? Nếu lấy nội dung ghi B trừ nội dung ghi C; ngược lại lấy nội dung ghi C trừ ghi B Kết cất vào ghi D b) Cho trước chương trình có tên CHIA có nhiệm vụ lấy nội dung ghi D chia cho nội dung ghi E Kết phần nguyên sau chia (thương số) cất vào ghi D phần dư cất vào ghi E Sử dụng chương trình CHIA viết chương trình để thực việc kiểm tra chuỗi liệu chứa RAM có địa đầu A000H, chiều dài của khối liệu nội dung ô nhớ có địa 9FFFH (giả sử khác 0) Chương trình có nhiệm vụ kiểm tra xem có ô nhớ mà nội dung của nó chia hết cho 15 Kết đếm lưu vào ô nhớ có địa 9FFEH Cho mạch giải mã địa (giả sử VXL có 16 đường địa chỉ) hình vẽ A14 A15 A16 A19 A17 A(LSB) B C G1 G2A A18 G2B Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 a) Xác định các vùng địa của các ngõ /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 các tín hiệu chọn chip /CS0 (8K), /CS1(16K), /CS2 (4K) có địa liên tiếp có địa đầu địa đầu của ngõ /Y3 (vẽ hình trực tiếp mạch giải mã) c) Hệ vi xử lý có bus địa dành cho ngoại vi A0 ÷ A7, ngoại vi có tín hiệu chọn cổng /CS tích cực thấp; sử dụng cổng logic thiết kế mạch giải mã địa cho tín hiệu chọn ngoại vi /CS có địa B8H ÷ BFH Khảo sát VXL Z80: a) Cho đoạn chương trình Z80, cho biết lệnh vòng lặp LOOP có các phương pháp định địa nào? Đoạn chương trình Phương pháp định địa LD B, LD IX, TABLE LOOP: LD A, (IX + 0) BIT 7, A …………………………………………………………… JR NZ, EXIT ………………………………………………………… INC IX …………………………………………………………… INC B JR LOOP EXIT: HALT TABLE: DEFB 20H DEFB 45H DEFB 90H DEFB 0FH DEFB 0B0H b) Khi thực xong đoạn chương trình nội dung của ghi A B bao nhiêu? (Giải thích ngắn gọn) VXL–BT ôn kiểm tra học kỳ – Trang a) Sau thực lệnh CALL CTCON, chương trình Z80 chuyển tới CTCON thực các lệnh chương trình thực lệnh RET (trước lệnh ghi SP có nội dung 8000H; ô nhớ đỉnh vùng stack (8000H) = 60H (8001H) = 2AH) Hãy cho biết sau thực lệnh RET, nội dung ghi PC SP bao nhiêu? (giải thích ngắn gọn) Như lệnh gọi chương trình CALL CTCON chứa nhớ có địa đầu bao nhiêu? (Tại sao?) ……… CALL CTCON ……… CTCON: ……… ……… ……… RET b) Viết chương trình NHAN có nhiêm vụ nhân nội dung ghi B với giá trị 13; kết (giả sử không vượt quá bit) xuất ngoại vi có địa nội dung của ghi C Chú ý: chương trình khơng sử dụng vịng lặp mà sử dụng tính chất số nhị phân B x 13 = B x (8 + + 1) = B x + B x + B a) Lệnh CALL CTCON chứa từ ô nhớ có địa 40F2H, nhãn CTCON có địa A50EH Thanh ghi SP có nội dung 2000H Khi thực chương trình nội dung ghi PC, SP ô nhớ định vùng stack có địa (SP) (SP+1) có giá trị b) Cho chương trình có tên SO_BIT1 có nhiệm vụ tính tổng số bit có ghi D kết cất vào ghi E Viết đoạn chương trình sử dụng chương trình để thực việc kiểm tra nội dung chuỗi liệu có địa đầu 6000H, chiều dài của khối liệu nội dung ô nhớ 5FFFH (giả sử khác 0); xem có ô nhớ có số bit bit nhau, đồng thời xóa các ô nhớ đó Sau đó cất số ô nhớ xóa vào ô nhớ có địa 5FFEH Cho mạch phân vùng nhớ sử dụng IC74138 (giả sử VXL có 16 đường địa chỉ) nhö hình vẽ A14 A13 A12 A18 A17 A16 A15 A19 C B A(LSB) G1 G2A G2B G2B Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 a) Xác định vùng địa ngõ /Yi IC giải mã b) Từ mạch thực việc giải mã cho tín hiệu chọn chip có; tín hiệu chọn chip có địa liên tục có địa đầu địa đầu vùng /Y0 (Vẽ hình trực tiếp mạch xác định vùng địa tín hiệu chọn chip): /CS0 (4K), /CS1(2K), /CS2(8K) c) Hãy thiết kế mạch giải mã địa ngoại vi /IOSEL dùng cổng logic có vùng địa 9AH ÷ 9DH (giải thích ngắn gọn) a) Thiết kế nhớ RAM 8KB (có đầy đủ các tín hiệu địa chỉ, data, /CS, /OE /WE) các nhớ RAM hình vẽ (Vẽ sơ đờ kết nối) VXL–BT ôn kiểm tra học kỳ – Trang b) Cho đoạn chương trình Z80 sau, tìm mã lệnh đoạn chương trình Đoạn chương trình Mã lệnh (số HEX) LD LD SUB XOR ADC A, 14 B, 6FH B A A, B ……………………………………………………… ……………………………………………………… ……………………………………………………… ……………………………………………………… Cho biết nội dung các ghi các cờ sau thực thi các lệnh sau (chỉ ghi các trị thay đổi): b) Cho biết nội dung các ghi các trạng thái cờ sau thực thi các lệnh sau (chỉ ghi các trị thay đổi) Cổng PORT1 nhận giá trị gì? VXL–BT ơn kiểm tra học kỳ – Trang Viết chương trình cộng dờn các byte của mảng, có nhớ dừng việc cộng trừ bớt byte vừa cộng vào Xuất kết cổng xuất định nghĩa với nhãn OUTPUT1 TD: Table DB 89H, 32H, 2BH, 7AH, 0B5H, 68H, 2FH,… b) Sửa lại chương trình để hiển thị thêm số byte cộng vào (không kể byte bị loại trừ có nhớ), xuất cổng xuất định nghĩa với nhãn OUTPUT2 Tìm các lỗi các đoạn chương trình sau: a) Cộng số byte (06H 52H) xuất tổng PORT7 LD LD ADD ADD OUT HALT B, 06H C, 52H A, B A, C (07H), A b) Cộng byte nhớ 2050H, biết tổng < 255 SUB LD LOOP: LD ADD INC DEC JR HALT A HL, 2050H B, 05H A, (HL) HL B NZ, LOOP c) Sao chép 100H byte liệu từ vùng nhớ có địa đầu 2100H đến vùng nhớ có địa đầu 2800H LD LD LD NEXT: LD LD INC INC DEC JP HALT HL, 2100H BC, 2800H DE, 0100H A, (HL) (BC), A HL BC DE NZ, NEXT Cho biết nội dung của các ghi BC SP sau thực thi các lệnh sau: LD LD PUSH POP SP, 20F5H HL, 2055H HL BC b) Cho biết nội dung của các ghi SP các ô nhớ 2090H 2099H sau thực thi các lệnh sau: LD XOR LD LD LD LOOP: PUSH DEC JP SP, 219AH A H, A L, A B, 05H HL B NZ, LOOP c) Đọc đoạn chương trình sau trả lời các câu hỏi: LD LD LD LD LD OR PUSH PUSH PUSH SP, 84F9H HL, 8l38H BC, 0001H DE, 235AH A, D A HL AF BC VXL–BT ôn kiểm tra học kỳ – Trang i) Cho biết nội dung của các ô nhớ 84F8H 84F7H sau thực thi lệnh PUSH HL ii) Nội dung của ghi A F sau thực thi lệnh OR A iii) Nội dung của SP sau thực thi lệnh PUSH BC Viết chương trình MAX3 có nhiêm vụ tìm số ngun khơng dấu lớn số nguyên để các ghi A, B, C; kết số lớn cất vào ghi D E=1, 2, hay tương ứng với số lớn ở A, B, hay C b) Viết lại chương trình tìm số lớn số có dấu Viết chương trình tính tổng các số dương tổng các số âm của bảng số liệu, kết cất vào nhớ tương ứng POS_SUM NEG_SUM (đã định nghĩa sẵn, giả sử kết không vượt quá biểu diễn của số bit có dấu) Địa bắt đầu của bảng chứa ở địa BASE Phần tử đầu của bảng số byte có bảng Thí dụ bảng có phần tử BASE: DB 7, 12, 11, -5, 8, -23, -9, (trong nhớ địa BASE chứa 06H 0CH 0BH FBH 08H E9H F7H 05H) Như sau chạy xong chương trình POSITIVE phải chứa 36 NEGATIVE chứa -37 b) Viết lại chương trình để tính tổng trị tuyệt đối các số bảng cất vào ô nhớ SUM (đã định nghĩa sẵn, giả sử kết không vượt quá biểu diễn của số bit có dấu) Viết chương trình SUMSQ tính tổng bình phương của ký số BCD ghi A kết đặt lại vào A TD: A = 25H  A = 22 + 52 = + 25 = 29 b) Áp dụng chương trình SUMSQ để tính tổng bình phương của ký số BCD cặp ghi BC kết cất vào cặp ghi DE TD: BC=1234H  DE = 12 + 22 + 32 + 42 = 1+ 4+ 9+16= 30 Viết chương trình nhân số bit bằng: a) Cộng dồn b) Dịch cộng Viết chương trình nhân số 16 bit bằng: a) Cộng dồn b) Dịch cộng Mô phỏng các cổng logic với ngõ cờ Carry (C) ngõ vào có trị ở ghi A: AND, OR, XOR Viết chương trình điều khiển đèn giao thơng với các dạng sáng/tắt giả lập sau: Giả sử có sẵn chương trình làm trễ giây thời gian đèn xanh sáng giây, vàng sáng giây đỏ sáng giây VXL–BT ôn kiểm tra học kỳ – Trang

Ngày đăng: 13/04/2023, 08:07

Tài liệu cùng người dùng

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

Tài liệu liên quan