Thư viện tri thức trực tuyến
Kho tài liệu với 50,000+ tài liệu học thuật
© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Tài liệu Ngăn xếp - Thủ tục - Macro doc
Nội dung xem thử
Mô tả chi tiết
Bài thực hành số 3
Ngăn xếp – Thủ tục – Macro
Mục đích
Hiểu được cơ chế hoạt động của ngăn xếp, quá trình gọi một thủ tục.
Biết cách sử dụng ngăn xếp, khai báo và gọi thủ tục.
Biết cách tạo và sử dụng macro.
Tóm tắt lý thuyết
Ngăn xếp
1. Một số lưu ý:
− Ngăn xếp (Stack) là vùng nhớ đặc biệt được truy cập theo cơ chế “vào trước ra sau”
(LIFO – Last In First Out), nghĩa là dữ liệu nào đưa vào sau sẽ được lấy ra trước.
− Ngăn xếp gồm nhiều phần tử, mỗi phần tử là một từ (2 bytes).
− Vị trí của ngăn xếp trong bộ nhớ được xác định bởi cặp thanh ghi SS:SP (SS chứa địa
chỉ đoạn, SP chứa địa chỉ ô của đỉnh ngăn xếp). Khi chưa sử dụng, ngăn xếp rỗng, vị
trí được xác định bởi SP lúc đó là đáy ngăn xếp.
2. Khai báo:
.STACK <kích thước của ngăn xếp>
Ví dụ: khai báo một vùng ngăn xếp có kích thước 256 bytes:
.STACK 100h
3. Các thao tác:
• Đưa trị vào (đỉnh) ngăn xếp:
PUSH <nguồn> ; đưa nguồn (thanh ghi hay từ nhớ
; 16 bit) vào đỉnh ngăn xếp
PUSHW <hằng> ; đưa trực tiếp một hằng16 bit vào
; đỉnh ngăn xếp
PUSHF ; đưa nội dung thanh ghi cờ vào đỉnh ; ngăn xếp
• Lấy trị (ở đỉnh) ra khỏi ngăn xếp:
POP <đích> ; lấy giá trị (2 bytes) ở đỉnh ngăn xếp
; đưa vào đích (thanh ghi (trừ thanh
; ghi IP) hay từ nhớ 16 bit)
POPF ; lấy giá trị (2 bytes) ở đỉnh ngăn xếp
; đưa vào thanh ghi cờ
Chú ý : Các lệnh PUSH, PUSHF, POP và POPF không ảnh hưởng tới các cờ.
Ví dụ: Chương trình xuất chuỗi ngược dùng stack: