iglesias.uci@Rand-Relay@sri-unix.UUCP (09/13/83)
From: Mike Iglesias <iglesias.uci@Rand-Relay>
I had problems running KERMIT on an XT with DOS 2.0. It appears that
KERMIT is sending the first character (^A) repeatedly. I traced the
problem to the following code (the dashed lines are mine):
outchr: mov al,ah ; Char must be in al.
mov cx,0
call dopar ; Set parity appropriately. [10]
outch1: mov ah,1 ; Output it.
mov dx,0
int comm
;-------------------------------------------------
cmp ah,00H
je outch3
loop outch1
jmp r
;-------------------------------------------------
outch3: jmp rskp
I ran KERMIT with the debugger and found that after the 'int comm',
ah was non-zero. Looking at the BIOS listing for the XT, ah has the
status of the line unless the character couldn't be sent, in which case
bit 7 is set in ah. If I remove the code between the dashed lines,
it seems to work. To all you XT wizards out there: what code should
be between the dashed lines to make it run properly on an XT?
Thanks for any help you can provide.jph@whuxlb.UUCP (09/19/83)
#R:sri-arpa:-545300:whuxlb:6400018:000:336 whuxlb!jph Sep 18 22:13:00 1983 I would assume if the real status that they want to check is just bit 7 of AH on return, then the following code should be substituted for the CMP: test ah,10000000B This should produce the desired results. The problem is that the line status is non-zero when the character is transmitted correctly, and that is the reason it fails.