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

AT&T Syntax

AT&T সিনট্যাক্স

x86-64 assembly লেখার একটা কনভেনশন — source আগে destination পরে, register-এ % প্রিফিক্স, immediate-এ $, size suffix (b/w/l/q)। GNU টুলচেইনের (gcc, gdb, objdump) ডিফল্ট।

also: AT&T syntax

movq   %rax, %rbx      ; rbx = rax  (source আগে, destination পরে)
movl   $5, %eax        ; eax = 5   (% রেজিস্টার, $ immediate)
movl   -4(%rbp), %eax  ; disp(base) addressing, () বন্ধনী

Unix-এর মূল assembler ঐতিহ্য (Bell Labs, ১৯৭০-এর দশক) থেকে আসা — x86 জন্মের আগে থেকেই এই কনভেনশন বিদ্যমান ছিল বিভিন্ন architecture-এ। GNU টুলচেইন x86 সমর্থন যোগ করার সময় এই একই ঐতিহ্য অনুসরণ করল, [[intel-syntax|Intel Syntax]] থেকে স্বাধীনভাবে।

Size suffix বাধ্যতামূলক যখন memory operand-এ কোনো register নেই যা size বলে দেয়: movb/movw/movl/movq (byte/word/long/quad)।

ডিফল্ট টুল: gdb, objdump, GNU as। Intel-এ সুইচ: (gdb) set disassembly-flavor intel, objdump -M intel

গুরুত্বপূর্ণ: এটা শুধু টেক্সট-কনভেনশন — একই machine code বাইট, শুধু ভিন্নভাবে “উচ্চারিত”। movq %rax, %rbx (AT&T) আর mov rbx, rax ([[intel-syntax|Intel Syntax]]) হুবহু একই instruction, একই বাইট।