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

TAQOZ Reloaded v2.8 - Word Glossary



  • Christof Eb.Christof Eb. Posts: 852
    edited 2023-03-11 15:58

    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: 372
    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# : dum2 dummy ; ---  ok
    TAQOZ# see dum2
    1B8D2: dum2
    13304: 0054     PAGE1
    13306: 3301     dummy ;
          ( 4  bytes )
     ---  ok
    TAQOZ# dum2 --- 1  ok


Sign In or Register to comment.