Bài thực hành Kỹ thuật vi xử lý
Bài 3: Hiển thị một chuỗi ra đầu ra chuẩn (Màn hình)
Các lệnh cần sử dụng:
Lệnh MOV
Ngắt 21h với chức năng 9
Đầu bài:
Hiển thị một chuỗi ký tự ra màn hình (Ví dụ: “Xin chao cac ban”)
.model small
.stack 100h
.data
;Khai bao du lieu: bien, hang so, .
Thong_bao DB 'Xin chao cac ban',13,10,'Moi nhan phim bat ky de tiep tuc!$'
.code
MAIN PROC
;Khoi tao dia chi doan du lieu
MOV AX,@DATA
MOV DS,AX
;Hien thong bao
MOV AH,9
LEA DX,Thong_bao ; Lay ve dia chi cua chuoi Thong_bao
INT 21h ; Hien thong bao HelloWorld
MOV AH,1
INT 21h ; Cho nguoi dung bam phim bat ky
;Tro ve DOS
MOV AH,4Ch
INT 21h
MAIN ENDP
END MAIN
11 trang |
Chia sẻ: dntpro1256 | Lượt xem: 962 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Bài thực hành Kỹ thuật vi xử lý, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Bài thực hành Kỹ thuật vi xử lý
Bài mở đầu
Mục tiêu:
Sau khi kết thúc bài thực hành này, sinh viên có thể:
Sử dụng công cụ 8086 Emulator để lập trình hợp ngữ
và gỡ lỗi (debug).
Làm các ví dụ sử dụng ngắt 21h của DOS(đọc ký tự từ
bàn phím, xuất ký tự ra màn hình, xuất chuỗi ký tự ra
màn hình)
Nội dung bài giảng (Chương 3)
Hướng dẫn cách cài đặt và sử dụng phần mềm 8086
Emulator
Trình bày cấu trúc chung của một chương trình hợp ngữ
và các lệnh cơ bản để viết chương trình đầu tiên (MOV,
INT, LEA)
1. 8086 Emulator: cách cài đặt và hướng dẫn sử
dụng
1.1. Cách cài đặt
Bước 1: Chạy file Setup.exe trong thư mục cài đặt. Nhấn Next để tiếp tục
Hình 1. Màn hình bắt đầu quá trình cài đặt
Bài thực hành Kỹ thuật vi xử lý
Bước 2: Trình cài đặt hiện một số thông tin chú ý, nhấn nút Next để bỏ
qua
Hình 2. Thông tin chú ý trong quá trình cài đặt
Bước 3: Chọn đường dẫn đến thư mục cài đặt, mặc định là C:\emu8086.
Nhấn Next để tiếp tục
Hình 3. Hướng dẫn chọn thư mục cài đặt
Bài thực hành Kỹ thuật vi xử lý
Bước 4: Thông báo tạo shortcut cho chương trình, nhấn Next để tiếp tục
Hình 4. Thông báo tạo shortcut
Bước 5: Sau khi trình cài đặt thu thập đủ thông tin, nó hiện thông báo sẵn
sàng cho việc cài đặt và tổng hợp các thông tin đã thu thập được trong
các bước trước. Nhấn nút Install để tiến hành cài đặt chương trình.
Hình 5. Thông báo sẵn sàng quá trình cài đặt
Bài thực hành Kỹ thuật vi xử lý
Bước 6: Chờ cho quá trình cài đặt được thực thi
Hình 6. Tiến trình cài đặt đang được thực thi
Bước 7: Quá trình cài đặt thành công, nhấn nút Finish để kết thúc
Hình 7. Quá trình cài đặt thành công
Bài thực hành Kỹ thuật vi xử lý
Bước 8: Chạy chương trình emu8086 (trên Desktop), giao diện cho lần
đầu đăng nhập sẽ hiện ra yêu cầu chúng ta nhập mã đăng ký. Nhấn nút
phía dưới (Please Enter the Registration Key) để đăng ký
Hình 8. Cửa sổ khi chạy chương trình lần đầu
Bước 9: Nhập thông tin đăng ký (có trong file cd key(8086).txt trong thư
mục cài đặt) và nhấn nút OK để kết thúc quá trình đăng ký.
Hình 9. Cửa sổ nhập thông tin đăng ký sử dụng
1.2. Hướng dẫn sử dụng phần mềm 8086 Emulator
Dưới đây (Hình 10) là giao diện làm việc chính của chương trình 8086
Emulator. Chương trình cho phép chúng ta thực hiện các chức năng chính
sau
Soạn thảo mã hợp ngữ trên màn hình soạn thảo, dịch ra file .exe
hoặc file .com và chạy mô phỏng, debug trực tiếp.
Trao cứu tập lệnh của bộ vi xử lý 8086 (Help>8086 Instruction
Set)
Tra cứu bảng mã ASCII (Mục ascii codes trên menu)
Thực hiện các phép toán và chuyển đổi giữa các hệ cơ số thông
dụng (nhị phân, thập phân, thập lục phân) (Mục math trên menu)
Bài thực hành Kỹ thuật vi xử lý
Hình 10. Giao diện chính của chương trình 8086 Emulator
Ngoài ra chương trình có phần trợ giúp rất hữu ích (Mục help trên menu).
Người dùng có thể tìm hiểu cách sử dụng chương trình, tra cứu tập lệnh
của vi xử lý 8086 và các ngắt cơ bản cũng như các ví dụ sử dụng các lệnh
này.
Hình 11. Giao diện trợ giúp của chương trình
Bài thực hành Kỹ thuật vi xử lý
1.3. Giới thiệu giao diện gỡ lỗi (debug)
Hình 12. Giao diện chạy chương trình và gỡ lỗi
Giao diện chạy và gỡ lỗi sẽ hiện ra khi chúng ta nhấn nút Emulate trên
thanh công cụ của chương trình. Với giao diện debug này, chúng ta có thể
chạy cả chương trình hay chạy ở chế độ từng lệnh để dò lỗi. Chương trình
cung cấp giao diện trực quan cho phép người lập trình:
Theo dõi trực tiếp mã lệnh, địa chỉ và nội dung của các lệnh cũng như
dữ liệu trong bộ nhớ
Quan sát trực tiếp sự thay đổi của các thanh ghi, các biến, dữ liệu
trong ngăn xếp và các cờ trong thanh ghi cờ.
Bài thực hành Kỹ thuật vi xử lý
2. Lập trình hợp ngữ trên 8086
2.1. Cấu trúc chung một chương trình hợp ngữ
Hình 13. Cấu trúc chung của một chương trình hợp ngữ
(Xem thêm trong slide bài giảng – Chương 3)
Một chương trình hợp ngữ có cấu trúc cơ bản như nội dung trong hình 12
bao gồm các phần
.model small: Khai báo kích thước chương trình để phân bố các đoạn
bộ nhớ
.stack 100h : Khai báo kích thước ngăn xếp (ví dụ ở đây là 256 bytes)
.data : Khai báo bắt đầu đoạn dữ liệu. Tại đây, người lập trình
sẽ hiển thực hiện khai báo dữ liệu như các biến, hàng số
.code : Khai báo bắt đầu đoạn mã. Trong phần này người lập
trình viết code thực thi chương trình của mình.
Trong khung chương trình ở trên, chúng ta chỉ có một chương trình chính
được định nghĩa bởi hai từ khóa (MAIN PROC và MAIN ENDP).
Chỉ dẫn END MAIN để kết thúc đoạn mã.
Trong khung chương trình còn có hai đoạn mã nhỏ để thực hiện việc khởi
tạo đoạn dữ liệu và trở về DOS sau khi thực hiện chương trình.
2.2. Chương trình HelloWorld
Cũng như khi chúng ta học các ngôn ngữ lập trình khác, bao giờ chúng ta
cũng viết một chương trình đầu tay với mục đích:
Bài thực hành Kỹ thuật vi xử lý
Kiểm tra cấu trúc chương trình
Kiểm tra trình biên dịch
Chương trình HelloWorld trong trường hợp này chỉ có chức năng hiển thị
một thông báo HelloWorld và chờ người dùng nhấn phím bất kỳ để tiếp
tục.
Hình 14. Chương trình HelloWorld
Hình 15. Kết quả khi chạy chương trình HelloWorld
Bài thực hành Kỹ thuật vi xử lý
2.3. Lập trình vào ra chuẩn
Chú ý: Kiểm tra chạy chương trình (ở cả chế độ chạy và
debug) và quan sát sự thay đổi giá trị các thanh ghi, các biến
Bài 1: Đọc một ký tự từ đầu vào chuẩn (Bàn phím)
Các lệnh cần sử dụng:
Lệnh MOV
Ngắt 21h với chức năng 1
Đầu bài:
Lập trình đọc một ký tự từ bàn phím, lưu mã của ký tự đó vào một
biến kiểu byte (VD: Ky_tu)
.model small
.stack 100h
.data
;Khai bao du lieu: bien, hang so, ...
Ky_tu DB ?
.code
MAIN PROC
;Khoi tao dia chi doan du lieu
MOV AX,@DATA
MOV DS,AX
;Doc ky tu tu ban phim
MOV AH,1
INT 21h
;Luu ky tu do vao bien Ky_tu
MOV Ky_tu,AL
;Tro ve DOS
MOV AH,4Ch
INT 21h
MAIN ENDP
END MAIN
Bài 2: Hiển thị một ký tự ra đầu ra chuẩn (Màn hình)
Các lệnh cần sử dụng:
Lệnh MOV
Ngắt 21h với chức năng 2
Đầu bài:
Lập trình xuất một ký tự ra màn hình (Ví dụ: chữ $)
.model small
.stack 100h
.data
;Khai bao du lieu: bien, hang so, ...
Bài thực hành Kỹ thuật vi xử lý
.code
MAIN PROC
;Khoi tao dia chi doan du lieu
MOV AX,@DATA
MOV DS,AX
;Hien ky tu $
MOV AH,2
MOV DL,'$'
INT 21h
;Tro ve DOS
MOV AH,4Ch
INT 21h
MAIN ENDP
END MAIN
Bài 3: Hiển thị một chuỗi ra đầu ra chuẩn (Màn hình)
Các lệnh cần sử dụng:
Lệnh MOV
Ngắt 21h với chức năng 9
Đầu bài:
Hiển thị một chuỗi ký tự ra màn hình (Ví dụ: “Xin chao cac ban”)
.model small
.stack 100h
.data
;Khai bao du lieu: bien, hang so, ...
Thong_bao DB 'Xin chao cac ban',13,10,'Moi nhan phim bat ky de tiep tuc!$'
.code
MAIN PROC
;Khoi tao dia chi doan du lieu
MOV AX,@DATA
MOV DS,AX
;Hien thong bao
MOV AH,9
LEA DX,Thong_bao ; Lay ve dia chi cua chuoi Thong_bao
INT 21h ; Hien thong bao HelloWorld
MOV AH,1
INT 21h ; Cho nguoi dung bam phim bat ky
;Tro ve DOS
MOV AH,4Ch
INT 21h
MAIN ENDP
END MAIN
Các file đính kèm theo tài liệu này:
- bai_thuc_hanh_mo_dau_559_1808121.pdf