Danh mục

Lập trình Asssembly - ĐHQG Hà Nội

Số trang: 13      Loại file: pdf      Dung lượng: 293.70 KB      Lượt xem: 12      Lượt tải: 0    
Thư viện của tui

Phí tải xuống: 1,000 VND Tải xuống file đầy đủ (13 trang) 0
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Tài liệu Lập trình Asssembly trình bày những vấn đề cơ bản về kỹ thuật lập trình Asssembly, có hướng dẫn từng bước cụ thể. Đây là tài liệu học tập, tham khảo, thực hành cho sinh viên ngành Lập trình.
Nội dung trích xuất từ tài liệu:
Lập trình Asssembly - ĐHQG Hà NộiĐHQG – HN CNTT Ngôn ngữ máy ASSEMBLYCác ngắt của hệ thống hỗ trợ cho lập trình ASSSEMBLY +cho phép đặt segment vào 1 địa chỉ mong muốn (theo yêu cầu) củaCó 4 hàm hay dùng nhất: bộ nhớ RAMHàm 1: Chờ 1 ký tự từ bàn phím: tên_segment SEGMENT at địa_chỉ_dạng_vật_lý Mov ah, 1;AL chứa mã ASCII ký tự mã vào {thân} Int 21h tên_segment ENDSHàm 2: Đưa 1 ký tự dạng ASCII ra màn hình tại vị trí con trỏ +cho chương trình đa tệp: cách gộp các segment có cùng tên nằm ởđang đứng các tệp khác nhau khi liên kết. Ví dụ: Tệp 1 có DATA SEGMENT; Tệp 2Cách 1: Nhờ ngắt của BIOS có DATA SEGMENT.khác Mov al, mã ASCII của ký tự _COMMON tức là độ dài của segment sau liên kết bằng độ dài Mov ah, oeh segment lớn nhất Int 10h _PUBLIC tức là độ dài của segment sau liên kết bằng tổng độ dài cảCách 2: 2 segment Mov dl, mã ASCII của ký tự _PRIVATE tức là độ dài của segment sau liên kết bằng độ dài của Mov ah, 2 chính nó (không quan hệ với nhau, đây là chế độ default) Int 21h _STACK giống như _PUBLICHàm 3: Hiện 1 xâu ký tự kết thúc bằng dấu $ ra màn hình _CLASS sắp xếp các segment lại gần nhau sau khi liên kết Mov dx, offset tên biến xâu (Sau khi liên kết thì những segment nào cùng một nhóm thì ở gần Mov ah, 9 nhau) Int 21h _GROUP gộp các segment có cùng kiểu lại với nhau cho dễ dàng quiHàm 4: Trở về DOS chiếu Mov ah, 4ch ;[int 20h] tên_ nhóm GROUP tên_các_segment (cách nhau bởi dấu , ) Int 21h _ASSUME cho biết tên segment thuộc loại segment nàoCác DIRECTIVE điều khiển SEGMENT dạng đơn giản: dễ viết, dễ _ASSUME tên_thanh_ghi SEG : tên_segliên kết nhưng chưa bao hết mọi tình huống về điều khiển SEGMENT Cấu trúc một chương trình Assembly thường thấy: Khai báo.Model thuê vùng nhớ RAM thích hợp cho chương trình MACRO, STRUCT, UNION, RECORD, SEGMENT.Model kiểu_tiny code+data≤64KB Dạng đơn giản.Model kiểu_small code≤64KB;data≤64KB .Model kiểu.Model kiểu_compact code≤64KB;data≥64KB .Stack độ lớn.Model kiểu_medium code≥64KB;data≤64KB [.Data.Model kiểu_large code≥64KB;data≥64KB song khi khai báo1 array khai báo biến]không ≤64KB .Code.Model kiểu_large code≥64KB;data≥64KB song khi khai báo1 array nhãn_chương_trình:không >64KB mov ax, @data.Stack Độ lớn (Byte) → Xác lập độ lớn stack cho chương trình mov ds, ax.Data Xác lập vùng nhớ cho dữ liệu của chương trình khai báo ...biến nằm ở segment này thân chương trình.Data Khai báo biến (có 3 loại biến) ...Với các loại biến số thì kiểu db có độ dài 1 byte mov ah, 4ch dw có độ dài 2 byte int 21h dd có độ dài 4 byte [các chương trình con] dp/df có độ dài 6 byte END nhãn_chương_trình dq có độ dài 8 byte dt có độ dài 10 byte Dạng chuẩnVới các loại biến xâu có các cách khai ...

Tài liệu được xem nhiều: