Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 7597 → Rev 7667

/programs/develop/oberon07/Source/AMD64.ob07
666,6 → 666,7
reg: INTEGER;
max: INTEGER;
loop: INTEGER;
param2: INTEGER;
 
BEGIN
loop := 1;
730,11 → 731,38
 
|CODE.opCALL, CODE.opCALLP, CODE.opCALLI,
CODE.opWIN64CALL, CODE.opWIN64CALLP, CODE.opWIN64CALLI,
CODE.opSYSVCALL, CODE.opSYSVCALLP, CODE.opSYSVCALLI:
CODE.opSYSVCALL, CODE.opSYSVCALLP, CODE.opSYSVCALLI,
 
CODE.opSAVES, CODE.opRSET, CODE.opRSETR,
CODE.opRSETL, CODE.opRSET1,
CODE.opEQS .. CODE.opGES,
CODE.opEQS2 .. CODE.opGES2,
CODE.opEQSW .. CODE.opGESW,
CODE.opEQSW2 .. CODE.opGESW2,
CODE.opCOPY, CODE.opMOVE, CODE.opCOPYA,
CODE.opCOPYS, CODE.opCOPYS2, CODE.opROT,
CODE.opNEW, CODE.opDISP, CODE.opISREC,
CODE.opIS, CODE.opTYPEGR, CODE.opTYPEGP,
CODE.opCASET, CODE.opDIV,
CODE.opDIVL, CODE.opMOD,
CODE.opMODL, CODE.opLENGTH, CODE.opLENGTHW:
leaf := FALSE
 
|CODE.opDIVR, CODE.opMODR:
param2 := cur.param2;
IF param2 >= 1 THEN
param2 := X86.log2(param2)
ELSIF param2 <= -1 THEN
param2 := X86.log2(-param2)
ELSE
param2 := -1
END;
IF param2 < 0 THEN
leaf := FALSE
END
 
ELSE
 
END;
cur := cur.next(COMMAND)
UNTIL leave OR ~leaf;
1427,6 → 1455,14
PushAll(n)
END
 
|CODE.opACC:
IF (R.top # 0) OR (R.stk[0] # rax) THEN
PushAll(0);
GetRegA;
pop(rax);
DEC(R.pushed)
END
 
|CODE.opJNZ:
UnOp(reg1);
test(reg1);