Menu
CoddyTech
Hành trình

Học Assembly

Khóa học Assembly online tương tác miễn phí. Bạn viết code x86-64 thật trong mọi bài học, có gợi ý AI khi chương trình bị segfault hoặc thanh ghi không chứa giá trị bạn mong đợi, và nhận giấy chứng nhận miễn phí khi học xong.

1,142+ người học đã tham gia

73 bài học57 thử thách434 câu hỏi trắc nghiệm

  • Phù hợp cho người mới
  • sparkles iconTrợ giúp lập trình bằng AI
  • hint iconBài học tương tác thực hành
  • volume On iconCó thuyết minh âm thanh cho mọi bài học
  • quiz iconBài trắc nghiệm để kiểm tra kiến thức
  • certificate iconGiấy chứng nhận hoàn thành miễn phí

Đề cương

2 phần1 dự án73 bài học57 thử thách434 câu hỏi trắc nghiệm
  1. Bắt đầu phầnBắt đầuMở rộngThu gọnXây dựng nền tảng vững chắc với các khái niệm thiết yếu và kỹ năng cơ bản.

    Cỗ máy

    6 bài học51

    Lệnh đầu tiên: MOV

    9 bài học967

    Định nghĩa dữ liệu

    8 bài học862

    Lời gọi hệ thống thoát

    4 bài học326

    Lời gọi hệ thống write

    8 bài học862

    Xin chào thế giới

    Dự án3 bài học27
  2. Bắt đầu phầnBắt đầuMở rộngThu gọnMở rộng kiến thức nền tảng về Assembly với phép toán số nguyên, phép so sánh, vòng lặp, mặt nạ bit và mảng có chỉ số. Luyện tập từng khái niệm qua các đoạn code tập trung, thử thách giúp bạn thành thạo và chương trình đã được kiểm thử.

    Số học số nguyên

    5 bài học920

    So sánh và rẽ nhánh

    5 bài học920

    Xây dựng vòng lặp

    5 bài học920

    Phép toán bit

    5 bài học920

    Mảng trong bộ nhớ

    5 bài học920

    Thử thách cuối cùng

    3 bài học3
Bạn nhận được gì
Mọi thứ bạn sẽ dùng để học lập trình

Học qua thực hành

Viết code thật, truy vấn cơ sở dữ liệu, xây dựng trang web và làm chủ prompt AI. Các bài học tương tác bao quát mọi kỹ năng mà lập trình viên hiện đại cần.

playground.js
Trình chỉnh sửa code
1const greeting = "Hello, Coddy!"
2function sayHi(name) {
3    return greeting + " " + name
4}
5
bottombar Collapse icon
Test #1test Case Success icon
Test #2test Case Success icon
Test #3test Case Failure icon
Đầu vào
"Alex"
Đầu ra
"Hello, Coddy! Alex"

Xây dựng streak

Học đều đặn và nhìn tiến độ của bạn lớn dần! Theo dõi thói quen code mỗi ngày, bảo vệ streak bằng ngày đóng băng và nhận phần thưởng khi học mỗi ngày.

12 ngày streak

Quay lại ngày mai để giữ streak!

fire Filled icon
left icon

January 2026

right icon

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

21

22

23

24

25

26

27

28

29

30

product Double Or Nothing icon

Gấp đôi hoặc mất hết

Ngày 5/7

fire Freeze icon

Đóng băng streak

2 left

Code ở mọi nơi

Mang hành trình lập trình theo bên mình! Không cài đặt, không tải về: chỉ cần mở ra và bắt đầu code. Có trên iOS, Android và Web với đánh giá 4,9 sao.

Python
7Streak
250Điểm
5Năng lượng
Biến
journey Hex Done Base iconjourney Hex Done Shadow iconjourney Hex Done Top iconjourney Lesson Done icon
journey Path Right Done icon
journey Hex Done Base iconjourney Hex Done Shadow iconjourney Hex Done Top iconjourney Lesson Done icon
journey Path Left Done icon
journey Hex Active Base iconjourney Hex Active Shadow iconjourney Hex Active Top iconjourney Lesson Theory Challenge icon
Tiếp tục
journey Path Right icon
journey Hex Locked Base iconjourney Hex Locked Shadow iconjourney Hex Locked Top iconjourney Lesson Theory Challenge icon
journey Path Left icon
journey Hex Locked Base iconjourney Hex Locked Shadow iconjourney Hex Locked Top iconjourney Lesson All icon
Hành trình
Mục tiêu
Bảng xếp hạng
Hồ sơ
4.9
Ngôi saoNgôi saoNgôi saoNgôi saoNgôi sao
Đánh giá

Bạn không đơn độc

Thi đấu trên bảng xếp hạng toàn cầu, mời bạn bè để nhận phần thưởng và cùng nhau ăn mừng thành công. Học code cùng bạn bè vui hơn nhiều!

Giải đấu Challenger
Giải đấu ChallengerTop 7 được thăng hạng
leaderboard First icon1
avatar 1 icon
fire Filled icon
Alex7+ Days
2840
leaderboard Second icon2
avatar 2 icon
fire Filled icon
Jordan7+ Days
2650
leaderboard Third icon3
avatar 3 icon
fire Filled icon
Sam7+ Days
2420
4
avatar 4 icon
Casey
2180
5
avatar placeholder icon
fire Filled icon
Morgan7+ Days
1950
leaderboard Arrow Up iconVùng thăng hạngleaderboard Arrow Up icon

Mọi cách để học

Đọc, nghe, tự kiểm tra, hỏi AI hoặc tra cứu bất cứ điều gì bạn đã học. Mỗi bài học phù hợp với trình độ của bạn.

