</>مدرسه زیب‌موجیاد بگیر، تمرین کن، بساز
ASMمسیر اختصاصی · 20 درس ساده و عملی

Assembly
از اولین قدم تا محصول واقعی

Assembly x86-64 را روی Linux با NASM یاد بگیر؛ از syscall و رجیستر تا stack، ABI، حافظه، GDB و پروژه hex.

۵ آزمون در هر درسمثال زندگی واقعیتمرین کدنویسیراهنمای رفع خطا
۰٪پیشرفت شما
پروژه پایانی مسیرابزار خط فرمان تبدیل بایت‌های ورودی به نمایش hexadecimal

این پروژه را در 20 قدم کوتاه می‌سازی. هر درس فقط یک موضوع تازه دارد و با نمونه قابل دیدن تمام می‌شود.

کد اختصاصی هر درستوضیح بدون اصطلاح گنگثبت خودکار پیشرفت
۰٪
نقشه راه

20 قدم کوتاه و مرتب

هر درس فقط یک مفهوم تازه دارد: اول خیلی ساده می‌خوانی، بعد مثال می‌بینی، کد را تغییر می‌دهی و با آزمون کوتاه مطمئن می‌شوی.

01
۴۰ دقیقه

NASM، لینک و اولین exit

یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.

شروع ←
02
۴۰ دقیقه

اولین خروجی با write syscall

یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.

شروع ←
03
۴۰ دقیقه

رجیستر و mov

یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.

شروع ←
04
۴۰ دقیقه

مبنای عدد و بیت

یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.

شروع ←
05
۴۰ دقیقه

جمع، تفریق و flagها

یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.

شروع ←
06
۴۰ دقیقه

cmp و پرش شرطی

یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.

شروع ←
07
۴۰ دقیقه

حلقه با شمارنده

یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.

شروع ←
08
۴۰ دقیقه

بخش‌های data، bss و text

یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.

شروع ←
09
۴۰ دقیقه

آدرس‌دهی آرایه

یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.

شروع ←
10
۴۰ دقیقه

اندازه داده و little-endian

یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.

شروع ←
11
۴۰ دقیقه

Stack با push و pop

یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.

شروع ←
12
۴۰ دقیقه

تابع با call و ret

یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.

شروع ←
13
۴۰ دقیقه

ABI و تماس با C

یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.

شروع ←
14
۴۰ دقیقه

ضرب و تقسیم signed

یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.

شروع ←
15
۴۰ دقیقه

ماسک و عملیات bitwise

یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.

شروع ←
16
۴۰ دقیقه

پیمایش رشته تا null

یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.

شروع ←
17
۴۰ دقیقه

خواندن stdin با syscall

یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.

شروع ←
18
۴۰ دقیقه

دیباگ با GDB

یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.

شروع ←
19
۴۰ دقیقه

مرز بافر و کنترل طول

یک مفهوم، یک مثال واقعی، یک تمرین و چند آزمون کوتاه.

شروع ←
20
۴۰ دقیقه

پروژه؛ ابزار نمایش byte به hex

همه آموخته‌ها را به یک پروژه کامل و قابل ارائه تبدیل کن.

شروع ←
خروجی واقعی مسیر

ابزار خط فرمان تبدیل بایت‌های ورودی به نمایش hexadecimal

این پروژه یک نمونه تزئینی نیست. مدل داده، قوانین، حالت خطا، آزمون و مسیر انتشار را قدم‌به‌قدم کامل می‌کنی.

  • تعریف مسئله و کاربر واقعی
  • ساخت نسخه کوچک اما انتها‌به‌انتها
  • آزمون مسیر موفق، مرزی و خطا
  • آماده‌سازی خروجی برای ارائه و بازخورد
· first-step
global _start
section .text
_start:
    mov rax, 60
    mov rdi, 0
    syscall