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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.10.2011, 15:05   #1
Amursk55
 
Регистрация: 17.10.2011
Сообщений: 4
По умолчанию Ассемблер. Графический режим.

Задание такое: написать программу на языке assembler которая выводит на экран флаг Польши.
(Желательно [но не обязательно]использовать компилятор TASM)
мне нужен текст программы по возможности с комментариями (чем чаще - тем лучше)
Надеюсь на Ваше понимание. Заранее премного благодарен.
Amursk55 вне форума Ответить с цитированием
Старый 17.10.2011, 15:59   #2
Ang15
Пользователь
 
Регистрация: 02.07.2011
Сообщений: 38
По умолчанию

Написание кода можно упрощённо описать так:
1. Перейти в определённый графический видеорежим.
2. В каждом графическом видеорежиме свои принципы работы с видеопамятью. Например, в одном из самых простых графическом CGA режиме первая половина видеопамяти содержит данные относительно всех нечетных линий экрана, а вторая половина - относительно всех четных линий; поддержка идёт всего 4-ёх цветов, поэтому каждому пикселу отводится всего два бита => 1 байт = 4 пиксела.
3. Исходя из этой информации написать процедуру по вводу информации в видеопамять.
Ang15 вне форума Ответить с цитированием
Старый 17.10.2011, 16:47   #3
yuran666666
Форумчанин
 
Аватар для yuran666666
 
Регистрация: 23.04.2009
Сообщений: 346
По умолчанию

Нет, ну задание простое, конечно же, и совсем ненавязчивое, ну комментарии там на каждый nop, это все легко и непринужденно, но как флаг именно польши-то вывести? Могу только с флагом этой страны, все другое - за нефть
Нет, ну правда..
yuran666666 вне форума Ответить с цитированием
Старый 17.10.2011, 17:13   #4
Amursk55
 
Регистрация: 17.10.2011
Сообщений: 4
По умолчанию

Просто, чтоб экран был поделен на две половины по горизонтали. Верхняя половина белая, нижняя красная.
Amursk55 вне форума Ответить с цитированием
Старый 17.10.2011, 20:29   #5
Tronix
Форумчанин
 
Аватар для Tronix
 
Регистрация: 15.06.2010
Сообщений: 740
По умолчанию

15$ вебмани или яндекс. 15 минут.
Чтобы понять рекурсию, сперва нужно понять рекурсию.
Tronix вне форума Ответить с цитированием
Старый 18.10.2011, 12:18   #6
yuran666666
Форумчанин
 
Аватар для yuran666666
 
Регистрация: 23.04.2009
Сообщений: 346
По умолчанию

Код:
.model 	tiny ;тут мог быть ваш комментарий
.code ;тут мог быть ваш комментарий
.286 ;тут мог быть ваш комментарий
org 	100h ;тут мог быть ваш комментарий
start:    ;тут мог быть ваш комментарий
  mov 	al,13h ;тут мог быть ваш комментарий
  int 	10h ;тут мог быть ваш комментарий
  push 	0A000h ;тут мог быть ваш комментарий
  pop 	es ;тут мог быть ваш комментарий
  mov 	al, 15 ;тут мог быть ваш комментарий
  _loop: ;тут мог быть ваш комментарий
	  mov 	cx, 31680 ;тут мог быть ваш комментарий
	  repne stosb ;тут мог быть ваш комментарий
	  cmp al, 04h ;тут мог быть ваш комментарий
	  je $  ;тут мог быть ваш комментарий
	  mov al, 04h ;тут мог быть ваш комментарий
  jmp _loop ;тут мог быть ваш комментарий
end start ;тут мог быть ваш комментарий

;не благодари
Нет, ну правда..
yuran666666 вне форума Ответить с цитированием
Старый 18.10.2011, 14:00   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

yuran666666, супер!


тут недавно кто-то спрашивал Флаг Монако на ассемблере.
Цитата:
Флаг Монако представляет собой полотнище с двумя равновеликими полосами, размещёнными горизонтально. Сверху — полоса красного цвета, снизу — белого.
дык, имхо, после небольшой доработки, несложно получить и такой.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 19.10.2011, 13:12   #8
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

yuran666666
а я бы сделал так
Код:
.286
.model tiny
.CODE
org 100h
start:	mov ax,3
	int 10h
	push 0B800h
	pop es
	mov di,160*2
	mov ax,0FDBh
	mov cx,80*10
	rep stosw
	sub ah,3
	mov cx,80*10
	rep stosw
	mov ah,0
	int 16h
	retn
END start
Хотя, на самом деле, это текстовый режим, но если показать результат -- преподаватель вряд ли придерется

Последний раз редактировалось Mikl___; 19.10.2011 в 14:50.
Mikl___ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Графический режим в QBasic nikolajgus Помощь студентам 1 11.06.2011 01:07
Графический режим Dead Romantic Помощь студентам 0 14.12.2010 22:17
Графический режим в FP fire_on Паскаль, Turbo Pascal, PascalABC.NET 1 17.01.2010 13:16
Графический режим galaid Паскаль, Turbo Pascal, PascalABC.NET 2 05.05.2009 17:51
Графический режим в С Raz0r Помощь студентам 4 03.03.2008 16:49