Đáp án môn học Kỹ thuật vi xử lý
Số trang: 4
Loại file: doc
Dung lượng: 48.00 KB
Lượt xem: 16
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Đáp án bài tập về nhà số 3 Khoa điện tử viễn thông - Bộ môn điện tử tin học. Môn học: Kỹ thuật vi xử lý Học kỳ 2. Năm học 2009-2010
Nội dung trích xuất từ tài liệu:
Đáp án môn học Kỹ thuật vi xử lý KHOA ĐIỆN TỬ VIỄN THÔNG BỘ MÔN ĐIỆN TỬ TIN HỌC ------------------------------- MÔN HỌC: KỸ THUẬT VI XỬ LÝ Học kỳ: 2 Năm học: 2009-2010 ĐÁP ÁN BÀI TẬP VỀ NHÀ SỐ 3Bài 1 (20 điểm). Cho trạng thái của một hệ vi xử lý 8086 như sau:Các thanh ghi: AX = 4A86, DX = FF6A, BX = 075C, SI = 0008, DI = 000A, CS = 8BB0,DS = 4636, IP = 0003, FLAGS = 0000.Bộ nhớ:Địa chỉ vật lý: Giá trị 8 ô nhớMục a: 15 điểmMục b: 5 điểm a) CS:0003 02 00 ADD AL, [BX + SI] ; cộng ô nhớ DS:[BX + SI] vào AL CS:0005 72 04 JB Label ; Label = IP + 04h vì CF=1 CS:0009 02 61 04 ADD AH, [BX + DI + 4] ; cộng ô nhớ DS:[BX + DI + 4] vào AH b) AX = 4A19h và FLAGS = 0011hBài 2 (20 điểm).Mục a: 10 điểmMục b: 5 điểmMục c: 5 điểm a) Trước Label3, BX = 0000, CX = 0003, DI = 0000 và các byte từ địa chỉ SS:SP là: 02 00 05 00 06 00 b)Lệnh CX = 3 CX = 2 CX = 1pop ax AX 0002 0005 0006or al, 30h AX 0032 0035 0036mov [bx][di], al STR ‘2’,‘$’,’$’,‘$’,’$’,‘$’ ‘2’,‘5’,’$’,‘$’,’$’,‘$’ ‘2’,‘5’,’6’,‘$’,’$’,‘$’inc di DI 0001 0002 0003 c) 256Bài 3 (30 điểm). Viết lại thân hàm InsertionSort(short A[], short N) cho dưới đây bằngASSEMBLY (cho 8086)Tổ chức được vòng FOR 10 điểmTổ chức được vòng WHILE 10 điểmSo sánh 2 phần tử 5 điểmChú thích tốt 5 điểmvoid InsertionSort(short A[], short N){ __asm { mov bx, ss:A mov cx, ss:N shl cx, 1 mov di, 2 FOR: cmp di, cx jae END_FOR mov ax, [bx][di] mov si, di dec si dec si WHILE: test si, 8000h ; hoac cmp si, 0 js END_WHILE ; jb END_WHILE mov dx, [bx][si] cmp dx, ax jbe END_WHILE mov [bx][si+2], dx dec si dec si jmp WHILE END_WHILE: mov [bx][si+2], ax inc di inc di jmp FOR END_FOR: }}Bài 4 (30 điểm).Viết được đoạn main – 5 điểmCất các thanh ghi – 5 điểmGán địa chỉ của tham số vào ebx – 5 điểmKiểm tra điều kiện kết thúc FOR – 5 điểmĐổi mã ký tự – 5 điểmKhôi phục các thanh ghi – 5 điểm.stack 100.data STR DB 100 DUP(?) ; char STR[100].codeMAIN PROC mov ax, @data mov ds, ax ; gets(STR) mov ah, 10 lea edx, STR int 21h ; toupper(STR) lea eax, STR push eax CALL TOUPPER ; puts(STR) mov ah, 9 lea edx, STR int 21h ; exit to DOS mov ah, 4Ch int 21hMAIN ENDPTOUPPER PROC ; cất các thanh ghi vào stack, gán địa chỉ offset của tham số cho ebx push ebp mov ebp, esp push eax push edi mov ebx, [ebp + 16] ; duyệt xâu ký tự xor edi, ediFOR: mov al, [ebx][edi] ; al chứa mã ký tự đang duyệt ; kiểm tra điều kiện kết thúc vòng for cmp al, 13 je END_FOR ; đổi ký tự thường thành ký tự in hoa cmp al, a jb NO_CHANGE cmp al, z ja NO_CHANGE sub al, 20h mov [ebx][edi], alNO_CHANGE: inc edi ; duyệt ký tự tiếp theo jmp FOREND_FOR: ; khôi phục các thanh ghi pop edi pop eax pop ebpTOUPPER ENDPEND MAIN
Nội dung trích xuất từ tài liệu:
Đáp án môn học Kỹ thuật vi xử lý KHOA ĐIỆN TỬ VIỄN THÔNG BỘ MÔN ĐIỆN TỬ TIN HỌC ------------------------------- MÔN HỌC: KỸ THUẬT VI XỬ LÝ Học kỳ: 2 Năm học: 2009-2010 ĐÁP ÁN BÀI TẬP VỀ NHÀ SỐ 3Bài 1 (20 điểm). Cho trạng thái của một hệ vi xử lý 8086 như sau:Các thanh ghi: AX = 4A86, DX = FF6A, BX = 075C, SI = 0008, DI = 000A, CS = 8BB0,DS = 4636, IP = 0003, FLAGS = 0000.Bộ nhớ:Địa chỉ vật lý: Giá trị 8 ô nhớMục a: 15 điểmMục b: 5 điểm a) CS:0003 02 00 ADD AL, [BX + SI] ; cộng ô nhớ DS:[BX + SI] vào AL CS:0005 72 04 JB Label ; Label = IP + 04h vì CF=1 CS:0009 02 61 04 ADD AH, [BX + DI + 4] ; cộng ô nhớ DS:[BX + DI + 4] vào AH b) AX = 4A19h và FLAGS = 0011hBài 2 (20 điểm).Mục a: 10 điểmMục b: 5 điểmMục c: 5 điểm a) Trước Label3, BX = 0000, CX = 0003, DI = 0000 và các byte từ địa chỉ SS:SP là: 02 00 05 00 06 00 b)Lệnh CX = 3 CX = 2 CX = 1pop ax AX 0002 0005 0006or al, 30h AX 0032 0035 0036mov [bx][di], al STR ‘2’,‘$’,’$’,‘$’,’$’,‘$’ ‘2’,‘5’,’$’,‘$’,’$’,‘$’ ‘2’,‘5’,’6’,‘$’,’$’,‘$’inc di DI 0001 0002 0003 c) 256Bài 3 (30 điểm). Viết lại thân hàm InsertionSort(short A[], short N) cho dưới đây bằngASSEMBLY (cho 8086)Tổ chức được vòng FOR 10 điểmTổ chức được vòng WHILE 10 điểmSo sánh 2 phần tử 5 điểmChú thích tốt 5 điểmvoid InsertionSort(short A[], short N){ __asm { mov bx, ss:A mov cx, ss:N shl cx, 1 mov di, 2 FOR: cmp di, cx jae END_FOR mov ax, [bx][di] mov si, di dec si dec si WHILE: test si, 8000h ; hoac cmp si, 0 js END_WHILE ; jb END_WHILE mov dx, [bx][si] cmp dx, ax jbe END_WHILE mov [bx][si+2], dx dec si dec si jmp WHILE END_WHILE: mov [bx][si+2], ax inc di inc di jmp FOR END_FOR: }}Bài 4 (30 điểm).Viết được đoạn main – 5 điểmCất các thanh ghi – 5 điểmGán địa chỉ của tham số vào ebx – 5 điểmKiểm tra điều kiện kết thúc FOR – 5 điểmĐổi mã ký tự – 5 điểmKhôi phục các thanh ghi – 5 điểm.stack 100.data STR DB 100 DUP(?) ; char STR[100].codeMAIN PROC mov ax, @data mov ds, ax ; gets(STR) mov ah, 10 lea edx, STR int 21h ; toupper(STR) lea eax, STR push eax CALL TOUPPER ; puts(STR) mov ah, 9 lea edx, STR int 21h ; exit to DOS mov ah, 4Ch int 21hMAIN ENDPTOUPPER PROC ; cất các thanh ghi vào stack, gán địa chỉ offset của tham số cho ebx push ebp mov ebp, esp push eax push edi mov ebx, [ebp + 16] ; duyệt xâu ký tự xor edi, ediFOR: mov al, [ebx][edi] ; al chứa mã ký tự đang duyệt ; kiểm tra điều kiện kết thúc vòng for cmp al, 13 je END_FOR ; đổi ký tự thường thành ký tự in hoa cmp al, a jb NO_CHANGE cmp al, z ja NO_CHANGE sub al, 20h mov [ebx][edi], alNO_CHANGE: inc edi ; duyệt ký tự tiếp theo jmp FOREND_FOR: ; khôi phục các thanh ghi pop edi pop eax pop ebpTOUPPER ENDPEND MAIN
Tìm kiếm theo từ khóa liên quan:
giáo dục đào tạo cao đẳng đại học điện tử viễn thông điện tử tin học Đáp án môn học Kỹ thuật vGợi ý tài liệu liên quan:
-
Đề cương chi tiết học phần Trí tuệ nhân tạo
12 trang 419 0 0 -
Đề cương chi tiết học phần Vi xử lý
12 trang 284 0 0 -
Đồ án: Kỹ thuật xử lý ảnh sử dụng biến đổi Wavelet
41 trang 214 0 0 -
79 trang 211 0 0
-
BÀI THUYẾT TRÌNH CÔNG TY CỔ PHẦN
11 trang 193 0 0 -
91 trang 185 0 0
-
CHẨN ĐOÁN XQUANG GAN VÀ ĐƯỜNG MẬT
11 trang 172 0 0 -
Giáo trình Nguyên tắc phương pháp thẩm định giá (phần 1)
9 trang 164 0 0 -
32 trang 161 0 0
-
Tìm hiểu chương trình đào tạo ngành Điện tử - Viễn thông hệ đại học: Phần 2
174 trang 155 0 0