Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как сохранить файл, как сохранить график 
:(
    Опции темы
Guest
Дата 13.9.2004, 08:01 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


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
Дата 13.9.2004, 08:11 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











возможно неправильно номер графического режима DOS написал
то ли 11h то ли 12h , но 470*630.
  Вверх
Guest
Дата 13.9.2004, 08:13 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











но это наверно не так важно.
  Вверх
_Chingachguk_
Дата 13.9.2004, 16:39 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


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_
Дата 13.9.2004, 16:40 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Насчет картинок. Для доса можешь поставить себе ~graphics.com - драйвер печати экрана по PrintScreen. После нажатия клавиши он скинет тебе график на печать.
  Вверх
Guest
Дата 13.9.2004, 17:08 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











СПАСИБО!!!
ПОПРОБУЮ РАЗОБРАТЬСЯ.
  Вверх
Chingachguk
Дата 14.9.2004, 06:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1232
Регистрация: 25.3.2002
Где: Москва

Репутация: нет
Всего: 18



Да, и вот еще что. Почему ты пишешь код получения и построения данных на асме ? Не потому ли, что ты не можешь написать этот код в паскале или си ? Так вот - это сделать гораздо легче, чем написать весь код на ассемблере.


--------------------
I don't like the drugs (but the drugs like me). M.Manson.
PM MAIL ICQ   Вверх
Guest
Дата 14.9.2004, 08:00 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Chingachguk !!!!!!!
пишу на асме --- потому , что хочу еще и с машиной разобраться!!
наверно ты со мной согласишься , что АСМ --- САМЫЙ МОЩНЫЙ ЯЗЫК!!
на паскале -- конечно проще --- но НЕ ИНТЕРЕСНО!
можно и на фортране-- тоже не интересно.
СИ--- хорошо , но только после асма!
пока АСМ не освою , ничего учить не буду.
мне так преподаватель информатики рекомендовал.
я начинал учиться по КАЛАШНИКОВУ -- он конечно феномен , но
его часто заносит --- пишет как будто для людей своего уровня.
На его месте я бы вначале все способы адресации объяснил, а
потом объяснял оболочку типа дяди нортона , но не наоборот.
Вобще то , когда информации мало, колоть асм самостоятельно довольно тяжело, но интересно.
  Вверх
Guest
Дата 14.9.2004, 08:28 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Chingachguk !!!!!!!
хочу еще с тобой посоветоваться.
Как ты считаешь , можно ли в DOS реализовать такой режим ,
что бы при формировании массива (--- инфа идет из МК по rs-232)
сразу было все видно на графике!?????
Мне кажется , что нельзя.
Наверно для этого должен работать параллельный процессор.
То есть один процессор работает на набор , а второй на график.
Вообще я слышал , что американцы разработку многопроцессорных
систем типа ЕС-эвм продолжают.
  Вверх
Guest
Дата 14.9.2004, 08:38 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Chingachguk !!!!!!!
я еще про ТРАНСПЬЮТЕРЫ читал.
Как думаешь-- почему это направление не развивается?

а на счет graphics.com ------ почему то нет -- везде ice-graphics
так это для чтения текста.
  Вверх
_Chingachguk_
Дата 14.9.2004, 15:07 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Ну если ты хочешь на асме только, то это здорово. Я сам так начинал.

Цитата
Как ты считаешь , можно ли в DOS реализовать такой режим ,
что бы при формировании массива (--- инфа идет из МК по rs-232)
сразу было все видно на графике!?????


Я не очень тебя понял, возможно, тебе помогут прерывания. Я в свое время рисовал графики получая данные с КАМАКА, так я использовал графический режим 640x350 и приращение гистограммы рисовал белым цветом (так быстрее). При работе с режимом 13h вообще все просто: там прямая запись байтов в память приводит к немедленной выдачи на монитор.

Берешь байт данных, сохраняешь в буфере и сразу рисуешь на экране точку (или столбец).

Цитата
еще про ТРАНСПЬЮТЕРЫ читал.


Ничего не знаю про это.
  Вверх
LOXX
Дата 14.9.2004, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 14.9.2004

Репутация: нет
Всего: нет



Chingachguk !!!!!!! Братишка,помоги!!! Как из биоса вирус вывести,а? Грузится сразу после опроса флоппи...забивает оперативку говном,так что ,пока не забьёт,на экране все цвета радуги прям...или вобще гаснет...я дамп смотрю,но нифига не понимаю...я ж лох... удели внимание,а..? только на тебя вся надежда...

PM MAIL   Вверх
Guest
Дата 14.9.2004, 18:29 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











После опроса флоппи ? А может он на винте у тебя ? Слишком мало вирусов умеют переписыать bios.
  Вверх
_Chingachguk_
Дата 14.9.2004, 18:30 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Прошлое сообщение by me.
  Вверх
Guest
Дата 19.9.2004, 12:33 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











_Chingachguk_

а знаешь, оказывается довольно просто формировать массив
и строить график одновременно!!!!!
Практически одни и те же команды.
Даже при высоком разрешении в досе получается.

ТОЛЬКО ВОТ ВОПРОС К ТЕБЕ :
как можно оценить быстродействие, чтобы наверняка знать
какую максимальную скорость передачи по COM порту можно
устанавливать без потери данных !?????
  Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm: Общие вопросы"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0876 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.