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

How to compile arithmetic expressions to x86?

Name: Anonymous 2015-07-10 21:16

hi prog, say I want to take as given some variables on the stack x,y,z,w and compile expressions (x+y)*(z+w) to x86 asm.

first off the instructions take registers or pointers and well x86 is weird and has instructions like this:

add x, y ;x OR y must be a register, result in x
mul x ;multiplies eax with x, result is put into eax


so this would work:

mov eax, stack0
add eax, stack1
mov ebx, stack2
add ebx, stack3
mul ebx


but how would you make an algorithm to do this in general?

Name: Anonymous 2015-07-14 21:26

>>15
I wouldn't call C an ultra high level language. Not when targeting x86, anyway. I'm only familar with a handful of the most common optimizations, but the x86 output of most C compilers is rarely surprising to me. The main thing that makes things hard to follow is the incessant bouncing of values to the stack frame and back, which is a direct consequence of the shortage of registers.

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