我在32位Ubuntu上使用NASM,我很难将两个寄存器分开。
继承我的表达方式,显示在C:
int A, B, C, D, E, F, Z ;
A = 10;
B = 12 ;
C = A + B ;
D = 3 ;
E = 6 ;
F = C – D ;
Z = ((A + B * C) / (D – E * F)) + 1 ;
我的代码如下所示:
mov eax, dword [B]
mov ebx, dword[C]
mul ebx ; result should be B * C?
add eax, dword [A]
mov eax
结果等于274,但应如何保留此值以便使用PEMDAS并分别求解方程的另一半然后除以?我的eax寄存器持有274(我认为)一直被覆盖。
有任何帮助,谢谢?