Answers.Body: <p>Learn to Program with Assembly by Jonathan Bartlett (2021) is a great one.</p>
  <p>It teaches assembly programming for x86-64 processors using AT&amp;T syntax and the GNU Assembler.  It's a follow up to his 2005 text, Programming from the Ground Up, on the same topic.</p>
  <p>I'm trying to learn AT&amp;T syntax assembly as well, and I haven't found an equivalent text published in the last decade.</p>
  <p>Good luck</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-03-19T02:29:08.007Z
Answers.LastActivityDate: 2022-03-19T02:29:08.007Z
Answers.UserDisplayName: John Fisher
Body: <p>Could any one suggest me a easy book to learn AT&amp;T syntax of x86 assembly programming so that I can understand the code of xv6 OS better?</p>
  <p>Respected Ben. I. had suggested me this <a href="https://en.wikibooks.org/wiki/X86_Assembly" rel="nofollow noreferrer">free book</a>. But this is a wiki book and at places it shows:</p>
  <p><a href="https://i.sstatic.net/HLd6F.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/HLd6F.png" alt="enter image description here" /></a></p>
  <p>Since it is a community maintained book? And at places there are prompts of clean up, I guess the book contains everything correct. Because I am a self learner and I do not want to learn anything wrong.</p>
  <p>Is there any book easy book written by some author?</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-03-06T15:25:47.250Z
Comments.Text: Is there a reason you want.at&t syntax specifically?  Every debugger and recompiler I'm aware.of.can generate both (it's a setting/flag) and, in any case, once you learn x86 assembly in one, it's not hard to learn the other syntax.  The commands are exactly the same commands, but written out slightly differently.  I only ask because I have been led to understand that there are more resources aimed at beginners using intel syntax.
Comments.UserDisplayName: Ben I.
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-03-06T15:33:35.840Z
Comments.Text: Actually I want to understand the xv6 operating system coding... And the xv6 operating system: https://iitd.github.io/os/2022/xv6.pdf uses the AT&T syntax. That's the main reason. And the os video lectures of the professor here: https://iitd.github.io/os/2022/ on youtube also explains parts of x86 AT&T syntax. So, I thought of considering the AT&T syntax as it would help me understand it better...
Comments.UserDisplayName: Abhishek Ghosh
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-03-06T15:48:14.690Z
Comments.Text: Those are pretty solid reasons.  The commands are 1 to 1, since they're really the same language, so even after you find a good at&t reference, always know that if an explanation is confusing, you can find the corresponding Intel command and find another explanation of the same command :)
Comments.UserDisplayName: Ben I.
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-03-09T13:57:11.437Z
Comments.Text: @BenI., I find the intel syntax utterly confusing (after dabbling in 6505, some VAX 11 under BSD and others; yes, weaned on AT&T syntax).
Comments.UserDisplayName: vonbrand
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-03-09T21:09:40.823Z
Comments.Text: @vonbrand Haha that's amazing! My background is so similar, 6502, but weaned on Intel, and I find at&t basically impossible to read  But I did use my trick when I got confused a few times and look up the corresponding command in AT&T syntax for a second explanation
Comments.UserDisplayName: Ben I.
Tags: <resource-request><architecture>
Title: Could any one suggest me an easy book to learn AT&T syntax of x86 assembly programming so that I can understand the code of xv6 better?
ThreadText: # Could any one suggest me an easy book to learn AT&T syntax of x86 assembly programming so that I can understand the code of xv6 better?
  
  (Asked by: username_0 on 2022-03-06)
  
  Could any one suggest me a easy book to learn AT&T syntax of x86 assembly programming so that I can understand the code of xv6 OS better?
  
  Respected Ben. I. had suggested me this [free book](https://en.wikibooks.org/wiki/X86_Assembly). But this is a wiki book and at places it shows:
  
  [![enter image description here](https://i.sstatic.net/HLd6F.png)](https://i.sstatic.net/HLd6F.png)
  
  Since it is a community maintained book? And at places there are prompts of clean up, I guess the book contains everything correct. Because I am a self learner and I do not want to learn anything wrong.
  
  Is there any book easy book written by some author?
  
  **Tags:** resource-request, architecture
  
  > **Comments:**
  > **username_1**: Is there a reason you want.at&t syntax specifically?  Every debugger and recompiler I'm aware.of.can generate both (it's a setting/flag) and, in any case, once you learn x86 assembly in one, it's not hard to learn the other syntax.  The commands are exactly the same commands, but written out slightly differently.  I only ask because I have been led to understand that there are more resources aimed at beginners using intel syntax.  
  > **username_0**: Actually I want to understand the xv6 operating system coding... And the xv6 operating system: https://iitd.github.io/os/2022/xv6.pdf uses the AT&T syntax. That's the main reason. And the os video lectures of the professor here: https://iitd.github.io/os/2022/ on youtube also explains parts of x86 AT&T syntax. So, I thought of considering the AT&T syntax as it would help me understand it better...  
  > **username_1**: Those are pretty solid reasons.  The commands are 1 to 1, since they're really the same language, so even after you find a good at&t reference, always know that if an explanation is confusing, you can find the corresponding Intel command and find another explanation of the same command :)  
  > **username_2**: @BenI., I find the intel syntax utterly confusing (after dabbling in 6505, some VAX 11 under BSD and others; yes, weaned on AT&T syntax).  
  > **username_1**: @username_2 Haha that's amazing! My background is so similar, 6502, but weaned on Intel, and I find at&t basically impossible to read  But I did use my trick when I got confused a few times and look up the corresponding command in AT&T syntax for a second explanation  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_3 on 2022-03-19. Score: 3 | Accepted answer
  
  Learn to Program with Assembly by Jonathan Bartlett (2021) is a great one.
  
  It teaches assembly programming for x86-64 processors using AT&T syntax and the GNU Assembler. It's a follow up to his 2005 text, Programming from the Ground Up, on the same topic.
  
  I'm trying to learn AT&T syntax assembly as well, and I haven't found an equivalent text published in the last decade.
  
  Good luck
  
  
  ---
  
  