
Tài liệu thự c hành Vi xửlý
Vũ Đứ c Hòa
Trang 1
BÀI 1: PHẦN MỀM MÔ PHỎ NG 8086
MICROPROCESSOR EMULATOR (EMU8086)
MỤCĐÍCH
Giúp sinh viên khảo sát các vấnđề sau:
Sửdụng phần mềm Emu8086 để mô phỏng hoạtđộ ng của vi xửlý 8086.
THIẾT BỊSỬDỤNG
Máy vi tính.
Phần mềm Emu8086
1. Giớ i thiệ u.
Phần mềm Emu8086 là phần mềm cho phép mô phỏng hoạtđộ ng củ a vi
xửlý 8086 bao gồm các câu lệnh cơbản của 8086, xửlý ngắt mềm, giao tiếp vớ i
thiết bịngoại vi, …
Khởiđộ ng chư ơ ng trình
Start > All Program > emu8086 > emu8086

Tài liệu thự c hành Vi xửlý
Vũ Đứ c Hòa
Trang 2
Cửa sổchư ơ ng trình sau khi khở i độ ng:
Thanh công cụchuẩnVùng không gian soạn thảo
chư ơ ng trình
Sửdụng thanh công cụchuẩn:
New: tạo file mớ i Save: lưu trữfile
Emulate: biên dịch
và thự c hiện mô
Open: mởfile có
sẵ n
Compile: biên
dị ch file
phỏng
Các thao tác trên thanh công cụchuẩn cũng có thểthực hiện thông qua
menu File và menu Emulator.
Tạ o và thực thi chư ơ ng trình:
- NhấnNew trên thanh công cụsẽxuất hiện cửa sổchọ n loại file:

Tài liệu thự c hành Vi xửlý
Vũ Đứ c Hòa
Trang 3
Nhấn Cancel để bỏqua, cửa sổsoạn thảo của chư ơ ng trình sẽxuất hiện.
- Soạn chư ơ ng trình hợp ngữvà nhấn vào nút Emulate để biên dịch và
mô phỏng chư ơ ng trình.
Sau khi biên dịch thành công (không có lỗ i trong chư ơ ng trình), Emu8086
sẽmởthêm 2 cửa sổ : cửa sổchư ơ ng trình gốc và cửa sổmô phỏ ng.
Chư ơ ng trình gố c:

Tài liệu thự c hành Vi xửlý
Vũ Đứ c Hòa
Trang 4
Cửa sổmô phỏ ng:
Nhấn Run để
thự c thi
- Nếu chư ơ ng trình có lỗ i, cửa sổthông báo lỗ i sẽxuất hiện:
Dòng lỗ i Lỗ i tạ i dòng 11

Tài liệu thự c hành Vi xửlý
Vũ Đứ c Hòa
Trang 5
Nhấn Close để quay lại cửa sổsoạn thảo.
Cấ u trúc chư ơ ng trình 8086:
.model small
.stack 100h
.data
;Khai bao du lieu
.code
main proc
mov ax,@data
mov ds,ax
;Chuong trinh hop ngu
mov ah,4Ch
int 21h
main endp
;----- Cac chuong trinh con ---
Ctc1 proc
; Ma lenh cua chuong trinh con
ret
Ctc1 endp
;-----------
End
2. Cơ sởlý
thuyế t
2.1. Ngắt 21h
Hàm 01h: nhậ p một ký tựtừbàn phím và hiệ n ký tựnhậ p ra màn hình. Nế u
không có ký tựnhậ p, hàm 01h sẽ đợ i cho đế n khi nhập.
- Gọ i: AH = 01h
- Trảvề : AL chứa mã ASCII củ a ký tựnhập
MOV
AH,01h
INT
21h
; AL chứa mã ASCII
c
ủ
a
ký tự
nh
ậ
p
Hàm 02h: xuấ t một ký tựtrong thanh ghi DL ra màn hình tại vịtrí con trỏ
hiệ n hành
- Gọ i AH = 02h, DL = mã ASCII củ a ký tự
- Trảvề : không có
MOV AH,02h
MOV DL,'A'