В сборке x86 инструкция MOV
используется для получения данных из ОЗУ и помещения их в один из регистров ЦПУ, где вы можете манипулировать ими. Инструкция MOV
также может записывать данные обратно в ОЗУ. Чтобы использовать устройства на компьютере, это другая история.
Устройства используют так называемые прерывания, которые представляют собой события, которые запускаются, когда устройство хочет вашего (ЦП) внимания. В вашем коде вы регистрируете свою функцию для обработки прерывания при его срабатывании. Чтобы получить данные на устройство и с него, вы можете использовать инструкции IN
и OUT
, которые перемещают данные по шине данных. Таким образом, вы можете предоставить устройству инструкции, например: получить данные из секторов жесткого диска от X до Y . Затем жесткий диск раскручивается, извлекает некоторые данные и запускает прерывание. Ваш код, который вы зарегистрировали для этого прерывания, должен обработать его, получить данные и записать их в какое-то подходящее место в ОЗУ. Большинство ЦП и устройств также поддерживают DMA ( Прямой доступ к памяти ), в котором вы указываете только место в ОЗУ, куда устройство должно записывать свои данные, что затем происходит без прерывания работы ЦП. Только когда устройство выполнено, оно вызывает прерывание, и ваш код ассемблера может реагировать соответствующим образом.