Мкс путаете с мс.
Контролёр интерфейса путаете с контролёром клавиатуры.
Цитата:
Одно чтение порта 64h 1,6 мкс.
Одно чтение с ISA(LPC) составляет 0.125 мкс. Эта задержка обусловленна опорной частотой 8МГц. И её можно наблюдать при чтение со свободного адресса.
Посмотрел по интеловскому даташитам чтения с порта 64h составляет от 1,2 до 9,8 мкс. У других фирм может и быстрее работать.
http://radio-hobby.org/uploads/datashee ... 8042ah.pdfЧто касается паузы в 500 мкс. То это время чтения одного байта с контролёра клавиатуры. Один байт кодируется 11 бодами. Стартовый бод, затем 8 бод данных, бод чётности, и стоповый. Итого 11 бод. С паузой в 50 мкс. 50*11=550. мкс.
Это для старых контролёров 8042 у которых входной и выходной буфер был общим. Драйверу приходилось ждать пока он получит байт от клавиатуры. Потом этот аппоратный косяк 8042 исправели.
А AA-Self-test это тест контролёра интерфейса 8042, а не контролёра клавиатуры поэтому он отрабатывает быстрее.
Кстати ROM 8042 контролёра.
http://www.halicery.com/8042/8042_1503033.TXTМожно посмотреть, что делает код самотестирования. И почему ответ на чтение длится несколько мкс.
А эмулятору вообще времена побоку. Хотя борщ вроде что-то симулирует.
По поводу пустого цикла. Если хочешь можешь сделать параллельное исполнение через прерывание таймера.