我正在开发这个练习:
写一个汇编程序,给定一个字符作为输入,输出一个字符本身大小为5 x 5的三角形。
我有一个问题,因为当我去输入一个字符,字符不形成三角形,但其他字符打印。
我的意见:
f
我的输出:
所需输出:
f
ff
fff
ffff
fffff
我的代码:
Title PROVA
;programma per la prova dell’ambiente Turbo Assembler
DOSSEG
.MODEL SMALL
.STACK 100
.DATA
; se ci sono qui vanno dichiarate le vriabili
.CODE
MOV AX, @data ;(obbligatorie) inizializzano il DS
MOV DS, AX
MOV AX, 00
MOV BX, 00
MOV CX, 00
MOV DX, 00
mov ah,01h ;input va a mettere l'input in AL ;n
int 21h
MOV BL, AL ;n
MOV CL, BL ;n
MOV CH, 0H
ciclo:
CMP CH, 5H
JE fine
inc CH
MOV DL, BL
mov ah, 02h ;stampa il contenuto di dl
int 21h
mov DL, 10D
int 21h
mov DL, 13D
int 21h
;BL
ADD BL, CL
JMP ciclo
fine:
MOV AL, 00H ;(obbligatorie) ritornano il controllo al sistema operativo
MOV AH, 4CH
INT 21H
END
2条答案
按热度按时间nzkunb0c1#
正如vitsoft所指出的,字符发生了变化,因为您将
CL
添加到BL
。要做一个三角形,你需要使用另一个循环,正如迈克尔所说。下面是要更改的部分:vs3odd8k2#
我用这种方法解决了