Ôn tập Vi Xử Lý - pdf 17

Download miễn phí Ôn tập Vi Xử Lý



Phần 1: Xác định các chế độ định vị của các câu lệnh
1. Xác định kiểu định vị nguồn và đích trong các lệnh sau:
a. MOV AX,BX ; b. MOV AH,7 ; c. MOV [DI],AL ; d. MOV AX,[BP] ; e. MOV AL,[SI+6]
Gỉai:
a. MOV AX,BX ; định vị thanh ghi
b. MOV AH,7 ; định vị lấy ngay
c. MOV [DI],AL ; định vị gián tiếp thanh ghi
d. MOV AX,[BP] ; định vị gián tiếp thanh ghi
e. MOV AL,[SI+6] ; định vị chỉ số
 
2. Gỉa sử AX = 0500h ; BX = 1000h ; SI = 1500h ; DI = 2000h ; [DS] = 0100h ; [DS] = 0150h ; [DS] = 0200h ; [DS] = 0250h ; [DS] = 0300h và BETA là biến từ nằm ở địa chỉ ô 1000h. Trong các lệnh sau đây, nếu hợp lệ (nếu không hợp lệ, giải thích tại sao), hãy cho biết địa chỉ ô của các tác tố nguồn hay thanh ghi và kết quả lưu trong tác tố đích.
a. MOV DL,SI ; b. MOV DI,[DI] ; c. ADD AX,[SI] ; d. SUB BX,[DI] ; e. LEA BX,BETA[BX] ; f. ADD [SI],[DI] ; g. ADD BH,[BL] ; h. ADD AH,[SI] ; i. MOV AX,[BX+DI+BETA]
Gỉai:
a. MOV DL,SI ; DL <- 1500h
b. MOV DI,[DI] ; DI <- 0200h
c. ADD AX,[SI] ; AX <- 0650h
d. SUB BX,[DI] ; BX <- 0800h
e. LEA BX,BETA[BX] ; BX <- 0100h
f. ADD [SI],[DI] ; không hợp lệ (vì 2 tác tố đều là vùng nhớ)
g. ADD BH,[BL] ; BH <- 10h
h. ADD AH,[SI] ; AH <- 0155h
i. MOV AX,[BX+DI+BETA] ; AX <- 3100h
 
 



Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:

