본문 바로가기
Delphi/프로시저-함수

숫자 정수 반올림(어셈블러 Assembler)

by MonoSoft 2024. 5. 28.
728x90
반응형

숫자 정수 반올림(어셈블러 Assembler)

728x90

 

 

 

function xRoundInteger(pData, pDec: Integer): Integer;

{ xRoundInteger(126,10) = 130 }

asm
Mov ECX,EDX
Cdq
IDiv ECX
Shl EDX,1
Cmp EDX,ECX
Jb @Skip2
Or EAX,EAX
Js @Skip1
Inc EAX
Jmp @Skip2
@Skip1:
Dec EAX
@Skip2:
IMul ECX

end;

 

function xTruncInteger(pData, pDec: Integer): Integer;

{ xTruncInteger(354,100) = 300 }

asm

Mov ECX,EDX

Cdq

IDiv ECX

IMul ECX

end;

 

728x90
반응형

댓글