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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.11.2008, 22:28   #1
designer
Пользователь
 
Регистрация: 27.10.2008
Сообщений: 10
Стрелка вывести звёздочки прямоугольником

нужно переделать эту прогу так чтобы "*"звёздочки выводило прямоугольником например
****
****(4х4)
****
****

(эта прога выдает прямоугольным триугольником
*
**
***
****)

кто-то сможет мне помоч?

аська 415-135-989

Код:
sseg segment stack
	db 64 dup(?)
sseg ends
code segment
	assume cs:code,ss:sseg
start    proc far
 	push ds
	mov ax,0
	push ax
	call READ
	push ax
	call PSBK
	pop ax
	mov bl,al
	mov cl,1
m1:	mov dl,'*'
	call zirk
	inc cl
	cmp cl,bl
	jle m1
	ret
start 	endp
zirk 	proc
	mov ch,cl
m2:	call putchar
	dec ch
	jnz m2
	call PSBK
	ret
zirk 	endp
PUTCHAR proc
	mov ah,2
	int 21h
	ret
PUTCHAR endp
PSBK	proc
	mov dl,10
        call PUTCHAR
	mov dl,13
	call PUTCHAR
	ret
PSBK 	endp
READ 	proc
	mov ah,1
	int 21h
	sub al,60q
	ret
READ    endp
CODE 	ends
	end start

Последний раз редактировалось rpy3uH; 09.11.2008 в 18:57.
designer вне форума Ответить с цитированием
Старый 08.11.2008, 23:33   #2
Somebody
Участник клуба
 
Регистрация: 08.10.2007
Сообщений: 1,185
По умолчанию

mov cl,1 ; тут начальное количество звёздочек в строке
m1: mov dl,'*'
call zirk
inc cl ; тут увеличение кол-ва звёздочек для каждой следующей строки
cmp cl,bl
jle m1
ret
Somebody вне форума Ответить с цитированием
Старый 08.11.2008, 23:41   #3
designer
Пользователь
 
Регистрация: 27.10.2008
Сообщений: 10
По умолчанию ))

"mov cl,1 ; тут начальное количество звёздочек в строке"
и чем вы мне помогли? я это понимаю... я прошу изменить программу так чтобы выводило прямоугольником а не триугольником....

Последний раз редактировалось designer; 08.11.2008 в 23:46.
designer вне форума Ответить с цитированием
Старый 09.11.2008, 01:09   #4
Somebody
Участник клуба
 
Регистрация: 08.10.2007
Сообщений: 1,185
По умолчанию

zirk proc
mov ch,cl → mov ch,bl

Последний раз редактировалось Somebody; 09.11.2008 в 13:24.
Somebody вне форума Ответить с цитированием
Старый 10.11.2008, 11:51   #5
Min
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 239
По умолчанию

очень нерационально.... много лишнего.... проще заново переписать....
Код:
sseg segment stack
	db 64 dup(?)
sseg ends
code segment
	assume cs:code,ss:sseg
start:
mov ah,1
int 21h
sub al,'0'
mov bl,al
xor bh,bh
mov ah,2

mov cx,bx
loopY:
push cx

mov cx,bx
mov dl,13
int 21h
mov dl,10
int 21h

loopX:
mov dl,'*'
int 21h
loop loopX

pop cx
loop loopY

mov ah,8
int 21h

CODE 	ends
	end start
Надо бы избавиться от привычки ставить многоточие.....
Min вне форума Ответить с цитированием
Старый 13.11.2008, 09:52   #6
designer
Пользователь
 
Регистрация: 27.10.2008
Сообщений: 10
По умолчанию

спс всё работает, но я увы уже переделал сам свой исходник!

Цитата:
Сообщение от Somebody Посмотреть сообщение
zirk proc
mov ch,cl → mov ch,bl
спс-всё гудд)

Последний раз редактировалось rpy3uH; 13.11.2008 в 10:16.
designer вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывести на панель задач Shouldercannon Общие вопросы Delphi 9 07.11.2008 21:23
Можно ли в StringGrid вывести....... diznt Помощь студентам 5 03.09.2008 18:54
как вывести текст из БД nikleb PHP 2 27.06.2008 10:13
Вывести код программы Mr.Crowley Общие вопросы Delphi 5 11.06.2008 19:08
Не получается вывести график RECREATOR Общие вопросы Delphi 7 23.12.2007 01:23