//feladat, EAX-ben (j-i)*(j+i) - (i+5) + 2*j; legyen. int32:i, int16:j MOV(i,ECX); //i->ecx XOR(EDX,EDX); XOR(EAX,EAX); MOV(j,AX); MOV(AX,DX); //j->edx CMP(DX,0); JG nagyobb; NEG(EDX); MOV(AX,DX); nagyobb: //eredemny kiszamitasa, vegen ebx-ben tarolom az eredmenyt //eax-et hasznalom ideiglenes tarolonak a reszeredmenyhez //ebx=j-i MOV(ECX,EBX); //ebx=i NEG(EBX); //-1*i MOV(EDX,EAX); //eax=j ADD(EAX,EBX); //ebx=j-i PUSH(EBX); //elmentem(j-i) //eax=j+i ADD(ECX,EAX); //eax=i+j POP(EBX); //ebx=(j-i) IMUL(EBX,EAX); //eax=eax*ebx=(j+i)*(j-i) //eax=EAX-i-5+2j NEG(ECX); //-i ADD(ECX,EAX); //eax=eax*ebx=(j+i)*(j-i)-i ADD(-5,EAX); //-5 SHL(1,EDX); //2*j ADD(EDX,EAX); //eax=eax*ebx=(j+i)*(j-i)-i-5+2j