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
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
13300: 1801 1
13302: 2B6F . ;
( 4 bytes )
TAQOZ# dummy --- 1 ok
TAQOZ# : dum2 dummy ; --- ok
TAQOZ# see dum2
13304: 0054 PAGE1
13306: 3301 dummy ;
( 4 bytes )
TAQOZ# dum2 --- 1 ok
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
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.
Hi @"Christof Eb." ,
I fixed the POLLATN entry and added an example of using it to the github page. Thanks for finding that one.