[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]