2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Код для посылки командного байта (OUT 60h, AL) [asm]
Сообщение23.04.2009, 10:06 


24/12/08
10
Здравствуйте! Хотел узнать следующее: при написании программы в ассемблере для контролера клавиатуры, как правильно написать код для посылки командного байта (OUT 60h, AL), после чего идет посылка байта параметра?

 Профиль  
                  
 
 
Сообщение23.04.2009, 12:48 
Аватара пользователя


25/03/09
94
На запись 64h - регистр команд, 60h - регистр данных.
Код:
; Ждем, когда можно слать команды в контроллер

  xor cx, cx
wait1:
  in al,64h   
  and al,10b
  loopnz wait1

; Запись команды

  mov al, [код команды]
  out 64h, al

; Ждем ...

  xor cx,cx
wait2:
  in al,64h   
  and al,10b
  loopnz wait2

; Запись параметра

  mov al, [параметр]
  out 60h, al

; Тут можно проверить результат


В начале еще можно подождать, пока очистится выходной буфер.
Код:
  xor cx, cx
wait:
  in al, 64h
  and al, 1b
  loopnz wait


Вот, например: http://www.sysbin.com/files/lowlevel/enable_a20.htm и http://heim.ifi.uio.no/~stanisls/helppc/8042.html

 Профиль  
                  
 
 Re: Ассемблер
Сообщение11.05.2009, 20:21 


24/12/08
10
спасибо большое

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group