Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Trombovoz
2 / 2 / 0
Регистрация: 29.12.2013
Сообщений: 81
1

Построить фигуру

11.01.2016, 22:42. Просмотров 736. Ответов 8
Метки нет (Все метки)

Всем привет. Есть такой код:
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
                ;Установим графический режим EGA
mov АН,00h  ;(1)Функция задания режима
mov AL,10h  ;(2)Графический режим EGA
int 10h     ;(3)Вызов BIOS 
                ;Нарисуем прямую линию в цикле по Х
mov SI,150  ;(4)Начальная Х-координата
mov CX,5    ;(5)Число точек по горизонтали
line:   push CX ;(6)Сохраним его в стеке
mov AX,0Ch  ;(7)Функция вывода пиксела
mov AL,4    ;(8)Цвет красный
mov ВН,0    ;(9)Видеостраница
mov CX,SI   ;(10)Х-координата (переменная)
mov DX,175  ;(11)Y-координата (константа)
int 10h         ;(12)Вызов BIOS
inc SI      ;(13)Инкремент Х-координаты
pop CX          ;(14)Восстановим счетчик шагов
loop line   ;(15)Цикл из CX шагов
                ;Остановим программу для наблюдения результата ее работы
mov АН,08h  ;(16)Функция ввода с клавиатуры без эха
int 21h     ;(17)Вызов DOS
                ;Переключим видеоадаптер назад в текстовый режим
mov АН,00h  ;(18)Функция задания режима
mov AL,03h  ;(19)Текстовый режим
int 10h         ;(20)Вызов BIOS
Который выводит на экран 5 точек.
Вопрос: как сделать так, чтобы точки выстроить такой фигурой:
*
**
***
?

Добавлено через 4 часа 17 минут
Thanks for help my diary guys! I would not cope without you <3
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2016, 22:42
Ответы с готовыми решениями:

Нарисовать фигуру
Помогите плиз нарисовать фигуру в TASM.

Рисуем фигуру в Assembler
Здравствуйте, помогите, пожалуйста, нарисовать вот такую фигуру заранее спасибо. Я новичок в...

Вывести из символов ascii фигуру
Добрый вечер! В общем задание следующее вывести и символов ассемблера перевернутую...

3D графика - вывести фигуру, вращающийся ромб
нужно вывести фигуру, вращающийся ромб. там должно задаваться углы поворота относительно декартовой...

Написать программу выводящую на экране фигуру куб
Ассемблер. Написать программу выводящую на экране фигуру куб.

8
Полный 30h
Эксперт быдлокодинга
1822 / 447 / 61
Регистрация: 04.11.2010
Сообщений: 1,226
12.01.2016, 00:00 2
Цитата Сообщение от Trombovoz Посмотреть сообщение
Который выводит на экран 5 точек.
Вопрос: как сделать так, чтобы точки выстроить такой фигурой:
*
**
***
Это задачка на внимательность, а не на программирование.
Ответ: из пяти точек нельзя сделать такую фигуру потому что фигура содержит шесть точек.
1
23
45
6
0
Trombovoz
2 / 2 / 0
Регистрация: 29.12.2013
Сообщений: 81
12.01.2016, 00:09  [ТС] 3
Какая внимательность? Это просто пример проги, которая выводит 5 точек в линию. А мне нужно вывести треугольник из звездочек. Количество можно увеличить до 6.... в чем проблема.
0
Полный 30h
Эксперт быдлокодинга
1822 / 447 / 61
Регистрация: 04.11.2010
Сообщений: 1,226
12.01.2016, 00:26 4
Цитата Сообщение от Trombovoz Посмотреть сообщение
А мне нужно вывести треугольник из звездочек. Количество можно увеличить до 6.... в чем проблема.
Да нет проблем. Нужно так нужно. Уберите цикл и задавая для каждой точки свои координаты XY выведете их на экран.
0
Trombovoz
2 / 2 / 0
Регистрация: 29.12.2013
Сообщений: 81
12.01.2016, 01:09  [ТС] 5
Это слишком просто для учителя Нужно обязательно с циклом. Вот такие у нас учителя.
0
Charles Kludge
Клюг
7647 / 3162 / 383
Регистрация: 03.05.2011
Сообщений: 8,382
12.01.2016, 02:09 6
Дык, как-то так:
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
;FASM/DOS
    org 100h
    mov ax, 600h
    mov bh, 0Ah
    xor cx, cx
    mov dx, 1950h   ; 25x80
    int 10h     ; clear screen
    mov cx, 3
    mov dx, 0A27h   ; 10x39
    mov di, 1
@@: inc dh      ; row
    mov ah, 2
    xor bx, bx
    int 10h     ; set cursor position
    xchg    cx, di
    mov ax, 092Ah
    mov bx, 0Ah     ; green on black
    int 10h     ; write character and attribute 
                ; at cursor position CX times
    xchg    cx, di
    inc di
    loop    @B
    xor ax, ax      ; wait for any keypress
    int 16h
    ret
1
proc3nt
волшебник
947 / 520 / 156
Регистрация: 26.05.2012
Сообщений: 1,471
12.01.2016, 14:45 7
Цитата Сообщение от Trombovoz Посмотреть сообщение
mov AX,0Ch ;(7)Функция вывода пиксела
номер функции должен быть занесен в регистр ah
Assembler
1
mov AH,0Ch
0
Mikl___
Автор FAQ
13384 / 6385 / 630
Регистрация: 11.11.2010
Сообщений: 11,549
12.01.2016, 15:13 8
Charles Kludge,
я бы проще написал
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
; masm dos com #
.286
.model tiny
.code
org 100h
start: mov ax,3
         int 10h
         mov bx,0Fh
         mov cx,3
         mov dx,200h
@@:   mov ah,2
         int 10h
         mov ax,900h+"*"
         int 10h
         dec dh
         loop @b
         mov ah,0
         int 16h
         ret
end start
3
Trombovoz
2 / 2 / 0
Регистрация: 29.12.2013
Сообщений: 81
18.01.2016, 00:34  [ТС] 9
Спасибо Можно немного объяснить, как работает код? В моем понимании, чтобы вывести на экран такой треугольник, нужно вывести 1 звезду на некой координате, затем на 1 координату вычислить и увеличить на 1 звезду, затем сделать тоже самое. Верно ли так думаю? или можно проще как то....
0
18.01.2016, 00:34
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.01.2016, 00:34

Программа которая выводит цветную фигуру на экран монитора
Здравствуйте форумчане, вообщем есть программа которая выводит ярко-зеленый квадрат на экран: .286...

Построить фигуру
Как вообще такие задания делать?Подскажите пожалуйста.Задание 1 Задание набирать ручками!

Построить фигуру
Помогите построить эти фигуры


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru