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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.12.2009, 21:17   #1
iggor
Пользователь
 
Регистрация: 15.03.2009
Сообщений: 34
По умолчанию изображения в формате PCX

Мне нужно вывести на экран стрелку вправо. Метка line4 рисует сам конец стрелки, но никак не получается переместить эту линию по оси x....
и нарисовать line5 чтоб стрелка замкнулась!!! помогите....

Код:
text segment 'code';Начало сегмента команд

assume CS:text,DS:text 

begin:mov AX,text;Инициализация сегментного

mov DS,AX ;регистра DS

;Установим графический режим EGA

mov AH,00h ;(1)Функция задания режима

mov AL,10h ;(2)Графический режим EGA

int 10h ;(3)Вызов BIOS

;Нарисуем прямую линию в цикле по X

mov SI,150 ;(4)Начальная X координата

mov CX,200 ;(5)Число точек по горизонтали

line: push CX ;(6)Сохраним его в стеке

mov AH,0Ch ;(7)Функция вывода пикселя

mov AL,4 ;(8)Цвет красный

mov BH,0 ;(9)Видеостраница

mov CX,SI ;(10)X координата (переменная)

mov DX,150 ;(11)Y координата (константа)

int 10h ;(12)Вызов BIOS

inc SI ;(13)Инкремент X координаты

pop CX ;(14)Восстановим счетчик шагов

loop line ;(15)Цикл из CX шагов

mov SI,150

mov CX,200 
line2: 
push CX 

mov AH,0Ch 

mov AL,5 

mov BH,0 

mov CX,SI 

mov DX,250 

int 10h 

inc SI 

pop CX 

loop line2 
mov dx,150 

mov CX,100 
line3: 
push CX 

mov AH,0Ch 

mov AL,1 

mov BH,0 

mov CX,150 

mov si,dx 

int 10h 

inc dx 

pop CX 

loop line3

mov dx,150

mov cx,50 
line4: 
push CX 

mov AH,0Ch 

mov AL,6 

mov BH,0 
mov si,50 

mov cx,dx 

int 10h 

inc dx 

pop CX 

loop line4 
Mov AH,08h

int 21h ;(17)Вызов DOS

;Переключим видеоадаптер

;назад в текстовый режим

mov AH,00h;(18)функция задания режима

mov AL,03h ;(19)Текстовый режим

int 10h ;(20)Вызов BIOS

mov AX,4C00h

int 21h

text ends ;Конец сегмента команд

end begin
iggor вне форума Ответить с цитированием
Старый 19.12.2009, 13:21   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

А позвольте поинтересоваться: а какое это отношение имеет к теме? Где тут изображение в формате PCX?



и ещё, не могу понять на рисунке, где Вы увидели стрелочку?! line3 - это вертикальная линия синего цвета...
что Вы собственно хотите получить в результате?

__________
мне кажется, я догадался..

такое хотите получить?

Последний раз редактировалось Serge_Bliznykov; 19.12.2009 в 13:40.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 19.12.2009, 15:57   #3
iggor
Пользователь
 
Регистрация: 15.03.2009
Сообщений: 34
По умолчанию

ой, ссори, виноват...это графический режим EGA!! line3 это синего цвета. line4 оранжевого цвета вот ее я не знаю как по оси х переместить. И именно такую стрелку мне надо получить как на втором рисунке...
iggor вне форума Ответить с цитированием
Старый 19.12.2009, 19:38   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

держи (подправленная процедурка вывода line4 и новая процедурка рисования line5)
Код:
   ; нарисуем первую (верхнюю) половинку стрелочки
   mov dx,150 ; начальная позиция по оси Y
   mov si,350 ; нач. по оси X
   mov cx,50 ; длина линии 
line4: 
   push CX 
   mov AH,0Ch 
   mov AL,6 
   mov BH,0 

   mov cx,si
   int 10h 
   inc dx 
   inc si
   pop CX 
   loop line4 

   ; нарисуем вторую половинку стрелочки
   mov dx,200 ; начальная позиция по оси Y
   mov si,400 ; нач. по оси X
   mov cx,50 ; длина линии 
line5: 
   push CX 
   mov AH,0Ch 
   mov AL,6 
   mov BH,0 

   mov cx,si
   int 10h 
   inc dx 
   dec si

   pop CX 
   loop line5
Serge_Bliznykov вне форума Ответить с цитированием
Старый 19.12.2009, 23:45   #5
iggor
Пользователь
 
Регистрация: 15.03.2009
Сообщений: 34
По умолчанию

Serge_Bliznykov спасибо огромное!!!!!!!
iggor вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как текстовый файл в формате word 2007 переделать в файл в формате ZAY JULIA Microsoft Office Word 13 09.06.2010 19:43
bmp в pcx varelik Общие вопросы Delphi 0 16.12.2009 17:10
NVidia GeForce pcx 5900 драйвера для windows 7 Яр|/||< (^_^) Компьютерное железо 1 05.12.2009 13:09
Чтение изображения из базы данных, Вместо изображения - "System.Byte[]" ruelCrow Общие вопросы .NET 3 10.07.2008 23:29
Текст в формате Terminal Dunpeal Общие вопросы Delphi 1 19.12.2007 08:17