Live data from Hacker News

Introduction to x64 Assembly

software.intel.com

21–30 of 78 posts

Re: Introduction to x64 Assembly

#21
post #12
post #10

Is there a good Windows assembler that doesn't get flagged by anti-virus software? UPDATE: I just ran across JWAsm and haven't encountered any problems so far. http://sourceforge.net/projects/jwasm/

I haven't tried it; but how about Yasm? http://yasm.tortall.net/ https://github.com/yasm/yasm/

Thanks. Looks like it requires Visual Studio in Windows. Was hoping to find a simple "ASM" -> "Windows EXE" tool. I might try WinASM again at home.

Re: Introduction to x64 Assembly

#22
post #20

Earlier quoted context omitted.

Can you elaborate on what assemblers get flagged by what anti-virus software? I haven't heard that one before.

I think it's due to heuristic checking. I just got flagged with the WinASM mentioned in the article and McAfee on my work machine deleted the EXE automatically. I've had similar issues in the past, I think with NASM.

Assemblers are obviously only used for evil hacking purposes! =)

Re: Introduction to x64 Assembly

#23
post #19

For those of you that went through Z80, 6502, 68000, x86 macro assemblers like myself, it is just me or does the AT&T syntax just suck? I recently had to convert some code from Intel syntax with NASM macros to GAS with AT&T syntax, and boy what a pain.

Did you try '.intel_syntax'? I've had some success with it, but it clearly needs some code contributions.

Re: Introduction to x64 Assembly

#24
"Intel stores bytes "little endian," meaning lower significant bytes are stored in lower memory addresses."

I would like to meet the person that doesn't know what endianness is, but can still understand that explanation.

Re: Introduction to x64 Assembly

#25
post #7

That 3D "cross" graphic (Figure 1, "General Architecture") might be the worst illustration of a programmer's model for a CPU I've ever seen. I'm sure it makes sense after you've read the accompanying paragraph a sufficient number of times (once didn't cut it, for me), but not so sure it helps in that understanding. I guess it's a funny hint that the x86's architecture is complex, when a figure that's just trying to d…

I still don't get it. And I've done a bunch of Intel asm. Besides, there are 24 blue boxes and one yellow one. How does this relate to the "16 general purpose 64-bit registers"?

Re: Introduction to x64 Assembly

#26
post #23
post #19

For those of you that went through Z80, 6502, 68000, x86 macro assemblers like myself, it is just me or does the AT&T syntax just suck? I recently had to convert some code from Intel syntax with NASM macros to GAS with AT&T syntax, and boy what a pain.

Did you try '.intel_syntax'? I've had some success with it, but it clearly needs some code contributions.

Using AT&T syntax was a requirement.

Re: Introduction to x64 Assembly

#27

"Intel stores bytes "little endian," meaning lower significant bytes are stored in lower memory addresses." I would like to meet the person that doesn't know what endianness is, but can still understand that explanation.

It's an okay refresher for those who forget which way is which.

Re: Introduction to x64 Assembly

#28

"Intel stores bytes "little endian," meaning lower significant bytes are stored in lower memory addresses." I would like to meet the person that doesn't know what endianness is, but can still understand that explanation.

It's even worse trying to explain Gulliver's Travels (and the origin of Endianness) to engineers that do know it in the data-storage sense.

Re: Introduction to x64 Assembly

#29
post #5
post #3

Intel keeps making up new names for their x86-64 architecture. Now 'x64' did they use that one before? Is IA-32e or EMT64 not better? Also if you want to find out quickly what they mean by 'x64', why is the article tagged with 'ia64' (which means Itanium).

Well, I suppose it wouldn't be expedient for Intel to call it amd64, but of all the nicknames for that arch, I do hate x64 the most. Do people think x86 was a line of 86-bit processors that got slimmed down to make the x64 line?

First generations of consumer x64 processors were named Athlon 64, so you can read x64 as Athlon 64 compatible if you really want uniformity.

x86 also started as unofficial shorthand.

Re: Introduction to x64 Assembly

#30
post #19

For those of you that went through Z80, 6502, 68000, x86 macro assemblers like myself, it is just me or does the AT&T syntax just suck? I recently had to convert some code from Intel syntax with NASM macros to GAS with AT&T syntax, and boy what a pain.

Once you get used to AT&T syntax, Intel's seems somewhat verbose. That said, deciphering complex addressing modes (especially for LEAs) in AT&T is pain. So each syntax and its quirks...
Post reply on HN