[Back to NUMBERS SWAG index] [Back to Main SWAG index] [Original]
{
SK> 12345 --------------- Longinteger of the value 12345
SK> ^^^^^
SK> |||||
SK> ||||+----------------- Integer value 5
SK> ||||
SK> |||+------------------ Integer value 4
SK> |||
SK> ||+------------------- Integer value 3
SK> ||
SK> |+-------------------- Integer value 2
SK> |
SK> +--------------------- Integer value 1
SK> I tried using the procedure of geting the MOD of a number then div the
SK> number out. It works fine until you get a number like
SK> 10,100,1000,100000, etc....
SK> Please help...
not sure what your asking but have you can use SHR, SHL, OR ect to fetch
single bits..........
}
function getbitstate( bitpos:byte; lint:longint):boolean;
begin
asm
mov @result, 00; { clear bolean first }
cmp bitpos, 16
jg @higher;
mov bx, lint;
@yup:
test bx, bitpos;
jnz @yes;
jmp @done;
@higher:
mov bx,lint+2;
jmp @yup;
@yes:
inc @result, 1; { adjust bolean return }
@done:
end;
end;
_____ to use it ____
Begin
if getbitstate(8, $80) then Write(' Yup, it's on ');
end;
[Back to NUMBERS SWAG index] [Back to Main SWAG index] [Original]