a. Các lệnh nhảy có điều kiện.
3.3.2. Khai báo trong lập trình hợp ngữ cho
• Khai báo biến
Ten_bien DB Gia_Tri_Khoi_Tao
DB là một chỉ lệnh dữ liệu được sử dụng rộng rãi nhất trong hợp ngữ. Nó được dùng để định nghĩa dữ liệu 8 bit. Khi DB được dùng để định nghĩa byte dữ liệu thì các số có thể ở dạng thập phân, nhị phân, Hex hoặc ở dạng thức ASCII. Đối với dữ liệu thập phân thì cần đặt chữ “D” sau số thập phân, đối với số nhị phân thì đặt chữ “B” và đối với dữ liệu dạng Hex thì cần đặt chữ “H”.
Khi dữ liệu có kích thước là 2 byte sử dụng: DW để khai báo biến kiểu nguyên
Ví dụ:
DATA1: DB 2D ; Số thập phân
DATA2: DB 00110101B ; Số nhị phân (35 ở dạng Hex)
DATA3: DB 39H ; Số dạng Hex
DATA4 DB “Ky thuat may tinh” ; Các ký tự ASCII • Khai báo hằng
Ten_Hang EQU Gia_tri
Được dùng để định nghĩa một hằng số mà không chiếm ngăn nhớ nào. Chỉ lệnh EQU không dành chỗ cất cho dữ liệu nhưng nó gắn một giá trị hằng số với nhãn dữ liệu sao cho khi nhãn xuất hiện trong chương trình giá trị hằng số của nó sẽ được thay thế đối với nhãn Ví dụ:
COUNT EQU 25
MOV R3, # COUNT
Khi thực hiện lệnh “MOV R3, #COUNT” thì thanh ghi R3 sẽ được nạp giá trị 25 (chú ý đến dấu #). Vậy ưu điểm của việc sử dụng EQU là gì? Giả sử có một hằng số (một giá trị cố định) được dùng trong nhiều chỗ khác nhau trong chương trình và lập trình viên muốn thay đổi giá trị của nó trong cả chương trình. Bằng việc sử dụng chỉ lệnh EQU ta có thể thay đổi một lần và hợp ngữ sẽ thay đổi tất cả mọi lần xuất hiện của nó.
Ký hiệu Thực hiện Ví dụ Kết quả
+ Cộng 10+5 15
- Trừ 25-17 8
* Nhân 7*4 28
/ Chia nguyên 7/4 1
MOD Chia lấy dư 7 MOD 4 3
SHR Dịch phải 1000B SHR 2 0010B
SHL Dịch trái 1010B SHL 2 101000B
NOT Đảo NOT 1 1111111111111110B
AND And bit 1101B AND 0101B 0101B
OR Or bit 1101B OR 0101B 1101B
XOR Xor 1101B XOR 0101B 1000B
LOW Lấy byte thấp LOW(0AADDH) 0DDH
HIGH Lấy byte cao HIGH(0AADDH) 0AAH
EQ, = So sánh bằng 7 EQ 4 or 7=4 0 (false)
NE,<> SS Không bằng 7 NE 4 or 7<>4 0FFFFH (true) GT, > SS lớn hơn 7 GT 4 or 7>4 0FFFFH (true) GE, >= SS nhỏ hơn hoặc bằng 7 GE 4 or 7>=4 0FFFFH (true) LT, < SS nhỏ hơn 7 LT 4 or 7<4 0 (false)
LE,<= SS nhỏ hơn hoặc bằng 7 LE 4 or 7<=4 0 (false) • Các toán tử
Bảng 3-5. Các toán tử
• Tên
Thay vì phải nhớ tên từng thanh ghi, hay từng bit, ta có thể gán cho nó một cái nhãn gợi nhớ tương ứng với chức năng của nó, assembly hỗ trợ việc đặt tên theo quy tắc sau:
Tên được tổ hợp từ các ký tự (A-Z, a-z), các số (0-9), các ký tự đặc biệt (“?” Và “_”) và không phân biệt chữ cái và chữ thường.
Độ dài tên tối đa là 255 ký tự, nhưng chỉ 32 ký tự đầu được dùng để phân biệt Tên phải bắt đầu bằng ký tự.
Không được trùng với các từ khóa sau:
\