![]() |
|
|
![]()
|
|
| Guest |
|
|||
|
Unregistered |
Спасибо!
Задача вот в чем: Из микроконтроллера 51 серии по порту RS-232 принимаю байты информации. Режим полудуплексный. Использую прерывания BIOS для инициализации COM1 , его опроса— --- на предмет получения байта , а далее чтение порта. Результат – полученный байт в регистре AL. Далее создаю массив М известным способом— MOV CX,512 ; можно и больше, от графика зависит. MOV BX,offset M Met1: MOV byte ptr [bx][si],AL INC SI LOOP met1 ……………………………… M DB 512 DUP(0) Потом в графическом режиме DOS ( 11h) рисую оси координат. Потом строю график. Координата X –номер байта из массива M. Координата Y—значение байта из массива M. Программа элементарная, единственно, что неприятно, смещение точек по Y приходится изначально рассчитать. При разрешении 470*630 неплохой график. НЕ получается вот что : 1 – сохранить в отдельном файле набранный массив M, а их надо несколько набрать. 2-- сохранить построенный график тоже в отдельном файле. Их тоже надо несколько , чтобы потом распечатать. Распечатать я думаю догадаюсь как. Писать на асме в защищенном режиме пока не умею, только в реальном , используя MASM611. |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
возможно неправильно номер графического режима DOS написал
то ли 11h то ли 12h , но 470*630. |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
но это наверно не так важно.
|
|||
|
||||
| _Chingachguk_ |
|
|||
|
Unregistered |
Насчет скинуть массив.
Пусть есть массив M: M db 480*640 dup(?) ... ; Допустим, он чем-то уже заполнен. ... ; Скидываем его в файл как есть: FILE_SIZE equ 180*340 mov ah,3Ch mov dx,offset filename xor cx,cx ; Attributes int 21h jc @@Error mov bx,ax ; handle file (ax) mov ah,40h mov cx,FILE_SIZE mov dx,offset mas ; ds:dx=seg:ofs of mas int 21h cmp ax,cx ; if error, cx <> ax jnz @@Error ; close file mov ah,3Eh int 21h @@Error: filename db 'file01.dat',0 mas db FILE_SIZE dup(1) |
|||
|
||||
| _Chingachguk_ |
|
|||
|
Unregistered |
Насчет картинок. Для доса можешь поставить себе ~graphics.com - драйвер печати экрана по PrintScreen. После нажатия клавиши он скинет тебе график на печать.
|
|||
|
||||
| Guest |
|
|||
|
Unregistered |
СПАСИБО!!!
ПОПРОБУЮ РАЗОБРАТЬСЯ. |
|||
|
||||
| Chingachguk |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1232 Регистрация: 25.3.2002 Где: Москва Репутация: нет Всего: 18 |
Да, и вот еще что. Почему ты пишешь код получения и построения данных на асме ? Не потому ли, что ты не можешь написать этот код в паскале или си ? Так вот - это сделать гораздо легче, чем написать весь код на ассемблере.
-------------------- I don't like the drugs (but the drugs like me). M.Manson. |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Chingachguk !!!!!!!
пишу на асме --- потому , что хочу еще и с машиной разобраться!! наверно ты со мной согласишься , что АСМ --- САМЫЙ МОЩНЫЙ ЯЗЫК!! на паскале -- конечно проще --- но НЕ ИНТЕРЕСНО! можно и на фортране-- тоже не интересно. СИ--- хорошо , но только после асма! пока АСМ не освою , ничего учить не буду. мне так преподаватель информатики рекомендовал. я начинал учиться по КАЛАШНИКОВУ -- он конечно феномен , но его часто заносит --- пишет как будто для людей своего уровня. На его месте я бы вначале все способы адресации объяснил, а потом объяснял оболочку типа дяди нортона , но не наоборот. Вобще то , когда информации мало, колоть асм самостоятельно довольно тяжело, но интересно. |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Chingachguk !!!!!!!
хочу еще с тобой посоветоваться. Как ты считаешь , можно ли в DOS реализовать такой режим , что бы при формировании массива (--- инфа идет из МК по rs-232) сразу было все видно на графике!????? Мне кажется , что нельзя. Наверно для этого должен работать параллельный процессор. То есть один процессор работает на набор , а второй на график. Вообще я слышал , что американцы разработку многопроцессорных систем типа ЕС-эвм продолжают. |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Chingachguk !!!!!!!
я еще про ТРАНСПЬЮТЕРЫ читал. Как думаешь-- почему это направление не развивается? а на счет graphics.com ------ почему то нет -- везде ice-graphics так это для чтения текста. |
|||
|
||||
| _Chingachguk_ |
|
||||
|
Unregistered |
Ну если ты хочешь на асме только, то это здорово. Я сам так начинал.
Я не очень тебя понял, возможно, тебе помогут прерывания. Я в свое время рисовал графики получая данные с КАМАКА, так я использовал графический режим 640x350 и приращение гистограммы рисовал белым цветом (так быстрее). При работе с режимом 13h вообще все просто: там прямая запись байтов в память приводит к немедленной выдачи на монитор. Берешь байт данных, сохраняешь в буфере и сразу рисуешь на экране точку (или столбец).
Ничего не знаю про это. |
||||
|
|||||
| LOXX |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 14.9.2004 Репутация: нет Всего: нет |
Chingachguk !!!!!!! Братишка,помоги!!! Как из биоса вирус вывести,а? Грузится сразу после опроса флоппи...забивает оперативку говном,так что ,пока не забьёт,на экране все цвета радуги прям...или вобще гаснет...я дамп смотрю,но нифига не понимаю...я ж лох... удели внимание,а..? только на тебя вся надежда...
|
|||
|
||||
| Guest |
|
|||
|
Unregistered |
После опроса флоппи ? А может он на винте у тебя ? Слишком мало вирусов умеют переписыать bios.
|
|||
|
||||
| _Chingachguk_ |
|
|||
|
Unregistered |
Прошлое сообщение by me.
|
|||
|
||||
| Guest |
|
|||
|
Unregistered |
_Chingachguk_
а знаешь, оказывается довольно просто формировать массив и строить график одновременно!!!!! Практически одни и те же команды. Даже при высоком разрешении в досе получается. ТОЛЬКО ВОТ ВОПРОС К ТЕБЕ : как можно оценить быстродействие, чтобы наверняка знать какую максимальную скорость передачи по COM порту можно устанавливать без потери данных !????? |
|||
|
||||
![]()
|
| Правила форума "Asm: Общие вопросы" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Asm: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |