Cấu trúc máy tính và ASM - Chương 6 - Pdf 45

10/17/12
10/17/12
Chuong 5 Nhap mon ASM
Chuong 5 Nhap mon ASM
1
1
Chương 5 : Nhập môn Assembly
Chương 5 : Nhập môn AssemblyHiểu ngôn ngữ máy và ngôn ngữ Assembly.
Hiểu ngôn ngữ máy và ngôn ngữ Assembly.Trình hợp dòch Assembler.
Trình hợp dòch Assembler.Lý do nghiên cứu Assembly.
Lý do nghiên cứu Assembly.Hiểu các thành phần cơ bản của Assembly
Hiểu các thành phần cơ bản của AssemblyNắm được cấu trúc của 1 CT Assembly.
Nắm được cấu trúc của 1 CT Assembly. Biết viết 1 chương trình Assembly.

Assembler

Một chương trình viết bằng ngôn ngữ Assembly
Một chương trình viết bằng ngôn ngữ Assembly
muốn MT thực hiện được ta phải chuyển thành
muốn MT thực hiện được ta phải chuyển thành
ngôn
ngônngữ máy.
ngữ máy.
Chương trình dùng để dòch 1 file viết bằng Assembly
Chương trình dùng để dòch 1 file viết bằng Assembly

ngôn ngữ máy , gọi là Assembler
ngôn ngữ máy , gọi là Assembler
.
.
Có 2 chương trình dòch:
MASM và TASM
10/17/12 Chuong 5 Nhap mon ASM 4
Lý do nghiên cứu Assembly
Lý do nghiên cứu Assembly

1 0 1 0 0 0 1 1 Move the AX reg to another reg
10/17/12 Chuong 5 Nhap mon ASM 6
Lệnh máy (cont)
Lệnh máy (cont)

Tập lệnh máy được đònh nghóa trước, khi CPU được sản
Tập lệnh máy được đònh nghóa trước, khi CPU được sản
xuất và nó đặc trưng cho kiểu CPU .
xuất và nó đặc trưng cho kiểu CPU .

Ex : B5 05 là 1 lệnh máy viết dạng số hex, dài 2 byte.
Ex : B5 05 là 1 lệnh máy viết dạng số hex, dài 2 byte.

Byte đầu B5 gọi là Opcode
Byte đầu B5 gọi là Opcode

Byte sau 05 gọi là toán hạng Operand
Byte sau 05 gọi là toán hạng Operand
Ýù nghóa của lệnh B5 05 : chép giá trò 5 vào reg AL
Ýù nghóa của lệnh B5 05 : chép giá trò 5 vào reg AL
10/17/12 Chuong 5 Nhap mon ASM 7
Cách viết 1 chương trình Assembly
Cách viết 1 chương trình Assembly
Soạn CT
TenCT.ASM
Dòch CT
Liên kết CT
Chạy CT
Dùng 1 phần mềm soạn thảo VB bất kỳ để soan
CT Assembly như : NotePad, NC, màn hình C,

.DATA
MES DB “HELLO WORD”,’$’
MES DB “HELLO WORD”,’$’
.CODE
.CODE
MAIN PROC
MAIN PROCMOV AX, @DATA
MOV AX, @DATAMOV DS, AX
MOV DS, AX
MOV DX, OFFSET MES
MOV AH, 9
INT 21
MOV AH,4CH
INT 21
MAIN ENDP
END MAIN
10/17/12 Chuong 5 Nhap mon ASM 10
Các file được tạo
Các file được tạo

Sau khi dòch thành công file nguồn.ASM, ta có các file :
Sau khi dòch thành công file nguồn.ASM, ta có các file :

File listing : file VB , các dòng có đánh số thứ tự mã.
2 .MODEL SMALL
2 .MODEL SMALL
3 .STACK 100H
3 .STACK 100H
4 .DATA
4 .DATA
5 0000 48 45 4C 4C 4F 20 MES DB "HELLO WORD$"
5 0000 48 45 4C 4C 4F 20 MES DB "HELLO WORD$"
6 57 4F 52 44 24
6 57 4F 52 44 24
7 .CODE
7 .CODE

14 000C B4 4C MOV AH,4CH
14 000C B4 4C MOV AH,4CH
15 000E CD 21 INT 21H
15 000E CD 21 INT 21H
16 0010 MAIN ENDP
16 0010 MAIN ENDP
17 END MAIN
17 END MAIN

♀◘
♀◘
Microsoft (R) Macro Assembler Version 5.10 10/11/4
Microsoft (R) Macro Assembler Version 5.10 10/11/4
10/17/12 Chuong 5 Nhap mon ASM 12
Map File
Map File

10/17/12 Chuong 5 Nhap mon ASM 13
Giải thích
Giải thích

.model small : dùng kiểu cấu trúc <= 64 K bộ nhớ cho
.model small : dùng kiểu cấu trúc <= 64 K bộ nhớ cho
mã , 64K cho dữ liệu.
mã , 64K cho dữ liệu.

.Stack 100h : dành 256 bytes cho stack của chương
.Stack 100h : dành 256 bytes cho stack của chương
trình .
trình .

.Data : đánh dấu phân đoạn dữ liệu ở đó các biến được
.Data : đánh dấu phân đoạn dữ liệu ở đó các biến được
lưu trữ.
lưu trữ.
.Code : đánh dấu phân đoạn mã chứa các lệnh phải thi
.Code : đánh dấu phân đoạn mã chứa các lệnh phải thi
hành.
hành.

Proc : khai báo đầu 1 thủ tục, trong Ex này ta chỉ có 1
Proc : khai báo đầu 1 thủ tục, trong Ex này ta chỉ có 1
thủ tục Main.
thủ tục Main.

kiểu bộ nhớ
kiểu bộ nhớ
.STACK kích thước
.STACK kích thước
.DATA
.DATAkhai báo biến, hằng
khai báo biến, hằng
.CODE
.CODEMAIN PROC
MAIN PROCMOV AX, @DATA
MOV AX, @DATAMOV DS,AX
MOV DS,AXcác lệnh của chương trình chính
các lệnh của chương trình chính


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status