(-32768) NEG AX ; AX <- (-32768) MOV DL,-128 ; DL <- (-128) NEG DL ; DL <- (-128) 4.6. Lệnh INT 21h - Lệnh này là một trình con của hệ điều hành. Trình con này có nhiều chức năng khác nhau tuỳ theo trị của thanh ghi AH. Sau đây là một số chức năng (hàm) thông dụng.
AH = 1 : ngắt 21h thực hiện nhập một ký tự từ bàn phím, mã ASCII ký tự nhận được (hay 0 nếu là phím điều khiển) chứa trong AL. Nếu ký tự thông thường được gõ vào thì sẽ hiển thị trên màn hình. Lệnh viết như sau: MOV AH,1 ; chọn chức năng 1 INT 21h ; chờ người sử dụng nhập vào 1 ký tự và lưu vào AL
AH = 2 : ngắt 21h thực hiện xuất ký tự chứa trong thanh ghi DL ra màn hình MOV AH,2 ; chọn chức năng 2 MOV DL,'A' ; chọn ký tự hiển thị là A INT 21h ; hiển thị ký tự
AH = 9 : ngắt 21h thực hiện xuất chuỗi ký tự có địa chỉ ô chứa trong thanh ghi DX (và địa chỉ đoạn chứa trong DS) ra màn hình. Chú ý chuỗi ký tự phải kết thúc bằng ký tự $ .Data MSG DB "Chuoi can hien thi$" .Code ; Dua dia chi doan du lieu vao DS MOV AX,@Data MOV DS,AX ; Hien thi cau chao MOV AH,9 LEA DX,AX INT 21h
AH = 4Ch : ngắt 21h thực hiện việc kết thúc chương trình và trả điều khiển về cho hệ điều hành. Lệnh viết như sau: MOV AH,4Ch ; chon chuc nang 4Ch INT 21h ; ket thuc chuong trinh
4.6. Lệnh INT 10h Lệnh này dùng để xoá màn hình MOV AX,3 INT 10h
Bài tập Phần 1
- Bài tập của phần này gồm có 2 phần:
Lý thuyết
Bài tập
I. Lý thuyết 1. Tính địa chỉ tuyệt đối tương ứng với địa chỉ tương đối A51h:CD90h Gỉai: - Địa chỉ tương đối có dạng: : - Muốn đổi từ địa chỉ tương đối sang địa chỉ tuyệt đối thì ta áp dụng công thức: Địa chỉ tuyệt đối = địa chỉ đoạn * F + địa chỉ ô Vậy địa chỉ tuyệt đối = A51h * 16 + CD90h = A510h + CD90h = 172A0h 2. Tính địa chỉ tương đối tương ứng với địa chỉ tương đối A25h:CD09h Gỉai: tương tự cách tính trên. 3. Với địa chỉ tuyệt đối 4A37Bh, hãy tính: a. Địa chỉ ô tương ứng với đoạn 40FFh b. Địa chỉ đoạn tương ứng với ô 123Bh Gỉai: Cũng áp dụng công thức trên a. địa chỉ ô = địa chỉ tuyệt đối - địa chỉ đoạn * 16 = 4A37Bh - 40FFh * 16 = 938Bh b. địa chỉ đoạn = (địa chỉ tuyệt đối - địa chỉ ô) / 16 = (4A37Bh - 123Bh) / 16 = 4914h 4. Gỉa sử các byte ở địa chỉ từ 0 đến 4 có trị (thập lục) là AB, CD, EF, 01, 23. Hãy cho biết trị của từ ở địa chỉ 2 Gỉai: Ta có hình ảnh sau: Như vậy ta kết luận ở địa chỉ 2 ta có nội dung là EF 5. Gỉa sử chuỗi "12A45" được lưu trữ trong bộ nhớ từ địa chỉ 0 đến 4. Hãy cho biết nội dung của vùng nhớ (dạng thập lục) từ địa chỉ 0 đến 4 Gỉai: tương tự như câu 4: 05h, 04h, 0Ah, 02h, 01h 6. Viết lệnh định nghĩa từ WORDV có trị -1 Gỉai: WORDV DB FFd 7. Viết lệnh định nghĩa hằng MSG có trị là 'DAY LÀ THONG BAO' Gỉai: MSG EQU 'DAY LA THONG BAO' 8. Viết nhóm lệnh tương đương với các lệnh gán như sau: a. B = B - A - 1 b. A = B c. A = 10 - A d. A = B - A * 2 e. C = 2 * B - 3 * A Gỉai:
a. B = B - A - 1 MOV AX,A ; AX <- A DEC AX ; AX <- A - 1 SUB B,AX ; B <- B - A - 1
b. A = B MOV AX,B ; AX <- B MOV A,AX ; A <- B
c. A = 10 - A NEG A ; A <- (-A) ADD A,10 ; A <- (-A) + 10
d. A = B - A * 2 MOV AX,A ; AX <- A NEG AX ; AX <- (-A) SUB AX,AX ; AX <- (-A) - A ADD AX,B ; AX <- (-2A) + B MOV A,AX ; A <- (-2A) + B
e. C = 2 * B - 3 * A MOV AX,B ; AX <- B ADD AX,AX ; AX <- B + B MOV C,AX ; C <- 2B MOV AX,A ; AX <- A ADD AX,AX ; AX <- A + A ADD AX,AX ; AX <- 2A + A NEG AX ; AX <- (-3A) ADD C,AX ; C <- 2B + (-3A)
II. Thực hành 1. Viết chương trình hiển thị câu chào sau trên màn hình: Cha`o ba.n! Gỉai:
Code:
;================================================================================= ; Noi dung: Viet chuong trinh hien thi cau chao sau len man hinh: Cha`o ba.n! ; Ten file: bt01.asm ; Ngay tao: 17/03/2009 - 00:15 ;================================================================================= .model small .stack 100h .data    ; Khai bao cac bien tai day    CR EQU 13    LF EQU 10    Mess db 'Cha`o ba.n!',CR,LF,'$' .code main proc    ; Dua du lieu vao thanh ghi DS    mov ax,@data    mov ds,ax    ; Hien thi Mess    mov ah,9    lea dx,Mess    int 21h    ; Exit to DOS    mov ah,4ch    int 21h main endp end main
2. Viết chương trình hiển thị 3 câu chào sau trên màn hình: Hello, world! Hello, solar system! Hello, universe! Gỉai:
Code:
;================================================================================= ; Noi dung: Viết chương trình hiển thị 3 câu chào sau trên màn hình: ;              Hello, world! ;              Hello, solar system! ;              Hello, universe! ; Ten file: bt02.asm ; Ngay tao: 17/03/2009 - 00:25 ;================================================================================= .model small .stack 100h .data    ; Khai bao cac bien tai day    CR EQU 13    LF EQU 10    Mess db CR,LF,'Hello, world!'               db CR,LF,'Hello, solar system!'               db CR,LF,'Hello, universe!$' .code main proc    ; Dua du lieu vao thanh ghi DS    mov ax,@data    mov ds,ax    ; Hien thi Mess    mov ah,9    lea dx,Mess    int 21h    ; Exit to DOS    mov ah,4ch    int 21h main endp end main
3. Viết chương trình nhập một ký tự và hiển thị ở dòng kế tiếp. Kết quả có dạng: Hay nhap mot ky tu: A Ky tu da nhap : A
Code:
;=================================================================================== ; Noi dung: Viet chuong trinh nhap vao mot ky tu va hien thi lai o dong tiep theo. Ket qua co dang: ;      Hay nhap mot ky tu: A ;      Ky tu da nhap    : A ; Ten file: bt03.asm ; Ngay tao: 17/03/2009 - 00:31 ; Huong dan: ;   1. Khai bao du lieu: ;      TBao1 db 13,10,'Hay nhap mot ky tu: $' ;      Tbao2 db 13,10,'Ky tu da nhap        : $' ;   2. Thuat giai: ;      - Hien thi TBao1 ;      - Nhap mot ky tu ;      - Dua gia tri vao thanh ghi bl ;      - Hien thi TBao2 ;      - Hien thi KyTu ;=================================================================================== .model small .stack 100h .data    ; Khai bao cac bien tai day    CR EQU 13    LF EQU 10    TBao1 db CR,LF,'Hay nhap mot ky tu: $'    TBao2 db CR,LF,'Ky tu da nhap    : $' .code main proc    ; Dua du lieu vao thanh ghi DS    mov ax,@data    mov ds,ax    ; Hien thi TBao1    mov ah,9    lea dx,TBao1    int 21h    ; Nhap vao mot ky tu    mov ah,1    int 21h    ; Dua ky tu vao thanh ghi bl    mov bl,al    ; Hien thi TBao2    mov ah,9    lea dx,TBao2    int 21h    ; Hien thi KyTu    mov ah,2    mov dl,bl    int 21h    ; Exit to DOS    mov ah,4ch    int 21h main endp end main
4. Viết chương trình nhập một ký tự và hiển thị ký tự đứng trước, đứng sau theo thứ tự mã ASCII. Kết quả có dạng: Hay nhap mot ky tu: B Ky tu dung truoc : A Ky tu dung sau : C Gỉai
Code:
;=================================================================================== ; Noi dung: Viet chuong trinh nhap vao mot ky tu va hien thi ky tu dung truoc, ; dung sau theo thu tu ma ASCII. Ket qua co dang: ;   Hay nhap mot ky tu: B ;   Ky tu dung truoc  : A ;      Ky tu dung sau    : C ; Ten file: bt04.asm ; Ngay tao: 17/03/2009 - 08:37 ; Huong dan: ;   1. Khai bao du lieu: ;      TBao1 db 13,10,'Hay nhap mot ky tu: $' ;      Tbao2 db 13,10,'Ky tu dung truoc  : $' ;      TBao3 db 13,10,'Ky tu dung sau    : $' ;   2. Thuat giai: ;      - Hien thi TBao1 ;      - Nhap mot ky tu ;      - Dua gia tri vao thanh ghi bl ;      - Hien thi TBao2 ;      - Giam 1 gia tri ;      - Hien thi TBao3 ;      - Tang 2 gia tri ;=================================================================================== .model small .stack 100h .data    ; Khai bao cac bien tai day    CR EQU 13    LF EQU 10    TBao1 db CR,LF,'Hay nhap mot ky tu: $'    TBao2 db CR,LF,'Ky tu dung truoc  : $'    TBao3 db CR,LF,'Ky tu dung sau    : $' .code main proc    ; Dua du lieu vao thanh ghi DS    mov ax,@data    mov ds,ax    ; Hien thi TBao1    mov ah,9    lea dx...
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status