Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 12 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
12
Dung lượng
320,28 KB
Nội dung
Tổ chức cấu trúc máy tính C6 Hợp ngữ / S97 Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM Biên soạn : Nguyễn Xuân Minh CHƯƠNG 6 Hợp ngữ Tổ chức cấu trúc máy tính C6 Hợp ngữ / S98 Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM Biên soạn : Nguyễn Xuân Minh Nguồn 1 Chương trình nguồn (.ASM) MASM.EXE Mã đối tượng (.OBJ) Liệt kê (.LST) Tham khảo chéo (.CRF) LINK.EXE Mã thực thi (.EXE) Mã thực thi (.COM) Bản đồ (.MAP) /Tiny Nguồn 2 Nguồn 3 Đối tượng 1 Đối tượng 2 Đối tượng 3 Chương trình dịch hợp ngữ Chương trình liên kết Chương trình thực thi .COM Chương trình thực thi .EXE Tổ chức cấu trúc máy tính C6 Hợp ngữ / S99 Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM Biên soạn : Nguyễn Xuân Minh Trị mặc nhiên : . Chương trình nguồn Source .ASM . Tâp tin đối tượng Source .OBJ . Bản liệt kê chương trình NUL.LS T . Tập tin tham khảo chéo NUL.CRF MASM [options] source,[object],[listing],[crossref][;] LINK [options] objects,[exec],[map],[libraries][;] Trị mặc nhiên : . Tập tin đối tượng objects.OBJ . Chương trình thực thi object1.COM hoặc object1.EXE . Bản đồ sử dụng bộ nhớ NUL.MAP . Tập tin thư viện name.LIB Tổ chức cấu trúc máy tính C6 Hợp ngữ / S100 Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM Biên soạn : Nguyễn Xuân Minh Chương trình nguồn : * Là tập tin văn bản (.ASM): Filename .ASM * Dạng lệnh : [< nhãn >] < mã lệnh > < thông số > ; < chú thích > * Các ký tự dùng để đặt tên cho nhãn : a - z A - Z 0 - 9 ? @ _ $ . và bắt đầu bằng một ký tự khác số . * Số hệ 2 : × ×× ×× ×× ×× ×× ×× ×× ×× ×× ×× ×× ×× ×× ×× ×× × B (10110101B) * Số hệ 8 : × ×× ×× ×× ×× ×× × Q hoặc × ×× ×× ×× ×× ×× × O (123Q, 705O) * Số hệ 10 : mặc định hoặc × ×× ×× ×× ×× ×× ×× ×× ×× ×× × D (32767, 4509D) * Số hệ 16 : × ×× ×× ×× ×× ×× ×× ×× × H và bắt đầu bằng số . (1A97H, 0E05BH) Tổ chức cấu trúc máy tính C6 Hợp ngữ / S101 Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM Biên soạn : Nguyễn Xuân Minh Biến Hằng Nhãn - Do người sử dụng đặt. - Không phân biệt chữ lớn chữ nhỏ. - Chiều dài tùy ý nhưng chi có 31 ký tự đầu có nghĩa. Tên NEAR FAR BYTE WORD DWORD QWORD TBYTE ABS Thay địa chỉ bộ nhớ Để chứa dữ liệu. <tên>: <tên> LABEL <thuộc tính nhãn> <tên> PROC [<thuộc tính>] . . . <tên> ENDP EXTRN <tên>:<thuộc tính nhãn>[, . . .] <tên> Dx <biểu thức> [, . . .] <tên> <tên cấu trúc> <biểu thức> <tên> <tên máu tin> <biểu thức> <tên> LABEL <thuộc tính biến> EXTRN <tên>:<thuộc tính biến>[, . . .] < tên> EQU <biểu thức> <tên> = <biểu thức> EXTRN <tên>:ABS [, . . .] Thay địa chỉ bộ nhớ Để đánh dấu vị trí. Thay cho giá trị. Tổ chức cấu trúc máy tính C6 Hợp ngữ / S102 Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM Biên soạn : Nguyễn Xuân Minh Biểu thức tên hằng (trị) nhãn (địa chỉ) biến (địa chỉ) trị tức thời số ký tự Toán hạng Toán tử Thay đổi thuộc tính : PTR, :, SHORT, THIS, HIGH, LOW Trả trị : SEG, OFFSET, TYPE, LENGTH, SIZE Mẫu tin : số dịch, MASK, WIDTH Số học : + - ∗ ∗∗ ∗ / MOD SHR SHL Quan hệ : EQ, NE, LT, LE, GT, GE Luận lý : NOT, AND, OR, XOR Các toán tử có độ ưu tiên. Tổ chức cấu trúc máy tính C6 Hợp ngữ / S103 Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM Biên soạn : Nguyễn Xuân Minh DOSSEG . model small . stack <Số byte> . data <Các khai báo biến và hằng> . code main proc <Thân chương trình chính> <Kết thúc, trở về DOS> main endp <Các khai báo chương trình con> end title <Tên chương trình> code segment para public ' code ' assume cs:code,ds:code,ss:code <Các chương trình con> main proc <Thân chương trình chính> <Kết thúc, trở về DOS> main endp <Các chương trình con> code ends data segment para public ' data ' <Các khai báo biến và hằng> data ends stack segment stack ' stack ' <Khai báo vùng đệm> stack ends end main Dạng chương trình Tổ chức cấu trúc máy tính C6 Hợp ngữ / S104 Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM Biên soạn : Nguyễn Xuân Minh <tên> SEGMENT [<align>] [<combine>] [ ' <class> ' ] <thân segment> <tên> ENDS <combine> <align> <align> Địa chỉ bắt đầu BYTE XXXX xxxx (1 byte) WORD XXXX xxx0 (2 byte) DWORD XXXX xx00 (4 byte) PARA XXXX 0000 (16 byte) PAGE XXX0 0000 (256 byte) X 4 bit x 1 bit 0 1 2 3 4 5 6 7 8 9 A B C D E F Bộ nhớ BYTE WORD DWORD PARA & PAGE A B B A 0 COMMON 0 0 PUBLIC A B AB 0 0 0 Không có 0 0 0 0 A B A B Tổ chức cấu trúc máy tính C6 Hợp ngữ / S105 Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM Biên soạn : Nguyễn Xuân Minh ASSUME <thanh ghi đoạn> : <tên>[, ] <tên> PROC [ NEAR / FAR ] <thân chương trình> <tên> ENDP Kết thúc chương trình mov AX,4C00h int 21h hoặc int 20h chính ret con iret con phục vụ ngắt quãng 1.Tên chương trình. Tiêu đề 2.Chương trình làm gì ? 3.Các thông số vào - ra. 4.Các thanh ghi bị đổi nội dung. assume CS:code,DS:code,SS:code Giả định cho .COM assume CS:code,DS:data,SS:stack . . . mov AX,data mov DS,AX Giả định cho .EXE Tổ chức cấu trúc máy tính C6 Hợp ngữ / S106 Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM Biên soạn : Nguyễn Xuân Minh EXTRN < tên >:< thuộc tính >[, . . .] 1. Các mô đun phụ trong một chương trình có nhiều mô đun. 2. Tạo thư viện. 3. Tạo dữ liệu. END [<biểu thức > ] Các trường hợp không có địa chỉ bắt đầu < tên biến > Dx < biểu thức >[,< biểu thức >. . .] < tên hằng > EQU < biểu thức hằng > < tên hằng > = < biểu thức hằng > < tên > LABEL < thuộc tính > Xem lại mục "tên" [...]... thức hằng> Xem lại mục "tên" LABEL EXTRN Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM : [, ] Biên soạn : Nguyễn Xuân Minh C6 Hợp ngữ / S107 Tổ chức cấu trúc máy tính dgroup GROUP ASSUME MOV MOV PUBLIC [, .] GROUP [, .] data1,data2,data3 EXTRN : [, .] DS:dgroup AX,dgroup DS,AX ORG INCLUDE []... tập tin> COMMENT @ Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM Biên soạn : Nguyễn Xuân Minh C6 Hợp ngữ / S108 Tổ chức cấu trúc máy tính MACRO ENDM [, ] EXITM Chỉ thị Macro , REPT ENDM LOCAL [, ] PURGE [, ] Các toán . Tổ chức cấu trúc máy tính C6 Hợp ngữ / S97 Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM Biên soạn : Nguyễn Xuân Minh CHƯƠNG 6 Hợp ngữ Tổ chức cấu trúc máy tính C6 Hợp. định cho .EXE Tổ chức cấu trúc máy tính C6 Hợp ngữ / S106 Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM Biên soạn : Nguyễn Xuân Minh EXTRN < tên >:< thuộc tính >[, hằng > = < biểu thức hằng > < tên > LABEL < thuộc tính > Xem lại mục "tên" Tổ chức cấu trúc máy tính C6 Hợp ngữ / S107 Khoa Công nghệ thông tin Đại học Bách