Bài giảng Kiến trúc máy tính và hợp ngữ: Chương 1 - Huỳnh Tổ Hạp
lượt xem 5
download
Mục tiêu của bài giảng "Kiến trúc máy tính và hợp ngữ - Chương 1: Tổng quan về hợp ngữ" cung cấp cho người học các kiến thức: Cấu trúc tổng quát của PC, tổ chức bộ nhớ, tổ chức các thanh ghi, tìm hiểu khái quát về hợp ngữ. Mời các bạn cùng tham khảo nội dung chi tiết.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Kiến trúc máy tính và hợp ngữ: Chương 1 - Huỳnh Tổ Hạp
- Mục tiêu Bài 1 z Tìm hiểu cấu trúc tổng quát của PC Đại cương về Hợp ngữ z Tổ chức bộ nhớ z Tổ chức các thanh ghi z Tìm hiểu khái quát về Hợp ngữ z Cấu trúc lệnh z Cấu trúc chương trình hợp ngữ z Một số lệnh cơ bản 1.1 Tổ chức PC 1.2 CPU 1.3 Tổ chức bộ nhớ z Địa chỉ tuyệt đối: z Xác định vị trí của từng byte trong bộ nhớ Segment Offset z (8086) dài 20 bit, bộ nhớ 1MB 1134h 1023h z Địa chỉ tương đối: 11340h z Chế độ thực, truy cập bộ nhớ theo dạng Segment:Offset ( Đoạn : Ô ) z Segment, Offset: địa chỉ 16 bit (lưu trong thanh ghi) z Segment: địa chỉ tuyệt đối bắt đầu đoạn (chia cho 16) Ví dụ: 11340h Æ 1134h 12363h z Offset: vị trí của byte trong đoạn z Các đoạn có thể chồng lên, nối tiếp, cách xa nhau z Chỉ đề cập đến chế độ thực và bộ lệnh 8086 1
- z Nhóm thanh ghi đa dụng: 1.4 Tổ chức thanh ghi z AX, BX, CX, DX z Xem như 1 thanh ghi 16 bit (ví dụ: AX) hoặc 2 thanh ghi 8 bit (ví dụ: AH (high), AL (low)) z Thanh ghi là nơi lưu trữ dữ liệu trong CPU z Chứa dữ liệu, nhưng trong mỗi lệnh sẽ có ý nghĩa riêng z Gồm 16 thanh ghi, mỗi thanh dài 16 (hoặc 32 bit) z Nhóm thanh ghi con trỏ và chỉ số (Pointer, Index Reg) z Người dùng chỉ dùng địa chỉ tương đối (chứa địa chỉ offset các vùng dữ liệu) z CPU sẽ chuyển thành đ/chỉ tuyệt đối và truy xuất bộ nhớ z SI (Source Index) và z Nhóm thanh ghi đoạn (Segment Register) DI (Destination Index) ứng với địa chỉ seg. trong DS, ES (chứa địa chỉ đoạn các ô nhớ cần truy xuất) z SP (Stack Pointer) và z CS (Code Seg.) chứa địa chỉ đoạn vùng mã lệnh BP (Base Point.) ứng với địa chỉ segment trong SS z DS (Data Seg.) dữ liệu z Nhóm thanh ghi cờ và con trỏ lệnh z FLAGS: ghi nhận thông tin điều khiển và trạng thái CPU z SS (Stack Seg.) ngăn xếp (sẽ nói kỹ ở bài sau) z ES (Extra Seg.) kèm thêm với DS z IP (Instruction Pointer) địa chỉ offset của lệnh tiếp, ứng với địa chỉ segment trong CS 1.5 Ngôn ngữ máy – Hợp ngữ z (Các thanh ghi sắp xếp theo chức năng) z Ngôn ngữ máy: z Dạng nhị phân z Thực hiện nhanh, chiếm ít chỗ trong bộ nhớ z Khó viết, khó nhớ z Hợp ngữ: z Dùng một số ký hiệu dễ nhớ z Cần có ch/trình chuyển hợp ngữ sang ng/ngữ máy 1.6 Cách viết lệnh hợp ngữ z Chương trình hợp ngữ gồm nhiều lệnh, mỗi lệnh viết trên 1 dòng z Cách viết số: z Gồm 2 loại: chỉ thị (lệnh) và chĩ dẫn (hướng dẫn hợp dịch) z mặc định thập phân (D/d), hexa (H/h), binary (B/b) 10h z Cú pháp: 1011b z : Là chuỗi gồm các ký tự, ký số, ? , . , @ , _ , $, % z Cách viết chuỗi: Nhãn: vị trí trong chương trình (theo sau :), tên thủ tục, tên biến z giữa 2 dấu nháy đơn hoặc nháy kép ‘A’ “ABC” Ký hiệu: đại diện cho hằng số hoặc chuỗi ký tự z (các ký tự sẽ được chuyển thành mã ASCII tương ứng) z : Tên gợi nhớ của lệnh z : Xác định dữ liệu sẽ được xử lý bởi lệnh Nếu có nhiều tác tố, cách nhau dấu phẩy, Nếu có 2 tác tố, có thứ tự: tác tố đích, tác tố nguồn z : Sau dấu ; để giải thích ý nghĩa lệnh 2
- z Định nghĩa vùng nhớ dữ liệu (biến): z Cấu trúc chương trình hợp ngữ: z Khai báo kích thước chương trình z Nhãn DB Trị1, Trị2, ... .MODEL Kiểu ; thường dùng SMALL ... z Nhãn DW Trị1, Trị2, ... z Khai báo kích thước vùng ngăn xếp Nhãn là tên vùng nhớ (biến), được định nghĩa với kích thước .STACK KíchThước ; thường 100h, mặc định 1024 là byte (DB) hoặc word (DW), được gán Trị... z Khai báo dữ liệu bắt đầu bằng chỉ dẫn Không gán trị: ? B DB ? .DATA Gán nhiều trị giống nhau: toán tử DUP SCO DB 6 DUP (0) ... z Định nghĩa hằng: z Khai báo mã lệnh bắt đầu bằng chỉ dẫn .CODE z Tên EQU Hằng ... CR EQU 0Dh ; (ascii code) Carriage Return, về đầu dòng z Kết thúc chương trình bằng chỉ dẫn LF EQU 0Ah ; Line Feed, sang dòng mới STR EQU ‘Du lieu nhap sai!!’ END MESS DB STR,CR,LF,’$’ INT 21h 1.7 Một số lệnh đơn giản z Gọi trình con của hệ điều hành, chức năng tùy theo trị th/ghi AH z MOV Đích, Nguồn z AH = 1 z Sao chép dữ liệu (Nguồn) vào thanh ghi / vùng nhớ (Đích) Nhận 1 ký tự từ bàn phím, mã ASCII chứa trong AL z Hai tác tố không đồng thời là vùng nhớ hoặc th/ghi đoạn z AH = 2 Xuất 1 ký tự ra màn hình, ký tự chứa trong DL z XCHG Đích, Nguồn z AH = 9 z Hoán chuyển dữ liệu (không đồng thời là vùng nhớ) Xuất chuỗi ký tự có địa chỉ offset trong DX (seg. trong DS) z ADD Đích, Nguồn Chuỗi ký tự phải kết thúc bằng ‘$’ .DATA z Cộng dồn Nguồn vào Đích. Hai tác tố khg đồng thời là vùng nhớ MSG DB “Chuoi can hien thi$” z SUB Đích, Nguồn .CODE z Trừ Đích cho Nguồn MOV AX, @DATA ; lấy địa chỉ seg dữ liệu (MOV AX, SEG DATA) z INC Đích MOV DS, AX ; đưa vào DS MOV AH, 9 z Tăng Đích lên 1 LEA DX, MSG ; đưa off MSG vào DX (MOV DX, OFFSET MSG) z DEC Đích INT 21h z Giảm Đích đi 1 z AH = 4Ch Kết thúc chương trình và trả điều khiển về cho hệ điều hành z NEG Đích z Đổi dấu Đích 3
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Kiến trúc máy tính: Chương 1 - Lịch sử phát triển của máy tính
20 p | 378 | 59
-
Bài giảng Kiến trúc máy tính: Chương 3 - Cấu trúc phần cứng của máy tính
12 p | 269 | 48
-
Bài giảng Kiến trúc máy tính: Chương I
17 p | 164 | 25
-
Bài giảng Kiến trúc máy tính: Chương 3 - Phan Trung Kiên
14 p | 240 | 17
-
Bài giảng Kiến trúc máy tính: Chương 1 - ThS. Lê Văn Hùng
17 p | 147 | 11
-
Bài giảng Kiến trúc máy tính: Chương 1 - ThS. Nguyễn Thị Phương Thảo
20 p | 86 | 9
-
Bài giảng Kiến trúc máy tính: Chương 1a - ĐH Bách khoa Hà Nội
17 p | 75 | 9
-
Bài giảng Kiến trúc máy tính: Giới thiệu môn học - Nguyễn Ngọc Hóa
11 p | 47 | 9
-
Bài giảng Kiến trúc máy tính: Chương 0 - Trường ĐH Công nghiệp TP.HCM
7 p | 58 | 7
-
Bài giảng Kiến trúc máy tính: Chương 7 - Nguyễn Kim Khánh
5 p | 126 | 5
-
Bài giảng Kiến trúc máy tính: Chương 7 - Trần Sơn Hải
10 p | 77 | 5
-
Bài giảng Kiến trúc máy tính và hợp ngữ: Chương 4 - Huỳnh Tổ Hạp
3 p | 44 | 5
-
Bài giảng Kiến trúc máy tính: Chương 7 - ThS. Lê Văn Hùng
18 p | 122 | 5
-
Bài giảng Kiến trúc máy tính (Phần 1): Chương 3 - Nguyễn Văn Huy
19 p | 44 | 5
-
Bài giảng Kiến trúc máy tính: Chương 0 - ĐH Công Nghiệp
7 p | 101 | 4
-
Bài giảng Kiến trúc máy tính: Chương 1 - Nguyễn Kim Khánh
15 p | 112 | 3
-
Bài giảng Kiến trúc máy tính và hệ điều hành: Bài 3 - Nguyễn Hồng Sơn
13 p | 18 | 3
-
Bài giảng Kiến trúc máy tính và Hệ điều hành: Chương 5 - Vũ Thị Thúy Hà
20 p | 6 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn