Search code examples
tasm

TASM giving no output after compile


I have a program that compiles correctly with zero error or warning but does not display the output I cannot guess the reason for no output

.model small
.data
a dw 1234H
b dw 0100H
.code
Process:
MOV AX, @data
MOV DS, AX
Mov AX, a 
MOV BX, b
SUB AX, BX
MOV CH, 04H
MOV CL, 04H
MOV BX, AX
X: ROL BX, CL
MOV DL, BL
AND DL, 0FH
CMP DL, 09
JBE Y
ADD DL, 07
Y: ADD DL, 30H
INT 21H
DEC CH
JNZ X
MOV AH, 4CH
INT 21H
END Process;

Solution

  • If you intend to write characters one at a time to STDOUT then DL should contain the character and AH must be set to 02H before you invoke INT 21H. So,

    Y: ADD DL, 30H
    MOV AH, 02H
    INT 21H
    

    You can also set AH to 02H before the loop starts, saving on the number MOV instructions.