✴️Basic Syntax

Một chương trình assembly được chia thành 3 phần chính:

  • data

  • bss

  • text

data section

Phần data được sử dụng để khai báo dữ liệu khởi tạo hoặc hằng số và tất nhiên là nó không thay đổi trong thời gian chạy, bạn có thể khai báo các giá trị hằng số khác nhau, tên tệp hoặc kích thước bộ đệm, v.v., trong phần này.

Cú pháp để khai báo data section là:

section .data

bss section

Phần này được sử dụng để khai báo các biến. Cú pháp để khai báo bss là:

section .bss

text section

Phần này được sử dụng để lưu giữ code. Phần này phải được bắt đầu bằngglobal _startđể nó nói cho kernel biết nơi code bắt đầu được chạy và thực thi:

Cú pháp để khai báo text section là:

section.text
   global _start
_start:
<code written here>

Comment

Để viết được comment thì ta thêm ";" vào trước mỗi câu comment.

Các câu lệnh assembly

Câu lênh Assembly bao gồm 3 loại:

  • Executable instructions or instructions

  • Assembler directives or pseudo-ops, and

  • Macros

Trong đó:

Executable instructions hoặc instructions sẽ nói cho bộ xử lý việc nó phải làm. Mỗi instruction bao gồm một operation code (opcode). Mỗi executable instructions tạo ra một lệnh ngôn ngữ máy.

Assembler directives hoặc pseudo-ops sẽ nói cho trình biên dịch về các khía cạnh khác nhau của assembly process. Chúng không thể thực thi và tạo ra các lệnh ngôn ngữ máy.

Macro về cơ bản là một cơ chế thay thế văn bản.

Cú pháp của các câu lệnh Assembly.

Format chung của nó là:

Về cơ bản thì nó gồm 2 phần: instruction <-- thực thi và operand or parameters. Ví dụ:

Và sau tất cả thì bạn đã có thể nắm được cấu trúc của một chương trình cần có rồi. Thì mình sẽ ví dụ về chương trình in ra "Hello World" như bao ngôn ngữ khác để bạn có thể bắt đầu đi đến những bài sau:

Đây là câu lệnh giúp bạn có thể biên dịch được ra file ELF để thực thi.

output

Oke vậy phần này đã hoàn thành.

Bài tập cho bài hôm nay sẽ là:

In họ và tên+ sở thích của bản thân ra màn hình ví dụ như sau:

Chúc các bạn học tập vui vẻ 😊

Last updated