
19.02.2010, 10:22
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
Даже тут на форуме были примеры этого.
работает всё по принципу. типа так:
Код:
start_addr := inet_addr('127.0.0.1');
stop_addr := inet_addr('127.0.255.255');
while start_addr <> stop_addr do
begin
выполняешь свои действия
asm
mov eax, start_addr
bswap eax
inc eax
bswap eax
mov start_addr, eax
end;
end;
т.е. ты определишь начальный и конечный адрес. Затем просто увеличиваешь начальный на 1 и так пока он не станет равным конечному.
Но т.к. в IP порядок байт обратный тому который хранится в памяти, то для увеличения придется поменять порядок байт, что и делает инструкция bswap
|
|
|