You need to make sure the buffer is empty every time you put data into it. For example:
;;This next thing is just a test....
jz short Ok1
jmp short Loop661
jz short Ok2
jmp short Loop662
My 64k OS wrote:
Now I have heard somewhere that you have to make a delay after sending any commands to the I/O ports is this true
It used to be true for some computers. Accessing IO ports is slow, and the CPU/motherboard is supposed to wait for it to happen. Old motherboards for 80286 or 80386 (can't remember exactly which) failed to wait, so programmers had to put little delays after accessing any IO ports. If your OS doesn't support 80386 (or earlier) computers it shouldn't be necessary.