Шаг 55 - Что такое порт

Порты в IBM PC используются для доступа к микросхемам. Обратиться к ним можно в любой момент из программы на ассемблере. Например, можно используя порт, обратится к микросхеме прерываний или таймеру. Работа с портами - это работа на очень низком уровне и всегда есть опасность, что может что-то измениться. Но зато это дает очень большие возможности для программиста. Для работы с портами есть специальные команда IN и OUT:

in 	регистр,ном_порта   	ввод значения из порта ввода-вывода
out 	ном_порта,регистр  	вывод значения в порт ввода-вывода 

Сами порты описаны в документации. Давайте пока сосредоточимся вот на чем. У нас есть возможность обращаться непосредственно к микросхемам. Это делается через порты. Для работы с портами нужно иметь описание этих портов.

Вот пример кода, который получает звук из динамика используя порты:

MODEL SMALL
STACK 256
CODESEG
Start:
	
	mov ax,@data		; установка в ds адpеса
	mov ds,ax			; сегмента данных

	in    al,61H		; получить текущее значение
	or    al,02H		; установить второй бит
	out   61H, al		; вывести значение в порт
	mov   cx,9000H		; количество циклов
delay:
	loop  delay		; ждать
	and   al,0fdH		; очистить второй бит
	out   61H, al		; вывести в порт

Exit:
	CALL ExitProgramm

INCLUDE  function.asm 
 
End Start

После запуска этой программы Вы должны услышать короткий звук из динамика.


Загрузить проект | Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.