title: x86 assembly works on which CPUs?
body: <p>I have spent a few years coding in C and Java. I enjoy how I can make a program display a message box or perform some file operations and it works on every (I think?) CPU without any dramas. Although I have never coded anything advanced.</p>
  
  <p>I want to learn assembly, for Windows only. I believe I should learn something called x86 asm.</p>
  
  <p><strong>My question:</strong> provided I do not want to do something too crazy or obscure, will programs I create work on every CPU? My focus is on your average computer at home or perhaps servers.</p>
  
  <p>I have had many people tell me that I have to pick a specific architecture for a specific CPU from many reputable sources, but I am then shown code examples that work on several different CPUs... conflicting information!</p>
  
  <p><strong>EDIT:</strong>
  I just want to write some programs for fun in assembly without having to worry if my friend John Doe will have trouble using it on his computer. I can write a program in C easily enough that will display a message, ping google.com and whatever else without having to worry about CPUs. Is asm really not the same? o.O</p>
  
  <p><strong>EDIT2:</strong>
  Maybe I am getting confused as I do not know which CPUs a normal (nothing fancy) program coded on Windows in C works on... just Intel and AMD?</p>