Page 4 - Bai01 NNLT Assembly (Hop Ngu)
P. 4
Trường TCN KTCN HÙNG VƯƠNG GIÁO TRÌNH CẤU TRÚC MÁY TÍNH
− Tên (symbol, name): Là một dãy các ký tự dùng để biểu thị tên hằng,
tên biến, tên nhãn, tên chương trình con, tên đoạn… Tên do người
lập trình đặt. Một tên có thể chứa:
• Các ký tự chữ: A → Z, a → z
• Các chữ số: 0 → 9
• Các ký tự đặc biệt: . ? @ _ $
• Ký tự đầu tiên của tên không thể là ký tự số mà phải là ký tự chữ
hoặc các ký tự đặc biệt để Assembler có thể phân biệt sự khác
nhau giữa tên và số. Dấu chấm không thể dùng trong một tên chỉ
có thể dùng là ký tự đầu của nhãn.
2) Cấu trúc một lệnh hợp ngữ
Một lệnh hợp ngữ gồm bốn phần:
[Label] [Mnemonic] [Operand] [;Comment]
Mỗi dòng chỉ chứa một lệnh hợp ngữ và mỗi lệnh phải nằm trên một
dòng. Mỗi phần phải cách nhau bằng một hay nhiều ký tự ngăn cách. Mỗi
dòng tối đa 128 ký tự.
a) Nhãn (Label): Nhãn chỉ là một tên đại diện cho các số, chuỗi ký tự
hoặc các vị trí trong bộ nhớ.
Ví dụ: Tính tổng 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8
DOSEG MOV DS, AX SumLoop:
.MODEL SMALL CALL Sumproc ADD Sum, AX
.STACK 100h MOV AX, 4C00h INC AX
.DATA INT 21h LOOP SumLoop
Sum DW ? SumProc Proc RET
.CODE MOV Sum, 0 SumProc Endp
Begin: MOV AX, 1 END Begin
MOV AX, @DATA MOV CX, 8
− Nhãn Sum tương đương với biến địa chỉ 16 bit
− Nhãn SumProc là tên chương trình con chứa mã các phần khác của
chương trình có thể gọi tới.
− Nhãn SumLoop tương đương với địa chỉ của lệnh ADD Sum, AX để
lệnh LOOP ở cuối có thể quay trở lại vị trí lệnh thích hợp.
− Mỗi nhãn chỉ định nghĩa một lần trừ một số trường hợp đặc biệt sẽ
nói sau. Nhãn có thể dùng làm toán tử. Nhãn có thể xuất hiện một
mình trên dòng lệnh trong trường hợp này trị của nhãn là địa chỉ của
lệnh ở dòng kế tiếp
Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG Trang 6