![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 31.08.2007
Сообщений: 28
|
![]()
Всем доброго времени суток,
Задание такое (делается в emu8086): Пользователь вводит координаты левого верхнего (x1, y1) и правого нижнего (x2, y2) углов прямоугольника. Программа должна нарисовать прямоугольник на экране и вывести его периметр (P) и площадь (S). Примечание: Для ввода/вывода использовать прерывания (INT). Не использовать никакие команды "emu, macro" и т.п. Вот код: Код:
2. Можно ли сократить код? Ибо преподу может не понравится такой длинный код. Заранее благодарю за оказанную помощь. |
![]() |
![]() |
![]() |
#2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Я б не сказал что код длинный. Для АСМ это нормально.
I'm learning to live...
|
![]() |
![]() |
![]() |
#3 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
![]() Код:
Код:
Код:
Код:
Последний раз редактировалось Mikl___; 15.12.2015 в 09:38. |
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 16.06.2011
Сообщений: 1,428
|
![]()
..выводить графику функцией 0Сh можно только в качестве примера. Оттрасируй её в отладчике и посмотри за сколько шагов она выполняется. Она настолько тормознутая, что её практически нигде не используют. Обычно копируют точку прямо в видео/память. Вот тебе код на FASM..
Пример окна: Код:
Нашедшего выход - затаптывают первым..
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 31.08.2007
Сообщений: 28
|
![]()
Огромное Вам спасибо за помощь
![]() Вам так же огромное спасибо за помощь ![]() Пробовал запустить Ваш пример на 8086, но при вводе данных в Х координату, мне выдаёт: "this interrupt is not defined yet, it is availabe for custom functions. You can define this interrupt by modifying interrupt vector table. Refer to the list of supported interrupts and global memory table." |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 31.08.2007
Сообщений: 28
|
![]()
А можно ли чем то заменить директиву "include emu8086.inc"? Просто препод хочет,чтоб не использовались директивы и всякие команды macro.
Чем тогда можно заменить "call scan_num" и "call CLEAR_SCREEN"? Чтоб убрать из программы emu8086.inc? |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
откройте emu8086.inc
и скопируйте оттуда код процедур scan_num и CLEAR_SCREEN |
![]() |
![]() |
![]() |
#8 | |
Пользователь
Регистрация: 31.08.2007
Сообщений: 28
|
![]() Цитата:
SCAN_NUM: Код:
![]() Последний раз редактировалось Oxidous; 23.12.2015 в 12:09. |
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
площадь и периметр треугольника за формулой Герона С++ (консольный режим) | программирование | Помощь студентам | 4 | 23.01.2014 23:21 |
Определить периметр и площадь треугольника | skoch | Общие вопросы C/C++ | 6 | 19.04.2013 00:03 |
Линейные алгоритмы. Вычислить периметр и площадь треугольника. | sqr | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 29.10.2011 15:24 |
описать процедуру вычисляющую периметр и площадь равностороннего треугольника по данной стороне А. | Aimet | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 18.06.2011 20:04 |
определить площадь,периметр,биссектрисы и т.п. треугольника | Иоанн IV Грозный | Помощь студентам | 2 | 16.01.2011 20:12 |