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
반응형
'Delphi > 프로시저-함수' 카테고리의 다른 글
해당날짜 몇 주차인지 알아내기 (0) | 2024.07.05 |
---|---|
주민등록번호 성인인증 (0) | 2024.05.14 |
첫번째 영문을 대문자 변경 (0) | 2024.05.13 |
한글 자음 모음 분리 (0) | 2024.05.10 |
HEX 코드를 TColor 값으로 변환하여 반환 (0) | 2024.04.29 |
댓글