LẬP TRÌNH HỢP NGỮ
Intel 8086
Nguyễn Duy Phúc
duyphucit@live.com
Vĩnh Long, 08/2013
Khái niệm
Ngôn ngữ máy (ML - Machine Language)
CPU trực tiếp “hiểu” và thực thi được
Dạng nhị phân
Hợp ngữ (Assembly Language)
Thay thế lệnh hợp ngữ dạng nhị phân bằng từ tiếng
Anh
Ngôn ngữ cấp cao (High Level Language)
Gần gũi với con người
ASM và HLL phải dịch về ML để thực hiện
Tương đương logic giữa các ngôn ngữ
HLL ASM
ASM
ASM
ML
ML
ML
Tại sao phải lập trình hợp ngữ?
Chương trình nhanh, nhỏ gọn
Khai thác trực tiếp thiết bị
Làm việc ở cấp độ thấp
Thiết kế máy tính
Viết trình dịch (compiler), trình điều khiển thiết bị
(driver)
Reverse Engineering
Lập trình hệ thống nhúng (embedded system)
Tài nguyên hạn chế
Tối ưu phần mềm
Viết và chạy chương trình hợp ngữ
Chương trình
nguồn hợp ngữ
(plain text, .asm)
Hợp dịch Chương trình ngôn
ngữ máy
(nhị phân)
Text editor, IDE
Turbo Assembler,
Microsoft Assembler,
Netwide Assembler,…
.EXE, .COM, …