Shop OBEX P1 Docs P2 Docs Learn Events
TAQOZ Reloaded v2.8 - Word Glossary - Page 4 — Parallax Forums

TAQOZ Reloaded v2.8 - Word Glossary

124»

Comments

  • Christof Eb.Christof Eb. Posts: 1,195
    edited 2023-03-11 15:58

    @bob_g4bby
    Perhaps it would be good to have an explanation of the wordcodes in your document too? At the moment I have:

    1. Coded: <17ff: Address of assembler code, will be just called in Hub or Cog Ram. Ends with RET.
    
    2. Threaded: >$2000: Normal Wordcode is the address of the wordcodes of this word. Wordcodes Are aligned to even addresses. To encode final EXIT (";"), 1 is added to the last wordcode.
    
    3. Short literals:  $1800..$1BFF: $1800 + 10bit literal, positive numbers
    
    4. Relative conditional Branches: $1Cxx: xx ist the relative jump distance +/- 128 words
    
    5. Relative unconditional Branches: $1Dxx
    
    6. (Code): $0065 is followed by PASM code, which ends with RET
    
        7. PAGE1…PAGE7 $004e…$0054: This wordcode is followed by a word, that contains the lower word $xxxx of the address of code, which is located at $000p_xxxx.!
    

    See Line 890 in taqoz.lst of
    Parallax P2 TAQOZ RELOADED sIDE V2.8 'CHIP' Prop_Ver G 200MHz 210401-1230

  • bob_g4bbybob_g4bby Posts: 411
    edited 2023-03-10 17:57

    Thanks @"Christof Eb." for the comments. It's quite possible 24-bit CPAs in an extended dictionary have only been lightly tested as it would require a lot of source loading to make a large enough dictionary.

    I'll upissue the glossary soon with your corrections and the description of the wordcodes, which is new to me.

    I've had more talk with Peter and he's identified one further issue with ALIAS when the new word is located in extended disctionary, which would only occur with a huge forth program. I've suggested a simple modification to his code and he's checking it out. I'll modify the glossary with that, when we're sure the extended dictionary will be supported properly. Peter has some secret way of creating a 'very large program' which I haven't currently got. ALIAS currently works fine with a dictionary smaller than 64k.

  • Hi @bob_g4bby ,
    actually it is rather simple to waste code space:

    TAQOZ#  ---  ok
    TAQOZ# here .long --- 0000_B2F6 ok
    TAQOZ# $8000 allot ---  ok
    TAQOZ# here .long --- 0001_3300 ok
    TAQOZ# : dummy 1 . ; ---  ok
    TAQOZ# see dummy
    
    1B8DA: dummy
    13300: 1801     1
    13302: 2B6F     . ;
          ( 4  bytes )
     ---  ok
    TAQOZ# dummy --- 1  ok
    TAQOZ#
    TAQOZ# : dum2 dummy ; ---  ok
    TAQOZ# see dum2
    
    1B8D2: dum2
    13304: 0054     PAGE1
    13306: 3301     dummy ;
          ( 4  bytes )
     ---  ok
    TAQOZ# dum2 --- 1  ok
    TAQOZ#
    

    Christof

  • Christof Eb.Christof Eb. Posts: 1,195
    edited 2023-04-19 15:03

    deleted

  • Hi, @bob_g4bby,

    perhaps You might want to modify the description of POLLATN:
    The ATN flag is a means of one cog shouting oi! to another flag = FALSE the ATN flag was received, ATN event flag then cleared. flag = TRUE, no ATN flag received

    Actually it seems to be TRUE, if an attention event is received.
    Christof

  • Hi @"Christof Eb." ,

    I fixed the POLLATN entry and added an example of using it to the github page. Thanks for finding that one.

    Cheers, Bob

  • Hi @bob_g4bby,
    just found, that the entry of FOR is misleading:
    10 for i . next --- 0 1 2 3 4 5 6 7 8 9 ok
    At least this is so in V2.8.
    I always forget, how it counts, as this is different in the various Forths.
    Christof

  • @"Christof Eb." , That better FOR example is now in the glossary. Thank you.
    Bob

Sign In or Register to comment.