Danh mục

Bài tập ôn thi học kỳ môn Vi xử lý– AY1112-S2

Số trang: 8      Loại file: pdf      Dung lượng: 904.82 KB      Lượt xem: 16      Lượt tải: 0    
Jamona

Phí tải xuống: 3,000 VND Tải xuống file đầy đủ (8 trang) 0
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

5. a) Viết chương trình hợp ngữ để sao chép khối dữ liệu 10 byte (của RAM ngoài) có địa chỉ đầu là 8020H đến khối dữ liệu có địa chỉ đầu là 8040H. b) Viết chương trình hợp ngữ để sao chép khối dữ liệu 10 byte (của RAM nội) có địa chỉ đầu là 20H đến khối dữ liệu (ở RAM ngoài) có địa chỉ đầu là 8040H.
Nội dung trích xuất từ tài liệu:
Bài tập ôn thi học kỳ môn Vi xử lý– AY1112-S2ĐHBK Tp HCM – Khoa ĐĐTBMĐTGVPT: Hồ Trung Mỹ Bài tập ôn thi học kỳ môn Vi xử lý– AY1112-S2Chú ý:  Trong các bài tập sau giả sử dùng 8051 với thạch anh (XTAL) là 12 MHz  Hệ số có dấu là hệ có số âm được biểu diễn bằng số bù 2.  Khi đề bài chỉ nói viết chương trình thì ngầm hiểu là viết bằng hợp ngữ 8051.1. Cho biết cách định địa chỉ của các toán hạng trong mỗi lệnh của chương trình sau: MOV R0, #40H INC SP MOV A, @R0 MOV ACC.0, C DJNZ R1, $ Viết mã máy cho đoạn chương trình trên.2. Cho biết nội dung của thanh ghi A sau khi thực thi mỗi đoạn chương trình sau: (a) (b) (c) (d) (e) MOV 20h,#75h MOV R1,#2 MOV A,#0FFH XRL A,ACC MOV A,#56H MOV R1,#20H MOV A,1 CLR C ADD A,#0F7H SWAP A MOV A,@R1 ORL A,#40H MOV ACC.7,C SETB C RR A ANL a,#0FH XRL A,#0FH CPL C MOV R1,#89H RR A MOV ACC.0,C ADDC A,R13. Cho biết nội dung của các thanh ghi A, R0, R1, R2, R3, SP, PC, các ô nhớ trong ROM có địa chỉ là 0001Hvà 0A8FH, và ô nhớ trong RAM nội có địa chỉ là 02H sau khi 8051 thực thi lệnh “add A, R2”:4. Tính độ dời (offset) (theo số hex) cho các lệnh có mã máy có byte ghi “??” trong đoạn chương trình sau: VXL _BTOTHK–1/85. a) Viết chương trình hợp ngữ để sao chép khối dữ liệu 10 byte (của RAM ngoài) có địa chỉ đầu là 8020Hđến khối dữ liệu có địa chỉ đầu là 8040H. b) Viết chương trình hợp ngữ để sao chép khối dữ liệu 10 byte (của RAM nội) có địa chỉ đầu là 20H đếnkhối dữ liệu (ở RAM ngoài) có địa chỉ đầu là 8040H.6. Viết chương trình con hợp ngữ tìm phần tử nhỏ nhất của 1 mảng các số 8 bit không dấu trong RAM dữ liệubên ngoài với số phần tử N (N 255) của mảng trong ô nhớ 7FFFH và phần tử đầu tiên của mảng có địa chỉ là8000H. Giá trị của phần tử nhỏ nhất được đặt trong R6 và chỉ số của nó (bắt đầu từ chỉ số 0) được đặt trongR7. Khi áp dụng cùng chương trình này cho mảng các số 8 bit có dấu thì ta phải chỉnh sửa hoặc thêm các lệnhnào?7. Viết chương trình con hợp ngữ hoặc C để so sánh 2 số 8 bit X và Y trong các thanh ghi R5 và R6 tươngứng. Kết quả so sánh được đặt trong R7 theo quy ước sau:  X < Y thì R7 = 01H  X = Y thì R7 = 02H  X > Y thì R7 = 04H Cờ F0 (trong PSW) dùng để chọn so sánh số không dấu (khi F0=0) hay có dấu (khi F0=1). Áp dụng chương trình con trên để so sánh 2 số 16 bit không dấu đặt trong RAM nội với byte thấp ở địa chỉ thấp, số thứ nhất bắt đầu từ địa chỉ 30H và số thứ hai bắt đầu từ 40H.8. Viết chương trình con thực hiện phép toán AND 8 bit ở thanh ghi A và cho kết quả trong cờ C với các cáchsau: a) Áp dụng lệnh CJNE để tìm kết quả AND. b) Áp dụng lệnh ANL cho biến Boole Ứng dụng chương trình con trên để tìm: i) AND 4 bit thấp của cổng P1 và kết quả xuất ra P1.4 ii) AND 16 bit của DPTR và kết quả để ở cờ C.9. Viết chương trình con thực hiện phép toán OR 8 bit ở thanh ghi A và cho kết quả trong cờ C với các cáchsau: a) Áp dụng lệnh JZ hoặc JNZ để tìm kết quả OR. b) Áp dụng lệnh ORL cho biến Boole Ứng dụng chương trình con trên để tìm: i) OR 4 bit thấp của cổng P1 và kết quả xuất ra P1.4 ii) OR 16 bit của DPTR và kết quả để ở cờ C.10. Viết chương trình con thực hiện phép toán XOR 8 bit ở thanh ghi A và cho kết quả trong cờ C với cáccách sau: a) Tận dụng cờ parity P để tìm kết quả XOR. b) Đếm số bit 1 trong thanh ghi A để tìm kết quả XOR. Ứng dụng chương trình con trên để tìm: i) XOR 4 bit thấp của cổng P1 và kết quả xuất ra P1.4 ii) XOR 16 bit của DPTR và kết quả để ở cờ C.11. Viết chương trình con thực hiện các phép tính sau theo nội dung của thanh ghi R0 (nếu R0 >7 thì R3 = 0) R0 Phép toán R0 Phép toán 0 R3 = R1 + R2 4 R3 = R1 AND R2 1 R3 = R1 – R2 5 R3 = R1 OR R2 2 R3 = R1 * R2 6 R3 = R1 XOR R2 3 R3 = R1 / R2 7 R3 = NOT(R1) (chỉ lấy thương số) với các cách sau: a) Tận dụng lệnh CJNE b) Tận dụng lệnh JMP @A+DPTR12. a) Viết chương trình con thực hiện cộng 2 số không dấu nhiều byte. Giả sử trước khi gọi chương trình connày thì:  R0 chứa địa chỉ đầu của toán hạng thứ nhất (trùng với địa chỉ của byte thấp nhất) N1.  R1 chứa địa chỉ đầu của toán hạng thứ hai (trùng với địa chỉ của byte thấp n ...

Tài liệu được xem nhiều: