Here is a short test assembly code to check the bugs and the fix: LEX 'TEST' ID #5C MSG 0 POLL 0 ENTRY FNCT CHAR #F KEY 'TST' TOKEN 1 ENDTXT NIBHEX 00 FNCT GOTO LBL1 B=B+B A * bug 1 D0=AS D1=AS * bug 2 LBL1 C=0 W P= 14 LCHEX 1 GOVLNG #0F216 END With a genuine Forth/assembler ROM, the result is ... 0012 00055 FNCT 0013 00055 6C00 GOTO LBL1 0014 00059 C5 B=B+B A * bug 1 0015 0005B 138 D0=AS 0016 0005E 138 D1=AS * bug 2 * duplicate label 0017 00061 LBL1 0018 00061 AF2 C=0 W 0019 00064 2E P= 14 0020 00066 301 LCHEX 1 0021 00069 8D612F0 GOVLNG #0F216 0022 00070 0023 00070 END ... ERRORS : 001 showing the wrong D1=AS code (undetected), and the duplicate label error created by the bad B=B+B A opcode class. With the fix, the two errors disappear.