1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài liệu Hợp ngữ ASM-Chương 06-Nhập môn ASM docx

39 550 3

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 39
Dung lượng 661 KB

Nội dung

h1 h2 Chương : Nhập môn Assembly Mục tiêu Hiểu ngôn ngữ máy ngôn ngữ Assembly Trình hơ dị h A T ì h hợp dịch Assembler bl Lý nghiên cứu Assembly Hieu phần ban Assembly Hiểu cac thành phan cua 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 5/13/2009 Chuong Nhap mon ASM Slide h1 shjsahjsa h2 ssasasasas huh, 10/13/2004 huh, 10/13/2004 Giới thiệu ngôn ngữ Assembly Giúp khám phá bí mật phần cứng phần mềàm máùy tính í Nắm đượïc cách p n cứng MT làm việäc với hệä phầ điều hành hiểu cách trình ứng dụng giao tiếp với hệ điều hành Một MT hay họ MT sử dụng tập lệnh mã máùy riêâng cũõng ngôân ngữ Assembly riêâng i hư ữ A bl i 5/13/2009 Chuong Nhap mon ASM Assembler Một chương trình viết ngôn ngữ Assembly muốn MT thưc đươc ta phải chuyen muon thực phai chuyển thành ngôn ngữ máy Chương trình dùng để dịch file viết Assembly ngôn ngữ máy , gọïi Assembler g g g Assembler Có chương trình dịch: MASM TASM 5/13/2009 Chuong Nhap mon ASM Ly nghiên cưu Assembly Lý nghien cứu Đó cách tot nhat để hoc phần cưng MT Đo la cach tốt đe học phan cứng hệ điều hành Vì tiện ích Có thể nhúng chương trình viết bằ b èng ASM vàøo cáùcchương t ì h viếát t hươ trình i ngôn ngữ cấp cao 5/13/2009 Chuong Nhap mon ASM Lệnh may máy Là chuổi nhị phân có ý nghóa đặc biệt – lệnh cho C CPU thực táùc vụ i Tác vụ : di chuyểån sốá từ vị trí nhơ sang vị trí nhơ kh ù h tư ị t í hớ ø ị t í hớ khac Cộng số hay so sánh số A AL A M 5/13/2009 A Chuong Nhap mon ASM Lệnh may (cont) máy Tập lệnh máy đươc định nghóa trước CPU đươc may trươc, sản xuất đặc trưng cho kiểu CPU 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 5/13/2009 Chuong Nhap mon ASM Cach viet Cách viết chương trình Assembly Soạïn CT TenCT.ASM Dịch CT Liên kết CT Chạy Chay CT 5/13/2009 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 dùng LINK để liên kết Object tạo tập tin thực EXE Gỏ tên tập tin thực EXE từ dấu nhắc DOS đểå chạy Chuong Nhap mon ASM Dịch nối kết chương trình MASM E E T CT ASM T CT OBJ LINK E E T CT MAP T CT LIST T CT CRF T 5/13/2009 Chuong Nhap mon ASM CT E E Một chương trình minh hoaï hoa DOSSEG MODEL SMALL STACK 100h DATA MES DB “HELLO WORD”,’$’ CODE CODE MAIN PROC MOV AX, @DATA MOV DS, AX 5/13/2009 MO D OFFSET MES MO AH INT MO AH CH INT MAIN ENDP END MAIN Chuong Nhap mon ASM Khai báo bien bao biến Tư gơi nhơ Từ gợi nhớ DB DW DD DQ DT 5/13/2009 Mo ta Mô tả Định nghóa byte Từ So Số byte Từ kép Từ tứ 10 bytes Chuong Nhap mon ASM Thuộc tính Byte Word 10 Doubleword Quardword tenbyte 24 KIEÅÅU BYTE Minh họa khai báo biến Char db ‘A’ A Num db 41h Mes M db “H ll W d” ’$’ “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 , , , , 5/13/2009 Chuong Nhap mon ASM 25 Minh họa khai báo biến KIỂU WORD D DUUP DW 1000h, ‘AB’, ’, D D D DUP DẠNG LƯU TRỮ DỮ LIỆU KIỂU WORD : Trình hợp dịch đảo ngược byte giá trị kiểu WORD lưu trữ nhớ : Byte thấp lưu địa thấp Byte cao lưu địa cao 5/13/2009 Chuong Nhap mon ASM 26 Minh họa khai báo biến KIỂU WORD Ex : 1234h lưu trữ nhớ sau : ĐỊA CHỈ BỘ NHƠ NHỚ DỮ LIỆU 5/13/2009 H Chuong Nhap mon ASM 27 Toan tử Toán tư DUP Lặp lại hay nhiều giá trị khởi tạo Ex : Bmem DB 50 Dup(?) ; khai báo vùng nhớ gồm 50 bytes db dup (“ABC”) ;12 bytes “ABCABCABCABC” db 4096 dup (0) ; V øng đệäm 4096 b Vù đ bytes tấát cảû b èng bằ 5/13/2009 Chuong Nhap mon ASM 28 Khởi tạo biến Lưu y : ý Khi khởi tạo trị số hex giá trị số luô bắ đầ bằ l ân b ét ñ àu b èng k ù sốá từø đ án N áu k ù ký đế Nế ký số bắt đầu A F phải thêm số đầu Ex : Db A6H ; sai Db 0A6h ; 5/13/2009 Chuong Nhap mon ASM 29 Toán tử DUP (cont) A Tạo ma traän Atable db dup (3 dup (0), dup (‘X’)) 5/13/2009 Chuong Nhap mon ASM 30 Toan tử Toán tư DUP Chỉ xuat sau thị DB hay DW xuất Với DUP ta lặp lại hay nhiều trị cho vùøng nhớù h Rất có ích làm việc với mảng hay chuổi 5/13/2009 Chuong Nhap mon ASM 31 Toan tử Toán tư ? Muốn khai báo bien hay mảng mà không Muon bao biến mang ma khong cần khởi tạo trị ta dùng toán tử ? Ex : MEM8 DB ? ; khai báo byte trống nhớ MEM16 DW ? ; khai báo byte trốáng nhớ BMEM DB 50 DUP(?) ; khai báo 50 byte trống nhớ 5/13/2009 Chuong Nhap mon ASM 32 Chương trình dạng COM CODE SEGMENT ASSUME CS:CODE , DS:CODE, SS:CODE ; t ø b ä chương trình nam t toan hươ t ì h hæ è segment t Org 100h ;; thị nạp ghi lệnh IP=100h CT naïp Main proc p mov ax,bx …………… Main d M i endp Count db 10 ……………………… Code ends End main 5/13/2009 Chuong Nhap mon ASM 33 SUMMARY chương trình Assembly gồm nhiều dòng lệnh gom nhieu dong h Mỗi lệnh phải viết dòng Lệnh gồm [tên] [toan tử] [toán hang] co the gom [ten] [toán tư] [toan hạng] Các ký tự phải đặt dấu ‘ ‘ hay “ “ DB dùøng đểå định nghóa biếán ki åu BYTE d đ đị h hó bi kiể DW dùng để định nghóa biến kiểu WORD Có cách xuấát nhập liệu : liên lạc trực tiếáp qua cổng hay dùng phục vụ ngắt DOS vaø BIOS 5/13/2009 Chuong Nhap mon ASM 34 Câu hỏi ôn tập Trong mã máy lấáy từ tập tin liệt kê, nêu ý nghóa cuûa R 5B 0021 R ADD BX, VAL1 Neu y Nêu ý nghóa cua ky hiệu địa bien dươi ký cua biến tập tin liệt kê 5B 0021 R ADD BX VAL1 BX, 5/13/2009 Chuong Nhap mon ASM 35 Câu hỏi ôn tập Chương trình sau có lỗi Hãy tìm câu lệnh gây lỗi giải co loi Hay cau nao gay loi, giai thích sửa lại cho .MODEL SMALL STACK 100H DATA MOV AX VALUE1 AX, MOV BX, VALUE2 INC BX, INT 21H MOV 4C00H, AX MAIN ENDP VALUE1 0AH VALUE2 1000H END MAIN 5/13/2009 Chuong Nhap mon ASM 36 Chương trình sau có lỗi Hãy tìm câu lệnh gây lỗi, giải thích sửa lai cho đung va sưa lại MODEL SMALL Câu hỏi ôn tập STACK 100H CODE MAIN PROC MOV AX @DATA AX, MOV DS , AX MOV AX, VALUE1 MOV AX, VALUE2 MOV AX, 4C00H INT 21H MAIN ENDP VALUE1 DB 0AH VALUE2 DB 1000H END MAIN 5/13/2009 Chuong Nhap mon ASM 37 Bai tập lập trình Bài Bài : Viết chương trình nhập ký tự thường , in ký tự hoa tương ứng Bài : Viết chương trình hoán vị biến kiểu byte gán sẵn trị Bài : Viết chương trình tạo array có phần tử 31h,32h,33h,34h Nạp phần tử vào ghi DL xuất hình Giải thích kếát xuấát hình 1234 5/13/2009 Chuong Nhap mon ASM 38 ... ngôân ngữ Assembly riêâng i hư ữ A bl i 5/13/2009 Chuong Nhap mon ASM Assembler Một chương trình viết ngôn ngữ Assembly muốn MT thưc đươc ta phải chuyen muon thực phai chuyển thành ngôn ngữ máy... Chương trình dùng để dịch file viết Assembly ngôn ngữ máy , gọïi Assembler g g g Assembler Có chương trình dịch: MASM TASM 5/13/2009 Chuong Nhap mon ASM Ly nghiên cưu Assembly Lý nghien cứu Đó cách... phần mở rộng ASM dùng MASM để dịch chương trình nguồn ASM File Object dùng LINK để liên kết Object tạo tập tin thực EXE Gỏ tên tập tin thực EXE từ dấu nhắc DOS đểå chạy Chuong Nhap mon ASM Dịch nối

Ngày đăng: 10/12/2013, 01:15

HÌNH ẢNH LIÊN QUAN

Dựa vào bảng 17.2 hãy vẽ biểu đồ miền thể hiện cơ cấu lao động cĩ việc làm phân theo khu vực kinh tế của nước ta giai đoạn 2000 – 2005 (Đv:%) - Tài liệu Hợp ngữ ASM-Chương 06-Nhập môn ASM docx
a vào bảng 17.2 hãy vẽ biểu đồ miền thể hiện cơ cấu lao động cĩ việc làm phân theo khu vực kinh tế của nước ta giai đoạn 2000 – 2005 (Đv:%) (Trang 22)

TỪ KHÓA LIÊN QUAN

w