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-12 21:40

>>9
If you're working at Asm level and worrying about debugging then YOU ARE DOING IT WRONG.

This problem doesn't just apply to people who are writing assembly by hand. Any language implementation that compiles to native code and implements symbolic debugging by mapping the generated code back to high level constructs will have the same problem. It is usually hopeless to try and debug optimized x86 code generated by a compiler symbolically because the compiler will almost never generate code that maps back to the source in a straightforward fashion. Lack of registers is a major cause for this.

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