|
1045 / 315 / 74
Регистрация: 13.07.2013
Сообщений: 1,270
|
||||||
Программа выведения точек (линии) на экране13.07.2013, 18:29. Показов 3038. Ответов 19
Метки нет (Все метки)
Господа!
Я очень долго шарил по Интернету в поисках материалов по Ассемблеру - ничего дельного не нашел и потерял надежду самому написать на нем программу. Мне нужна программа-вставка в программу Тубро Бейсика. Она должна чертить линию (вертикальную) с задаными координатами начала и конца (координаты лучше бы через регистры передавать). В общем она должна выполнять примерно следующий алгоритм:
1). Иметь наибольшее возможное разрешение экрана 2). Не очищать экран после завершения своей работы. Поможете?
0
|
||||||
| 13.07.2013, 18:29 | |
|
Ответы с готовыми решениями:
19
Программа для создания файла, записи в него, чтения и выведения результата по формуле Программа для создания файла,записи в него, чтения и выведения результата по формуле |
|
1779 / 757 / 153
Регистрация: 03.06.2009
Сообщений: 5,940
|
||||||
| 13.07.2013, 20:35 | ||||||
|
Быстрее всего вывести вертикальную линию в режиме 13h (320*200*256 цветов):
З.Ы. Не проверял, но должно работать
1
|
||||||
|
1045 / 315 / 74
Регистрация: 13.07.2013
Сообщений: 1,270
|
|
| 13.07.2013, 23:42 [ТС] | |
|
Большое Вам спасибо! =)
0
|
|
|
6773 / 2741 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
|
|
| 14.07.2013, 10:52 | |
|
0
|
|
| 14.07.2013, 12:22 [ТС] | ||
|
Не по теме:
0
|
||
|
1127 / 261 / 9
Регистрация: 11.06.2010
Сообщений: 1,049
|
|
| 14.07.2013, 12:59 | |
|
Good-Morning, нужно только включить голову, открыть справочник по командам ассемблера, и начать читать и думать. Главное - знать, что хочешь сделать. Если не знаешь, то бесполезно что-то делать.
0
|
|
|
6773 / 2741 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
|
||||||
| 14.07.2013, 13:08 | ||||||
|
Взял из Википедии реализацию алгоритма Брезенхема на C++ и записал то-же
самое на ассемблере. В данном случае для монохромного графического режима CGA 640*200.
1
|
||||||
|
1045 / 315 / 74
Регистрация: 13.07.2013
Сообщений: 1,270
|
|||
| 14.07.2013, 13:12 [ТС] | |||
|
Не по теме:
Добавлено через 2 минуты ... Спасибо?..
0
|
|||
|
6773 / 2741 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
|
|||
| 14.07.2013, 13:31 | |||
|
>пробовал так запустить - не фурычит так это как ? Текстовый файл запускал ? Добавлено через 13 минут Компиляция : tasm /m/l proga.asm tlink /t proga.obj
1
|
|||
|
1045 / 315 / 74
Регистрация: 13.07.2013
Сообщений: 1,270
|
|||||
| 14.07.2013, 13:40 [ТС] | |||||
|
Добавлено через 1 минуту Добавлено через 55 секунд
0
|
|||||
|
6773 / 2741 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
|
|
| 14.07.2013, 13:45 | |
|
--------------------------
0
|
|
|
232 / 102 / 5
Регистрация: 18.04.2010
Сообщений: 294
|
|
| 14.07.2013, 14:19 | |
|
del
1
|
|
|
Ушел с форума
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
|
|
| 15.07.2013, 04:26 | |
|
Закрепленная тема FAQ для раздела Assembler, MASM, TASM, открываем содержание, находим Рисование линий на экране по ссылке законченная программа, а не фрагмент программы, но если ТС "like an octopus with asshole-driven hands" — тут уже ничем не поможешь...
1
|
|
|
6773 / 2741 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
|
|
| 15.07.2013, 10:08 | |
|
Что-то в этом FAQ черезчур громоздкая реализация алгоритма Брезенхема для линии.
Я нарисовал гораздо более лаконичную. У меня там вообще переменные не используются, только одни регистры. И если подпрограмму Plot заменить, то выйдет рисование линии для других видеорежимов.
0
|
|
|
Ушел с форума
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
|
|
| 15.07.2013, 11:00 | |
|
Ethereal,
это из Майкла Абраша "Таинства программирования графики", 1995, я не оптимизировал, можно сравнить с твоим кодом и создать что-нибудь более и совершенное и быстрое, главное поставить цель
0
|
|
|
1045 / 315 / 74
Регистрация: 13.07.2013
Сообщений: 1,270
|
||
| 15.07.2013, 14:02 [ТС] | ||
... Спасибо...
0
|
||
|
6773 / 2741 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
|
|
| 15.07.2013, 14:20 | |
|
В том примере из FAQ неплохо бы очепятки исправить мелкие.
Строчки org 100h .code поменять местами В строчке .start: убрать точку В строчках 46 и 139 переместить ; к началу строки
2
|
|
|
Клюг
7677 / 3192 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
|
|
| 20.07.2013, 14:24 | |
|
Хм, нашел либу того же Tenie Remmel'я, который написал glib для modeX, но уже в разрешении 640х400x256, и заточеную под purebasic: http://www.filegate.net/pdn/pdnbasic/pbagi.zip
P.S. васика не знаю, так что...
1
|
|
|
6773 / 2741 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
|
||||||
| 21.07.2013, 18:01 | ||||||
|
Блин, в предыдущем своем варианте кода допустил ошибку из-за чего линия
выходит излишне ступенчатой. Исправляюсь. Вот пример рисования линии из FAQ в предельно оптимизированном виде :
2
|
||||||
|
Ушел с форума
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
|
|
| 22.07.2013, 02:56 | |
|
Ethereal,
за имена меток: _, __, ___ отдельное спасибо, век живи — век учись
0
|
|
| 22.07.2013, 02:56 | |
|
Помогаю со студенческими работами здесь
20
Рисование на экране линии или фигуры Серые линии на экране с видеокартой 9600GT Линии и полоски на экране. Что с видеокартой?
Изобразить на экране куб, выделив пунктиром невидимые линии Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет
значение производной при заданном х
Логарифм записывается как: (x-2)log(x^2+2) -. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|