Tài liệu Kỹ thuật lập trình nhúng - Phần 2: Lập trình hợp ngữ trên Vi xử lý 80x86 - Pdf 93

Advanced Topics in Software Engineering
Spring 2006
0361- Kỹ thuật lập trình nhúng
Lập trình hợp ngữ trên
Vi xử lý 80x86
Phạm Quốc Thịnh
Department of Electronics & Telecommunications
1
Nội dung

Cơ bản về hợp ngữ

Trạng thái của vi xử lý và các thanh ghi cờ

Các lệnh điều khiển(lập và rẽ nhánh)

Các lệnh logic, dịch và quay

Ngăn xếp và thủ tục

Các lệnh nhân và chia

Mảng và các chế độ định địa chỉ
2
Nội dung

Cơ bản về hợp ngữ

Trạng thái của vi xử lý và các thanh ghi cờ

Các lệnh điều khiển(lập và rẽ nhánh)

Tập tin hợp ngữ nguồn (.ASM)

Các phát biểu lệnh hợp ngữ (assembly statement)

Assembly Language Instruction
»
Xác định hành động CPU thực hiện
»
Dịch sang một lệnh mã máy tương ứng

Assembler directive
»
Khai báo hướng dẫn biên dịch
Tổng quan (2)
6

Các thành phần

Bộ ký tự:

26 chữ cái thường và hoa a-z, A-Z

10 kí tự số 0-9

Các kí tự dấu:

? @ _ $ : . [ ] ( ) < > { } + - * / & % ! ‘ ~ “ | \ = # ^ ; ,

Kí tự ngăn cách



Giữa hai dấu ngoặc đơn hoặc kép

Mã ASCII  ‘A’ == 41h
Tổng quan (3)

Biến byte, biến từ: chỉ dẫn của asm định
nghĩa biến byte có dạng sau:
Name DB initial_value
Name DW initial_value
Ví dụ: ALPHA1 DB 4;
ALPHA2 DW -2;
8
Tổng quan (4)
Các toán hạng giả dùng để định nghĩa các loại số liệu

Mảng (Arrays): trong ASM mảng là một loạt
các byte nhớ hoặc từ nhớ liên tiếp nhau

Ví dụ:

Nếu asm gán địa chỉ offset 0200h cho mảng
B_ARRAY thì nội dung bộ nhớ sẽ như sau
9
Tổng quan (5)

Chuỗi các ký tự (character strings)

Bên trong một chuỗi asm phân biệt chữ hoa
chữ thường

Trường toán tử: Chứa ký hiệu của mã phép toán. Ví dụ: ADD,
INC, DEC, INT…
o
Trường toán hạng: chỉ ra số liệu tham gia trong lệnh đó
Trong các lệnh 2 toán hạng: toán hạng đầu là toán hạng
đích, toán hạng thứ hai là toán hạng nguồn(không thay đổi khi
thực hiện lệnh)
Cú pháp lệnh hợp ngữ (3)
14

Name: Operation Operand(s) ;Comment
[Nhãn] Toán tử Toán hạng(s) ; Ghi chú
o
Trường chú thích (ghi chú): lập trình viên thường chú thích để
thuyết minh về câu lệnh. Người ta dùng dấu ; để bắt đầu chú
thích
Các lệnh cơ bản

Lệnh MOV

Lệnh XCHG
15
16
Các lệnh cơ bản (2)
17
Các lệnh cơ bản (3)

Lệnh NEG: lấy bù 2 của một của một thanh
ghi hoặc vị trí nhớ


giữ cho stack

Cú pháp:
.STACK size
;Nếu không khai báo size thì 1KB dành cho
stack

Ví dụ:
21
Cấu trúc của một chương trình hợp ngữ (4)

Đoạn mã: Chứa các lệnh của chương trình

Cú pháp:

Bên trong đoạn mã các lệnh được tổ chức
thành các thủ tục
.CODE
22
23
Cấu trúc của một chương trình hợp ngữ (5)
Các lệnh vào ra

Lệnh INT (Interrupt)

Để gọi các chương trình con của BIOS
và DOS ta dùng cú pháp sau:
INT interruppt_number

INT 21h: tùy theo giá trị đặt vào AH


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

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