как писать на ассемблере для работы DMA - PullRequest
0 голосов
/ 19 сентября 2018

Я знаю, что есть 3 способа передачи данных ввода / вывода: режим программы, режим прерывания и режим DMA.А для программного режима, если я хочу передать байт из ввода-вывода в ОЗУ, я должен написать так:

MOV PORT1,000AH        # tell io the address
IN ACC,PORT2           # read data from this address
MOV [0x5566], ACC      # mov this data to RAM

И если я хочу передать много байтов, я использую эту программу.Это нормально.Но вот мой вопрос:

Что если я хочу использовать режим DMA, как написать свой язык ассемблера для передачи многих байтов из ввода-вывода в ОЗУ?

Я знаюкак работает DMA, но я не совсем понимаю, кто им говорит, чтобы сделать это?Все это, каким должен быть язык ассемблера?

Я нашел много, но не нашел ответа.Я что-то упустил, что меня смутило?Я надеюсь, что чья-то помощь. Спасибо

...