Bài giảng Hợp ngữ - Nguyễn Minh Tuấn
Bạn đang xem tài liệu "Bài giảng Hợp ngữ - Nguyễn Minh Tuấn", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_hop_ngu_nguyen_minh_tuan.pdf
Nội dung text: Bài giảng Hợp ngữ - Nguyễn Minh Tuấn
- HHỢỢPP NGNGỮỮ Nguyễn Minh Tuấn
- TTààii LiLiệệuu ThamTham KhKhảảoo 1. Peter Norton's Assembly Language Book for The IBM PC Peter Norton's & Johns Socha - Prentice Hall Press - 1986 2. Programmer's Guide to The IBM PC Peter Norton - Microsoft Press 3. Turbo Assembler Bible Gary Syck - SAMS – 1991 4. Assembly Programming Language & IBM / PC Ythayu & Charles Marut 5. The Pentium Microprocessor James L.Antonakos – Prentice-Hall, Inc. - 1997 NMT - HN - V3.10 - Ch1 - Ns45 - 27.10.03 2
- HHỢỢPP NGNGỮỮ 1. Đại Cương về Hợp Ngữ 2. Kiểu Định Vị và Cờ 3. Lệnh Nhảy và Lặp 4. Ngăn Xếp và Thủ Tục 5. Nhập Xuất Số Hệ 2/16 6. Nhập Xuất Số Hệ 10 7. Lệnh Chuỗi 8. Bàn Phím và Màn Hình NMT - HN - V3.10 - Ch1 - Ns45 - 27.10.03 3
- 1.1. ĐĐạạii CCươươngng vvềề HHợợpp NgNgữữ 1.1. Tổ Chức Bộ Nhớ CPU Intel 80x86 1.2. Tổ ChứcThanh Ghi 1.3. Máy Ngữ & Hợp Ngữ 1.4. Cấu Trúc Chương Trình Hợp Ngữ 1.5. Một Số Lệnh Đơn Giản 1.6. Tạo Chương Trình Hợp Ngữ NMT - HN - V3.10 - Ch1 - Ns45 - 27.10.03 4
- 1.1.1.1. TTổổChChứứcBcBộộ NhNhớớ CPUCPU IntelIntel z Đơn vị nhớ: Byte. z CPU Số bit Dung lượng nhớ địa chỉ – 8086/8088 20 bit 1 MB – 80286 24 bit 16 MB – 80386 → 32 bit 4096 MB (4 GB) z Chế độ hoạt động: Mặc nhiên –Thực: bộ nhớ→1 MB (8086/88→ ) –Bảo vệ: bộ nhớ→16MB (286), 4GB (386 →) NMT - HN - V3.10 - Ch1 - Ns45 - 27.10.03 5
- 1.1.1.1. TTổổChChứứcBcBộộNhNhớớ CPUCPU IntelIntel (tt)(tt) z 1134:1023 → tuyệt đối: 1134 → 11340 1023 → 01023 12363 z 4A37B → – Địa chỉ ô tương ứng với đoạn 40FF: 4A37B - 40FF0 0938B →địa chỉ ô = 938B – Địa chỉ đoạn tương ứng với ô 123B: 4A37B -0 123B 4 9140 →địa chỉ đoạn = 4914 NMT - HN - V3.10 - Ch1 - Ns45 - 27.10.03 6
- 1.2.1.2. TTổổ ChChứứcc ThanhThanh GhiGhi z Gồm 4 nhóm: – Thanh ghi đoạn – Thanh ghi đa dụng – Thanh ghi con trỏ và chỉ số – Thanh ghi cờ và con trỏ lệnh. NMT - HN - V3.10 - Ch1 - Ns45 - 27.10.03 7
- 1.3.1.3. MMááyy NgNgữữ && HHợợpp NgNgữữ z Lệnh Dạng máy ngữ Dạng hợp ngữ 1 B4 02 MOV AH, 02h 2 80 C2 30 ADD DL, 30h 350 PUSHAX z Dịch chương trình: Trình nguồn Trình Trình đích (hợp ngữ) hợp dịch (máy ngữ) (Assembly language) (Assembler) (Machine language) NMT - HN - V3.10 - Ch1 - Ns45 - 27.10.03 8
- 1.4.1.4. CCấấuTruTrúúcc ChChươươngTrngTrììnhnh HHợợpp NgNgữữ z Tổ chức chương trình đơn giản .MODEL SMALL ; Kiểu chương trình .STACK ; Khai báo ngăn xếp .DATA ; Phần dữ liệu .CODE ; Phần lệnh END ; Lệnh cuối cùng NMT - HN - V3.10 - Ch1 - Ns45 - 27.10.03 9
- 1.5.1.5. MMộộtt SSốố LLệệnhnh ĐơĐơnn GiGiảảnn z Cách viết số: –Thập phân: 123, -54, 123d –Thập lục: 12Ah, 0Ah –Nhị phân: 1011b z Cách viết ký tự / chuỗi: – ‘A’, “A”, ‘Hello!’, “Hi!” – ”Don’t forget me!”, ‘”Forget me not!”’ – ’Don’’t forget me!’ NMT - HN - V3.10 - Ch1 - Ns45 - 27.10.03 10
- 1.5.1.5. MMộộtt SSốố LLệệnhnh ĐơĐơnn GiGiảảnn (tt)(tt) z Khai báo biến / vùng nhớ: Tên DB Trị1, Trị2, ; Kiểu Byte Tên DW Trị1, Trị2, ; Kiểu Word z Ví dụ: BVar1 DB 5 BVar2 DB ? BArr DB 10, 11, 12 WVar1 DW 10 WVar2 DW 1234h Str1 DB ‘ABC’ Str2 DB 13, 10, ‘Hello!’, 10, ‘$’ Sco DB 6 DUP(0) NMT - HN - V3.10 - Ch1 - Ns45 - 27.10.03 11
- 1.5.1.5. MMộộtt SSốố LLệệnhnh ĐơĐơnn GiGiảảnn (tt)(tt) z Định nghĩa hằng: Tên EQU Hằng zVí dụ: CR EQU 0Dh LF EQU 0Ah MESS EQU ‘Du lieu nhap sai!’ STR1 DB CR, LF, MESS, ‘$’ NMT - HN - V3.10 - Ch1 - Ns45 - 27.10.03 12
- 1.5.1.5. MMộộtt SSốố LLệệnhnh ĐơĐơnn GiGiảảnn (tt)(tt) MOV AH, 9 MOV BX, SEG S MOV DS, BX HELLO! MOV DX, OFFSET S INT 21h DS:DX S H E L L O ! $ S DB ‘HELLO!$’ NMT - HN - V3.10 - Ch1 - Ns45 - 27.10.03 13
- 1.6.1.6. TTạạoo Ch.TrCh.Trììnhnh HHợợpp NgNgữữ z Qui trình: 1. Soạn chương trình (nguồn) 2. Dịch chương trình (nguồn) 3. Liên kết chương trình (đối tượng) 4. Chạy chương trình (đích) NMT - HN - V3.10 - Ch1 - Ns45 - 27.10.03 14
- 1.6.1.6. TTạạoo Ch.TrCh.Trììnhnh HHợợpp NgNgữữ (tt)(tt) Trình nguồn Trình soạn thảo Trình nguồn mov ah, 2 Notepad, CT.ASM Trình hợp dịch Tập đối tượng C>TASM CT CT.OBJ Trình liên kết Trình đích C>TLINK CT CT.EXE ??? Trình đích Kết quả C>CT NMT - HN - V3.10 - Ch1 - Ns45 - 27.10.03 15