Hello.

FYI, I see an instruction 'jeq' in used in src64/io.l, but I don't see it 
described in doc64/asm.

Hm, for that matter, I don't see 'jne' or 'jgt' either.  Maybe I shouldn't 
expect to find 'jeq'?

I encountered 'jeq' in the 12th line of the definition of testEscA_F (which I 
pasted below my signature).  I guess ^@ is never valid inside a Transient 
Symbol?

: "^@"
Bad input '@'
?     

Nope, it's not valid.  Looks like we jumped to badInputErrB.  So jeq is some 
kind of "jmp if ...".

But it is different from these?

      jz adr            # Jump to 'adr' if Zero [---]
      js adr            # Jump to 'adr' if Sign [---]
      jc adr            # Jump to 'adr' if Carry [---]

What does cmp do to the flags?

      cmp dst src       # Compare 'dst' with 'src' [zsc]

Within the flag notation [---] in doc64/asm, What is the difference between . 
and -?  I see that _ is clear.

Cheers, thanks,
--Dave

(code 'testEscA_F 0)
   do
      null A  # EOF?
      if s  # Yes
         clrc  # Return NO
         ret
      end
      cmp B (char "\^")  # Caret?
      if eq  # Yes
         call (Get_A)  # Skip '^'
         cmp B (char "@")  # At-mark?
         jeq badInputErrB  # Yes
         cmp B (char "?")  # Question-mark?
         if eq  # Yes
            ld B 127  # DEL
         else
            and B 31  # Control-character
         end
10       setc  # Return YES
         ret
      end
      cmp B (char "\\")  # Backslash?
      jnz 10  # No
      call (Get_A)  # Skip '\'
      cmp B 10  # Newline?
      jnz 10  # No
      do
         call (Get_A)  # Skip white space
         cmp B 32
         continue eq
         cmp B 9
      until ne
   loop

--
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe

Reply via email to