tailieunhanh - Bài giảng hợp ngữ - Chương 6

Tài liệu tham khảo Bài giảng hợp ngữ gồm 9 chương - Chương 6 Ngăn xếp và thủ tục | Bài giảng hợp ngữ Chương VI Ngăn xếp và thủ tục CHƯƠNG VI NGĂN XÉP VÀ THỦ TỤC Các thành phần của chương trình Ngăn xếp là vùng nhớ đặc biệt của chương trình. Có thể sử dụng vùng nhớ này để lưu trữ dữ liệu và giải phóng nó khi không dùng đến. Như vậy việc sử dụng ngăn xếp một cách hợp lý sẽ giúp tiết kiệm bộ nhớ. Trong hợp ngữ kích thước ngăn xếp của chương trình được khai báo sau từ khoá .Stack TITLE Tên chương trình .MODEL Kiểu bộ nhớ .STACK Kích thước ngăn xếp .DATA Khai báo dữ liệu .CODE Phần mã lệnh Một chương trình bao gồm ba phần cơ bản Mã lệnh Dữ liệu Ngăn xếp. Khi chương trình được nạp vào bộ nhớ thì ba phần trên được nạp vào các đoạn nhớ khác nhau Đoạn nhớ chứa phần mã lệnh được gọi là Đoạn mã Code Segment địa chỉ của nó được lưu giữ trong thanh ghi đoạn CS. Đoạn nhớ chứa phần dữ liệu được gọi là Đoạn dữ liệu Data Segment địa chỉ của nó được lưu giữ trong thanh ghi đoạn DS. Đoạn nhớ chứa phần ngăn xếp được gọi là Đoạn ngăn xếp Stack Segment địa chỉ của nó được lưu giữ trong thanh ghi đoạn SS. Nội dung của chương này chủ yếu nghiên cứu về đoạn ngăn xếp. Cách sử dụng ngăn xếp Cất dữ liệu vào ngăn xếp Để cất dữ liệu vào ngăn xếp ta sử dụng lệnh Push cách viết lệnh như sau PUSH Nguon Nguồn là một thanh ghi hay một biến có kích thước 16 bít 1 word . Sau lệnh Push thì giá trị của toán hạng Nguồn vẫn giữ nguyên. Ví dụ 1 PUSH AX Lệnh trên cất nội dung thanh ghi AX vào ngăn xếp. Ví dụ 2 PUSH A Lệnh trên cất nội dung biến A vào ngăn xếp A phải là biến kiểu Word . Lấy dữ liệu khỏi ngăn xếp Để lấy dữ liệu khỏi ngăn xếp ta sử dụng lệnh Pop cách viết lệnh như sau POP Đích Đích là một thanh ghi hay một biến có kích thước 16 bít 1 word . 42 Bài giảng hợp ngữ Chương VI Ngăn xếp và thủ tục Việc lấy dữ liệu khỏi ngăn xếp sẽ đồng thời giải phóng ô nhớ đang chứa dữ liệu tức là có thể dùng nó để chứa dữ liệu khác . Ví dụ 1 POP AX Lệnh trên lấy dữ liệu từ ngăn xếp đặt vào thanh ghi AX. Ví dụ 2 POP A Lệnh trên lấy dữ liệu từ ngăn xếp đặt vào biến A A phải là .

crossorigin="anonymous">
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.