intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Kiến trúc máy tính và hợp ngữ: Chương 1 - Huỳnh Tổ Hạp

Chia sẻ: Minh Hoa | Ngày: | Loại File: PDF | Số trang:3

48
lượt xem
5
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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.

Chủ đề:
Lưu

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

  1. 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
  2. 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
  3. 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
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2