我有这个代码,我需要创建一个三角形。
我希望每次执行cont2
时递减ciclo2
变量。有人可以帮我吗?我无法找到减量的地方。
org 100h
;selecciona modo de vídeo
mov ah, 4FH
mov al, 02
mov bx, 13h ;modo gráfico 13H
int 10h
mov cx, 80 ;coluna
mov dx, 80 ;linha
mov [cont], 30
cicloc2: ;ciclo que repete a linha até fazer um quadrado
mov [cont2], 30
cicloc1: ;ciclo que cria a linha
;ativa um pixel
mov ah, 0Ch ;desenha nos pixeis do ecra
mov al, 4 ;determina a cor
mov bh, 0 ;numero de pagina grafica
int 10h
dec cx
dec [cont2]
jnz cicloc1
mov cx, 80
dec dx
dec [cont2]
dec [cont]
jnz cicloc2
;leitura dummy para parar o ecran
mov ah, 07h
int 21h
;terminar, retorna ao SistemaOperativo
mov ah, 4ch
int 21h
;DECLARAÇÕES
cont rb 1
cont2 rb 1
答案 0 :(得分:0)
所以你希望内循环在外循环的每次迭代中少执行一次迭代?您可以通过使用外部循环计数器的值初始化内部循环计数器来完成此操作:
cicloc2: ;ciclo que repete a linha até fazer um quadrado
mov al,[cont]
mov [cont2], al ; cont2 will be initialized with 30, 29, 28, ...
cicloc1: ;ciclo que cria a linha
;ativa um pixel
mov ah, 0Ch ;desenha nos pixeis do ecra
mov al, 4 ;determina a cor
mov bh, 0 ;numero de pagina grafica
int 10h
dec cx
dec byte [cont2]
jnz cicloc1
mov cx, 80
dec dx
dec byte [cont]
jnz cicloc2