Hiểu vai trò của RAX trong lập trình ngôn ngữ hội
`rax` là một thanh ghi trong kiến trúc tập lệnh x86-64 (ISA). Nó là viết tắt của "địa chỉ đăng ký" và được sử dụng để lưu trữ địa chỉ của một vị trí bộ nhớ.
Trong hợp ngữ, `rax` có thể được sử dụng làm toán hạng đích hoặc toán hạng nguồn cho hầu hết các lệnh sửa đổi bộ nhớ. Ví dụ: lệnh `mov` có thể được sử dụng để di chuyển dữ liệu giữa bộ nhớ và các thanh ghi, và `rax` có thể được sử dụng làm thanh ghi đích hoặc nguồn.
Dưới đây là một số ví dụ về cách sử dụng `rax` trong hợp ngữ:
* `mov rax, qword [address]` di chuyển giá trị tại địa chỉ `address` vào `rax` register.
* `mov [address], rax` di chuyển giá trị trong thanh ghi `rax` vào địa chỉ `address` .
* `add rax, qword [address]` thêm giá trị tại địa chỉ `address` vào `rax` register.
* `or rax, qword [address]` đặt thanh ghi `rax` thành giá trị tại địa chỉ `địa chỉ` hoặc đặt thành 0 nếu địa chỉ không hợp lệ.
Lưu ý rằng `rax` là thanh ghi 64 bit, vì vậy nó có thể lưu trữ cả giá trị 32 bit và 64 bit. Tuy nhiên, khi làm việc với các giá trị 32-bit, bạn có thể cần sử dụng một thanh ghi khác, chẳng hạn như `eax`.