Giới thiệu về biến
Âm thanh

Biến là một vùng chứa có tên, lưu một giá trị mà bạn có thể dùng lại sau trong chương trình.

Trong Python, bạn tạo biến bằng cách viết tên, dấu bằng, rồi giá trị muốn lưu.

Giá trị có thể thay đổi theo thời gian. Gán lại tên đó chỉ đơn giản là trỏ nó tới một giá trị mới.

1xSarah

Nhận chứng nhận

Nhận chứng nhận cho mỗi khóa học bạn hoàn thành. Thêm vào hồ sơ LinkedIn và CV để cho nhà tuyển dụng thấy kỹ năng lập trình của bạn.

CoddyGiấy chứng nhận hoàn thành
Chứng nhận rằngNguyễn Văn Anđã hoàn thành xuất sắc
python iconPython cơ bản
Đã xác minh
NgàyTh1 2026
LinkedInThêm vào LinkedIn

Vì sao nên học Assembly với Coddy

  • Viết và chạy Assembly x86-64 thật ngay trong trình duyệt. Không cần cài NASM, không cần thiết lập linker, không cần máy ảo Linux: mỗi bài học assemble code của bạn bằng nasm -f elf64, link bằng ld, chạy trên máy chủ, rồi hiển thị ngay đầu ra và lỗi nếu có.
  • Assembly đúng như cách nó thực sự hoạt động: thanh ghi (rax, rdi, rsi, rdx), tập lệnh mov/add/cmp/jmp, stack, các section bộ nhớ (.data, .bss, .text), nhãn, và giao tiếp trực tiếp với kernel qua các syscall read, write và exit, không có libc che đi chi tiết.
  • Gợi ý AI dẫn bạn qua những chỗ ai cũng vấp: vì sao chương trình bị segfault, syscall nhận đối số ở thanh ghi nào, khác biệt giữa một giá trị và địa chỉ chứa giá trị đó, và stack phát triển ra sao. Nhờ vậy bạn hình dung đúng về máy tính ngay từ bài học đầu tiên.
  • Giấy chứng nhận Assembly miễn phí khi học xong. Một minh chứng đáng tin cho các vị trí về hệ thống, nhúng, dịch ngược, bảo mật và trình biên dịch, những công việc mà hiểu CPU thực sự làm gì giúp bạn nổi bật.

Câu hỏi thường gặp về học Assembly

Assembly dùng để làm gì?

Assembly là dạng con người đọc được của các lệnh mà CPU chạy trực tiếp. Nó được dùng ở những nơi bạn cần toàn quyền kiểm soát hoặc hiểu trọn vẹn máy tính: kernel hệ điều hành và bootloader, code nhúng và firmware, các vòng lặp trong cùng đòi hỏi hiệu năng cao, trình biên dịch và JIT, dịch ngược, và nghiên cứu bảo mật (viết exploit, phân tích mã độc). Kể cả khi không viết hằng ngày, đọc Assembly là cách để hiểu code bậc cao của bạn thực sự được biên dịch thành gì.

Assembly có khó học không?

Assembly có rất ít khái niệm: thanh ghi, bộ nhớ, vài loại lệnh và lệnh nhảy, nên bản thân ngôn ngữ khá nhỏ. Cái khó là nó gần như không làm gì giúp bạn: không có biến, không có kiểu, không có print, chỉ có byte và syscall. Khóa học giới thiệu mỗi lần một khái niệm, bắt đầu từ một syscall write duy nhất rồi dần đến nhập dữ liệu, số học, vòng lặp và stack, để bức tranh về máy tính hình thành từ từ thay vì dồn một lúc.

Khóa học dạy loại Assembly nào: x86, ARM hay NASM?

Khóa học dạy Assembly x86-64 (Intel/AMD 64-bit) với cú pháp NASM trên Linux, kiến trúc phổ biến nhất để học và là lựa chọn của phần lớn hướng dẫn, sách và câu trả lời trên Stack Overflow. Bạn viết theo cú pháp kiểu Intel của NASM (mov rax, 1), assemble bằng nasm -f elf64 và link bằng ld. Các khái niệm như thanh ghi, bộ nhớ, stack và syscall áp dụng thẳng sang ARM và các kiến trúc khác sau này.

Có cần cài NASM hay linker để học khóa này không?

Không. Mỗi bài học assemble và link code của bạn trong một môi trường Linux cô lập (sandbox) và hiển thị đầu ra ngay cạnh chương trình. Không phải cài NASM, không phải nhớ cờ của ld, không phải dựng máy ảo: bạn viết Assembly x86-64 trong trình duyệt và nhấn Chạy.

Có nên học C trước Assembly không?

Có ích nhưng không bắt buộc. Nếu đã biết C, Assembly sẽ giúp bạn thấy rõ con trỏ, stack và lời gọi hàm thực chất là gì ở tầng phần cứng. Nếu chưa, khóa học vẫn bắt đầu từ con số 0, chỉ là vài khái niệm (địa chỉ bộ nhớ, stack) sẽ hoàn toàn mới với bạn. Nhiều người còn hiểu C rõ hơn hẳn sau khi thấy Assembly mà nó được biên dịch ra.

Học xong khóa Assembly có được cấp chứng nhận không?

Có. Hoàn thành khóa học Assembly, bạn nhận giấy chứng nhận hoàn thành miễn phí, một minh chứng có thể xác minh để thêm vào CV hoặc chia sẻ trên LinkedIn cùng các dự án low-level, hệ thống hay dịch ngược bạn đã làm.

Hình minh họa các ngôn ngữ lập trình của Coddy

Học Assembly với Coddy

Bắt đầu