Given the following test program that I wrote (GETC.MAC):

   .title getc

    .mcall    .exit

TKS = 177560
TKB = 177562
;TPS = 177564
;TPB = 177566

begin:
    inc    TKS        ;set the ASR read enable bit
getc:
    tstb    TKS        ;is a character available?
    bpl    getc        ;loop until there is

    movb    TKB,R0        ;put the character into register 0

    .exit

    .end begin

I would expect the console to wait until I typed a single character and then for the program to exit. What is happening is that the program appears to accept any number of characters and only ends when I type CTRL-C twice.

Here are some questions that arise:

1. Is it reasonable to expect to be able to read directly from the ASR Keyboard buffer while running RT-11 in SimH or does this somehow compete with the running OS? (I can print characters using the ASR Punch Buffer just fine) 2. Is there a flaw in the program? (Nevermind that it doesn't do anything much with the character).
3. Is this a totally abnormal way to read a character?
4. What's up with needing to hit CTRL-C twice?

Answers to any of the above would be appreciated or if you have something else, that's fine too.

Thanks,

Will
_______________________________________________
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Reply via email to