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)।