Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 38 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
38
Dung lượng
6,87 MB
Nội dung
Chương : Nhập môn Assembly C om Mục tiêu Si nh Vi en Zo ne Hiểu ngôn ngữ máy ngôn ngữ Assembly Trình hợp dịch Assembler Lý nghiên cứu Assembly Hiểu thành phần Assembly Nắm cấu trúc CT Assembly Biết viết chương trình Assembly Biết cách dịch, liên kết thực thi chương trình Assembly 11/29/2019 Chuong Nhap mon ASM SinhVienZone.com https://fb.com/sinhvienzonevn Giới thiệu ngôn ngữ Assembly C om Giúp khám phá bí mật phần cứng phần mềm máy tính nh Vi en Zo ne Nắm cách phần cứng MT làm việc với hệ điều hành hiểu cách trình ứng dụng giao tiếp với hệ điều hành Si Một MT hay họ MT sử dụng tập lệnh mã máy riêng ngôn ngữ Assembly riêng 11/29/2019 Chuong Nhap mon ASM SinhVienZone.com https://fb.com/sinhvienzonevn Assembler Zo ne C om Moät chương trình viết ngôn ngữ Assembly muốn MT thực ta phải chuyển thành ngôn ngữ máy nh Vi en Chương trình dùng để dịch file viết Assembly ngôn ngữ máy , gọi Assembler Si Có chương trình dịch: 11/29/2019 MASM TASM Chuong Nhap mon ASM SinhVienZone.com https://fb.com/sinhvienzonevn om Lý nghiên cứu Assembly ne C Đó cách tốt để học phần cứng MT hệ điều hành nh Vi en Zo Vì tiện ích Si Có thể nhúng chương trình viết ASM vào cácchương trình viết ngôn ngữ cấp cao 11/29/2019 Chuong Nhap mon ASM SinhVienZone.com https://fb.com/sinhvienzonevn Lệnh máy C om Là chuổi nhị phân có ý nghóa đặc biệt – lệnh cho CPU thực tác vuï Add a number to the AL register Add a number to a variable Si 0 0 0 0 0 1 nh Vi en Zo ne Tác vụ : di chuyển số từ vị trí nhớ sang vị trí nhớ khác Cộng số hay so sánh số 1 0 1Move the AX reg to another reg 11/29/2019 Chuong Nhap mon ASM SinhVienZone.com https://fb.com/sinhvienzonevn om Lệnh máy (cont) ne C Tập lệnh máy định nghóa trước, CPU sản xuất đặc trưng cho kiểu CPU Si nh Vi en Zo Ex : B5 05 lệnh máy viết dạng số hex, dài byte Byte đầu B5 gọi Opcode Byte sau 05 gọi toán hạng Operand Ýù nghóa lệnh B5 05 : chép giá trị vào reg AL 11/29/2019 Chuong Nhap mon ASM SinhVienZone.com https://fb.com/sinhvienzonevn om Cách viết chương trình Assembly Dùng phần mềm soạn thảo VB để soan CT Assembly : NotePad, NC, hình C, Pascal CT có phần mở rộng ASM dùng MASM để dịch chương trình nguồn ASM File Object ne C Soạn CT TenCT.ASM dùng LINK để liên kết Object tạo tập tin thực EXE Si Liên kết CT nh Vi en Zo Dịch CT Chạy CT 11/29/2019 Gỏ tên tập tin thực EXE từ dấu nhắc DOS để chạy Chuong Nhap mon ASM SinhVienZone.com https://fb.com/sinhvienzonevn om Dịch nối kết chương trình C MASM.EXE TenCT LIST TenCT OBJ LINK.EXE TenCT CRF Si TenCT MAP nh Vi en Zo ne TenCT ASM 11/29/2019 TenCT EXE Chuong Nhap mon ASM SinhVienZone.com https://fb.com/sinhvienzonevn .C MOV DX, OFFSET MES ne MOV AH, INT 21 Si nh Vi en Zo DOSSEG MODEL SMALL STACK 100h DATA MES DB “HELLO WORD”,’$’ CODE MAIN PROC MOV AX, @DATA MOV DS, AX om Một chương trình minh hoaï 11/29/2019 MOV AH,4CH INT 21 MAIN ENDP END MAIN Chuong Nhap mon ASM SinhVienZone.com https://fb.com/sinhvienzonevn nh Vi en Zo ne C Sau dịch thành công file nguồn.ASM, ta có file : File listing : file VB , dòng có đánh số thứ tự maõ File Cross reference File Map File Obj File EXE Si om Caùc file tạo 11/29/2019 Chuong Nhap mon ASM SinhVienZone.com 10 https://fb.com/sinhvienzonevn DD DQ DT Zo ne C Soá byte 11/29/2019 Thuộc tính Byte Word Từ kép Doubleword Từ tứ 10 bytes 10 Quardword tenbyte nh Vi en DW Mô tả Định nghóa byte Từ Si Từ gợi nhớ DB om Khai báo biến Chuong Nhap mon ASM SinhVienZone.com 24 https://fb.com/sinhvienzonevn nh Vi en Zo ne C Char db ‘A’ Num db 41h Mes db ‚Hello Word‛,’$’ Array_1 db 10, 32, 41h, 00100101b Array_2 db 2,3,4,6,9 Myvar db ? ; biến không khởi tạo Btable db 1,2,3,4,5 db 6,7,8,9,10 Si om KIỂU BYTE Minh họa khai báo biến 11/29/2019 Chuong Nhap mon ASM SinhVienZone.com 25 https://fb.com/sinhvienzonevn ... chuyển thành ngôn ngữ máy nh Vi en Chương trình dùng để dịch file viết Assembly ngôn ngữ máy , gọi Assembler Si Có chương trình dịch: 11/29/2019 MASM TASM Chuong Nhap mon ASM SinhVienZone.com... ích Si Có thể nhúng chương trình viết ASM vào cácchương trình viết ngôn ngữ cấp cao 11/29/2019 Chuong Nhap mon ASM SinhVienZone.com https://fb.com/sinhvienzonevn Lệnh máy C om Là chuổi nhị... dụng tập lệnh mã máy riêng ngôn ngữ Assembly riêng 11/29/2019 Chuong Nhap mon ASM SinhVienZone.com https://fb.com/sinhvienzonevn Assembler Zo ne C om Một chương trình viết ngôn ngữ Assembly muốn