TITLE Read Char Progam INCLUDE Irvine16.inc .data entChar BYTE "Enter a character: " charEnt BYTE ? entN BYTE 0ah,0ah,0dh,"Number of times to print (1-9): " nTimes BYTE ? dblSpc BYTE 0ah,0ah,0dh .code main PROC Again: mov ax,@data ;prompt user for character mov ds,ax ; ; mov ah,40h ; mov bx,1 ; mov cx,SIZEOF entChar ; mov dx,OFFSET entChar ; int 21h ; mov ah,1 ;read character from standard input int 21h ; mov charEnt,al ; mov ax,@data ;prompt user for number of prints mov ds,ax ; ; mov ah,40h ; mov bx,1 ; mov cx,SIZEOF entN ; mov dx,OFFSET entN ; int 21h ; mov ah,1 ;read number of prints from standard input int 21h ; mov nTimes,al ; mov ah,40h ;print double space mov bx,1 ; mov cx,SIZEOF dblSpc ; mov dx,OFFSET dblSpc ; int 21h ; mov cx,9 ;max number of prints sub nTimes,30h ;convert hex number to decimal convert:cmp nTimes,0h ; je loopOut ; mov ah,6 ; mov dl,charEnt ; int 21h ; sub nTimes,1h ; loop convert ; loopOut: mov ah,40h ;print double space mov bx,1 ; mov cx,SIZEOF dblSpc ; mov dx,OFFSET dblSpc ; int 21h ; loop Again exit main ENDP END main
|