Показать сообщение отдельно

  #3  
Старый 19.02.2010, 10:22
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


Отправить сообщение для slesh с помощью ICQ
По умолчанию

Даже тут на форуме были примеры этого.
работает всё по принципу. типа так:
Код:
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
 
Ответить с цитированием