Foundationপ্রথম নীতি থেকে
LEVEL 3 · Assembly Language

Intel Syntax

Intel সিনট্যাক্স

x86-64 assembly লেখার আরেকটা কনভেনশন — destination আগে source পরে, কোনো register/immediate প্রিফিক্স নেই, size memory operand-এর আগে keyword দিয়ে (dword ptr)। Intel-এর নিজস্ব manual, NASM/MASM-এর ডিফল্ট।

also: Intel syntax

mov    rbx, rax               ; rbx = rax  (destination আগে, source পরে)
mov    eax, 5                 ; eax = 5   (কোনো prefix নেই)
mov    eax, [rbp-4]           ; [] বন্ধনী addressing
mov    dword ptr [rbp-4], 0   ; memory operand-এ size keyword দরকার হলে

Arm-এর মতোই একটাই মালিকানাধীন উৎস — Intel-এর নিজস্ব official Software Developer’s Manual, [[att-syntax|AT&T Syntax]]-এর Unix-ঐতিহ্য থেকে স্বাধীনভাবে বিকশিত। কোনোটাই “বেশি সঠিক” না — দুইটাই সমান বৈধ, স্বাধীন উৎসের textual convention।

Register operand হলে কোনো size keyword লাগে না (register নিজেই স্পষ্ট করে দেয়, eax মানেই ৩২-বিট) — শুধু memory operand-এ দ্ব্যর্থতা থাকলে byte ptr/word ptr/dword ptr/qword ptr লাগে।

ডিফল্ট টুল: Intel-এর নিজস্ব SDM, NASM, MASM (Windows)। GNU টুলে সুইচ: gdb-তে set disassembly-flavor intel, objdump -M intel, as-এ .intel_syntax noprefix directive, gcc -S -masm=intel

সাধারণ পাঠকদের কাছে বেশি স্বজ্ঞাত মনে হয় — dst, src একটা assignment statement-এর মতো পড়া যায় (x = y)।