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-15 7:48

>>29
You are actually posting something that makes me think! It's been so long since this has happened!

In that example the size of the stack never exceeded two, so you could do the whole thing directly in registers by just assigning registers to stack positions. If the stack grows larger it's a little harder, but I'm sure there are many ways of adapting it. The stack would be the usual stack and the registers would act like a sliding circular buffer cache for the top elements of the stack.

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