Các lệnh xử lý dữ liệu chỉ thực thi các phép tính đối với dữ liệu trên các thanh ghi mà KHÔNG thực hiện trên ô nhớ. Nhóm lệnh xử lý dữ liệu trên thanh ghi bao gồm:
- Lệnh di chuyển dữ liệu giữa các thanh ghi: MOV, MVN - Lệnh số học (Arithmetic): ADD, ADC, SUB, SBC, RSB, RSC - Lệnh logic: AND, ORR, EOR, BIC
- Lệnh so sánh: CMP, CMN, TST, TEQ
- Lệnh nhân: MUL, MLA, UMULL, UMLAL, SMULL, SMLAL Cú pháp tổng quát của lệnh:
Opcode{Cond}{S} Rd, Rn, {Operand2}
- Trong câu lệnh, các tham số trong ngoặc {} là các tham số tùy chọn. Nghĩa là có thể có hoặc không có trong câu lệnh.
- Opcode: Lệnh gợi nhớ.
- Cond: điều kiện để thực hiện lệnh. Lệnh có điều kiện chỉ đƣợc thực hiện nếu các cờ trong thanh ghi CPSR thỏa mãn điều kiện. Một số điều kiện đƣợc liệt kê trong bảng sau:
Điều kiện Cờ bịtác động Chú giải
EQ Z = 1 Bằng
NE Z = 0 Không bằng
CS/HS C = 1 Cao hơn hoặc bằng
CC/LO C = 0 Thấp hơn MI N = 1 Giá trị âm PL N = 0 Giá trị dƣơng VS V = 1 Tràn có dấu VC V = 0 Không tràn có dấu HI C=1, Z=0 Cao hơn LS C=0, Z=1 Thấp hơn hoặc bằng GE N = V Lớn hơn hoặc bằng LT N # V Nhỏ hơn GT Z=0 và N#V Lớn hơn
LE Z=1 hoặc N#V Nhỏ hơn hoặc bằng
AL Thực hiện lệnh không cần điều kiện
Bảng 3. 1 Các điều kiện có thểđi kèm với lệnh
- S: Tham số đƣợc sử dụng khi muốn kết quả tác động đến các cờ trên thanh ghi CPRS. Nếu không có {S}, các cờ sẽ không bị thay đổi giá trị.
- Rn: Thanh ghi lƣu giữ toán hạng thứ nhất.
- Operand2: Toán hạng thứ hai là toán hạng tùy chọn.