Мне нужно создать программу, которая печатает четыре треугольника.первые два смотрят направо, а остальные - налево.Я не могу понять, как заставить их смотреть влево.
Я попытался повторно использовать код для первых двух треугольников и изменить его в соответствии с потребностями задания, однако он не печатается правильно
org 100h
.model small
.stack 256
.data
input db "Enter the size for the triangles between 3 and 9, or 0 to quit: $"
size dw ?
.code
main proc
mov AX, @data
mov DS, AX
prompt:
mov AH, 09h
lea DX, input
int 21h
mov AH, 01h
int 21h
cmp AL, '0'
;je exit
sub AL, '0'
mov AH, 0
mov size, AX
mov CX, AX
mov BX, 1
call CRLF
;---------------------------------------------------
; First Triangle
lines1:
push CX
mov CX, BX
stars1:
mov AH, 02h
mov DL, '*'
int 21h
loop stars1
call CRLF
inc BX
pop CX
loop lines1
space3:
mov AH, 02h
mov DL, '-'
int 21h
call CRLF
mov CX, size
;---------------------------------------------------
; Second Triangle
lines2:
push CX
space2:
mov AH, 02h
mov DL, ' '
int 21h
stars2:
mov AH, 02h
mov DL, '*'
int 21h
loop stars2
call CRLF
pop CX
loop lines2
call CRLF
mov CX, size
mov BX, 1
;--------------------------------------------------
;triangle 3
lines3:
push CX
;mov CX, BX
stars3:
mov DL, '*'
mov AH, 02h
int 21h
loop stars3
call CRLF
inc BX
pop CX
loop lines3
call CRLF
mov CX, size
mov BX, 1
;---------------------------------------------------
; space
lines4:
push CX
mov CX, BX
space1:
mov AH, 02h
mov DL, '-'
int 21h
loop space1
call CRLF
inc BX
pop CX
;---------------------------------------------------
; foruth Triangle
lines5:
push CX
space:
mov AH, 02h
mov DL, ' '
int 21h
stars4:
mov AH, 02h
mov DL, '*'
int 21h
loop stars4
call CRLF
pop CX
loop lines5
call CRLF
mov CX, size
mov BX, 1
;--------------------------------------------------
main endp
CRLF proc
mov AH, 02h
mov DL, 13
int 21h
mov DL, 10
int 21h
ret
CRLF endp
выход должен быть следующим.У меня есть первые два треугольника, которые можно напечатать, но не второй набор.