Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

ASSEMBLY

Name: OP 2010-07-22 10:44

I've decided I'd like to try and learn assembly in my spare time.

But I want to know how hard it would be compared to learning C.

And also if you know assembly, how long did it take you to learn and how often do you end up using it?

Not really sure how threads like these go down on /prog/ but I figured here is the best place to ask at least.

Name: Anonymous 2010-07-23 4:38

>>20
EIP points to the current instruction, so you can't really use it to meaninfully store anything without crashing the thread.
On Intel 64 I imagine you could use the upper bits to store things.

Name: Anonymous 2010-07-23 5:13

>>35
I dont think so.
I dont know much about IA64 and the way of addressing for that matter, but i dont think there are 32 extra bits in RIP just unused.

Name: Anonymous 2010-07-23 5:26

>>36
Not 32, but at least 16 since 64-bit addresses are only 48 bits wide.

Name: >>20 2010-07-23 5:34

>>35-37
Yes and no. The instruction pointer register was named: ip, eip, rip, for 16bit x86, 32bit x86 and 64bit x86. in the case of ip and eip, all the bits are in use, however as >>37 said, only 48bits are currently used for addressing. So, in the case of EIP, you can't use it for extra storage, but in the case of RIP, you can (at least for now). I once disassembled some x86_64 kernel code (from ntoskrnl) and saw that they do indeed use the upper bits for special purposes. I could also see some languages like Lisps benefit from this as they could use it to tag data.

Name: Anonymous 2010-07-23 5:45

>>38
Cool

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List