Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.05.2016, 12:33   #1
Max00766
Форумчанин
 
Регистрация: 15.11.2015
Сообщений: 151
По умолчанию Организовать блочную пересылку памяти

Задание:
Организовать блочную пересылку двух страниц памяти (адреса произвольные), используя каналы 0-1
Похожих примеров кода не нашел в интернете, нужна помощь, заранее спасибо
Max00766 вне форума Ответить с цитированием
Старый 22.05.2016, 14:15   #2
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Max00766, уточни задания, про каналы.
По каким каналам 1-2 нужно пересылать страницы памяти: правым/левым наушников что-ли? Если задание по-теме (и вы её проходили), то ты должен знать, какому контроллёру принадлежат эти каналы. ..И чему равна 1 страница памяти знаешь? Чтоб получить ответ на вопрос, с твоей стороны должны быть хоть какие-то телодвижения.
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 22.05.2016, 17:00   #3
Max00766
Форумчанин
 
Регистрация: 15.11.2015
Сообщений: 151
По умолчанию

R71MT, Я так понял что это передача память-память (Memory-to-memory DMA) начальный адрес определяется в регистрах нулевого канала, получаемый адрес в регистрах первого канала. Количество циклов обмена задаётся в регистре количества циклов канала 1. Про страницы сказано, что каждая страница начинается с сегментного адреса, кратного 1000h (0, 1000h, 2000h, 9000h). И присвоение номера страницы памяти происходит через страничные регистры (Page Registers)

Последний раз редактировалось Max00766; 22.05.2016 в 17:07.
Max00766 вне форума Ответить с цитированием
Старый 22.05.2016, 19:06   #4
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Работа с DMA в досе - довольно мутная тема. Там нужно возиться с портами, потом тестить под досом.. Это сразу снижает потенцию.. Если есть желание, то почитай про API на эту тему и организуй через вынь.
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 22.05.2016, 19:52   #5
Max00766
Форумчанин
 
Регистрация: 15.11.2015
Сообщений: 151
По умолчанию

Цитата:
Сообщение от R71MT Посмотреть сообщение
Работа с DMA в досе - довольно мутная тема. Там нужно возиться с портами, потом тестить под досом.. Это сразу снижает потенцию.. Если есть желание, то почитай про API на эту тему и организуй через вынь.
Что такое "вынь"?
Max00766 вне форума Ответить с цитированием
Старый 22.05.2016, 19:58   #6
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

..а хде бвают API? //выньдовс
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 22.05.2016, 20:48   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от R71MT Посмотреть сообщение
..а хде бвают API? //выньдовс
а так же в линуксе и прочих ОС, прерывания доса тоже своего рода АПИ.

я не думаю что ТС нужно что-то в ОС сделать.
Цитата:
Похожих примеров кода не нашел в интернете, нужна помощь, заранее спасибо
Всеволод Несвижский - программирование аппаратных средств в Windows(правда там про винду мало инфы на самом деле, больше про прямой доступ), глава 13.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 22.05.2016, 22:09   #8
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
а так же в линуксе и прочих ОС
..согласен. Сейчас легче перечислить где их нет.
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 23.05.2016, 16:07   #9
Max00766
Форумчанин
 
Регистрация: 15.11.2015
Сообщений: 151
По умолчанию

Так и не смог разобраться с заданием, очень нужна помощь, последняя лаба по ассемблеру)
Max00766 вне форума Ответить с цитированием
Старый 23.05.2016, 19:45   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

книгу не стали читать?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Файловый ввод/вывод в языке С: Организовать текстовый файл f, состоящий из N строк. Организовать замену слов в файле. Анастасия_А Помощь студентам 3 28.03.2016 14:32
Не получается составить блочную сортировку Mr_Extraneo Помощь студентам 1 17.11.2012 18:45
Организовать текстовый файл f, состоящий из N строк. Организовать замену символов в файле. "Старый" символ и "новый" символ запраш Richik123 Паскаль, Turbo Pascal, PascalABC.NET 1 14.06.2012 16:28
нужно организовать динамическое выделение памяти через ** и файловый ввод - вывод anybkarnak Помощь студентам 4 11.06.2010 21:33