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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.06.2010, 12:02   #1
zverozavr
Пользователь
 
Регистрация: 22.03.2010
Сообщений: 22
По умолчанию Рисование пятиугольника

Всем доброго времени суток.
Продолжаю изучать асм, но чтото задания опережают мои познания ...
Нам задали лабораторную по компьютерной графике(написать на асме):
Надо в окне нарисовать 5ти угольник и кнопками с клавиатуры управлять им (перемещение по осям и масштабирование) ...
Может кто сможет с кодом помочь или хотя бы подсказать что да как примерно делать (какие библиотеки и приёмы использовать) ???
Есть ещё вариант сделать на С++ со вкладками ассемблера ... но этот вариант меня ещё более в стопор вводит ... какие именно вкладки на асме делать - я хз
zverozavr вне форума Ответить с цитированием
Старый 01.06.2010, 12:36   #2
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,162
По умолчанию

zverozavr
пиши полностью на С++, а потом посмотри через встроенный в С++ отладчик в какой ассемблерный код это все превратится. Для лучшего понимания отключи оптимизацию при создании программы на С++
Mikl___ вне форума Ответить с цитированием
Старый 01.06.2010, 16:27   #3
Ulex
Непрофессионал
Участник клуба
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Сообщений: 1,432
По умолчанию

Вот вам для примера исходник на masm-е, может быть поможет чем нибудь. Это кусок моего "3D моделиста", а именно GDI часть плоскостного редактора. Всё лишнее я постарался поудалять, правда мог и полезное что нибудь тоже подмахнуть. Ну да для примера подойдёт.
Вложения
Тип файла: rar PloskRed.rar (129.0 Кб, 32 просмотров)
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru
Ulex вне форума Ответить с цитированием
Старый 02.06.2010, 21:17   #4
zverozavr
Пользователь
 
Регистрация: 22.03.2010
Сообщений: 22
По умолчанию

Ulex, спасибо но это не то немного
надо чтобы уже был нарисован пятиугольник а не рисовать его по размерам
zverozavr вне форума Ответить с цитированием
Старый 02.06.2010, 21:31   #5
Ulex
Непрофессионал
Участник клуба
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Сообщений: 1,432
По умолчанию

Я же сразу сказал - это пример работы с графикой GDI.
На самом деле в этой программе есть всё, что вам надо:
1. Перемещение, масштабирование фигур (здесь реализовано мышью, вам надо только переделать на кнопки).
2. Функции рисования плоских примитив (выпуклых многоугольников).
Частные случаи треугольник и квадрат. Например, если вы нажмёте кнопочку "окружность" и выберете точность равную пяти, то получите пятиугольник. Просто вам надо эту функцию вызвать не по кнопке, а где нибудь по старту.
Вобщем надо программу чуть переделать.
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru
Ulex вне форума Ответить с цитированием
Старый 02.06.2010, 21:53   #6
Polos
 
Регистрация: 02.06.2010
Сообщений: 9
По умолчанию

Топикстартер, у нас тоже была подобная лаба, только мы малевали треугольник. Могу кинуть с комментариями. Нужно?(лучше в личку чиркани, если надо).
Polos вне форума Ответить с цитированием
Старый 02.06.2010, 22:12   #7
zverozavr
Пользователь
 
Регистрация: 22.03.2010
Сообщений: 22
По умолчанию

Чувствую себя ламером, но не могу найти как писать в личку
Polos, буду очень признателен если скинешь.

Пи.Си. буду не против если ещё и подскажите что куда и где менять хотябы образно
zverozavr вне форума Ответить с цитированием
Старый 03.06.2010, 01:49   #8
Polos
 
Регистрация: 02.06.2010
Сообщений: 9
По умолчанию

Увы прога без комментов. Но могу кое чего объяснить..хотя тут люди поумнее меня будут)....

dseg SEGMENT 'DATA'
x1 DW 140
y1 DW 100
x2 DW 180
y3 DW 60
n DW 140
m DW 100
x DW 140
y DW 100
dseg ENDS
cseg SEGMENT 'CODE'
ASSUME DSseg,CS:cseg
start:
MOV AX, dseg
MOV DS, AX

mov ax, 0004h
int 10h
mov ah, 0bh
mov bh, 01
mov bl, 00
int 10h
@1:
MOV AH, 0Ch
MOV BH, 0
MOV AL, 10
MOV DX, y1
MOV CX, x1
INT 10h
INC CX
MOV x1, CX
CMP CX, x2
JE @2
JNE @1
@2:
MOV DX, m
MOV CX, n
DEC DX
INC CX
MOV x1, CX
MOV y1, DX
MOV m, DX
MOV n, CX
CMP DX, y3
JE @3
JNE @1
@3:
MOV AH, 08h
INT 21h
CMP AL, 4Ah
JE @move
CMP AL, 4bh
JE @move_left
CMP AL, 48h
JE @move_up
CMP AL, 50h
JE @move_down
CMP AL, 53h
JE @end
CMP AL, 4Dh
JE @move_right
@move:
CALL stupid
@move_left:
CALL CLEAR
DEC x
MOV AX, x
MOV x1, AX
MOV n, AX
DEC x2
MOV AX, y
MOV m, AX
MOV y1, AX
JMP @1
@move_up:
CALL CLEAR
DEC y
MOV AX, y
MOV y1, AX
MOV m, AX
DEC y3
MOV AX,x
MOV n, AX
MOV x1, AX
JMP @1
@move_down:
CALL CLEAR
INC y
MOV AX, y
MOV y1, AX
MOV m, AX
INC y3
MOV AX,x
MOV n, AX
MOV x1, AX
JMP @1
@end:
MOV AH, 4ch
INT 21h
@move_right:
CALL CLEAR
INC x
MOV AX, x
MOV x1, AX
MOV n, AX
INC x2
MOV AX, y
MOV m, AX
MOV y1, AX
JMP @1
CLEAR PROC
mov ax,0004h
int 10h
ret
CLEAR ENDP
STUPID proc
CALL CLEAR
MOV AX, x
MOV x1, AX
MOV n, AX
MOV AX, y
MOV m, AX
MOV y1, AX
JMP @1
STUPID ENDP
cseg ENDS
Polos вне форума Ответить с цитированием
Старый 03.06.2010, 14:19   #9
zverozavr
Пользователь
 
Регистрация: 22.03.2010
Сообщений: 22
По умолчанию

эм ... чтото не догоню где тут подвох О.О
особенно Ступид меня прям не радует
zverozavr вне форума Ответить с цитированием
Старый 03.06.2010, 17:11   #10
Polos
 
Регистрация: 02.06.2010
Сообщений: 9
По умолчанию

Какой подвох? никаких подвохов. скомпилируй, глянь)
Polos вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рисование Granus Общие вопросы Delphi 2 24.12.2008 07:44
Рисование TriCERATOP Помощь студентам 5 28.11.2008 15:09
Рисование... HunterMan Win Api 10 30.04.2008 23:46