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.