11. Các chỉ thị assembler

11.1. Nhãn

  • label(INNER1)

Lệnh này định nghĩa một nhãn để sử dụng trong lệnh nhánh. Vì vậy ở nơi khác trong mã, b(INNER1) sẽ khiến việc thực thi tiếp tục với lệnh sau chỉ thị nhãn.

11.2. Định nghĩa dữ liệu nội tuyến

Các chỉ thị assembler sau đây hỗ trợ việc nhúng dữ liệu vào khối mã assembler.

  • data(size, d0, d1 .. dn)

Chỉ thị data tạo ra một mảng các giá trị dữ liệu trong bộ nhớ. Đối số đầu tiên chỉ định kích thước tính bằng byte của các đối số tiếp theo. Do đó, câu lệnh đầu tiên bên dưới sẽ khiến assembler đặt ba byte (với giá trị 2, 3 và 4) vào các vị trí bộ nhớ liên tiếp trong khi câu lệnh thứ hai sẽ khiến nó phát ra hai từ bốn byte.

data(1, 2, 3, 4)
data(4, 2, 100000)

Các giá trị dữ liệu dài hơn một byte được lưu trữ trong bộ nhớ theo định dạng little-endian.

  • align(nBytes)

Căn chỉnh lệnh tiếp theo theo giá trị nBytes. Các lệnh ARM Thumb-2 phải được căn chỉnh hai byte, vì vậy nên dùng align(2) sau các chỉ thị data và trước bất kỳ mã tiếp theo nào. Điều này đảm bảo rằng mã sẽ chạy bất kể kích thước của mảng dữ liệu.