Форум: "Основная";
Текущий архив: 2002.04.22;
Скачать: [xml.tar.bz2];
ВнизPascal срочно, плзззз... Найти похожие ветки
← →
JibSkeart (2002-03-31 15:56) [22]65535 = FFFF = 16bit ??
255 = FF = 8bit ??
Нет а что незя использовать массив ??
помойму проше ...
(То есть переводишь в двоичный .. 0 и 1 бросаешь в массив
по порядку как есть :)
а сдвигать байты мона и в массиве сразу ..
)
я тут пример для 8 бит набросал перевода из битов в десятичное число
Program Test;
Uses
Crt;
Type
t=Array [0..7] of Byte; {or [0..31] !!! }
t1=^t;
Var
x:Word;
s:T1;
begin
ClrScr;
New(s);
s^[0]:=1; s^[1]:=0; s^[2]:=0; s^[3]:=0; s^[4]:=1; s^[5]:=0; s^[6]:=0;
s^[7]:=0; {10010b=34d}
asm
xor bx,bx
les di,[s]
mov al,[es:di]
shl al,1
add bl,al
mov al,[es:di+1]
shl al,2
add bl,al
mov al,[es:di+2]
shl al,3
add bl,al
mov al,[es:di+3]
shl al,4
add bl,al
mov al,[es:di+4]
shl al,5
add bl,al
mov al,[es:di+5]
shl al,6
add bl,al
mov al,[es:di+6]
shl al,7
add bl,al
mov al,[es:di+7]
shl al,8
add bl,al
{ ... }
mov x,bx
end;
Writeln(x);
Dispose(s);
end.
А вообше сдеся Вам инфы сказали люди предостаточно ...
Да и Помоему на Асме есть та функция которая передвигает биты (в лево и в право)причем с переносом битов (если я не ошибаюсь)
Страницы: 1 2 вся ветка
Форум: "Основная";
Текущий архив: 2002.04.22;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.006 c