X4th documentation for : "D:\PrjD7\x4th\work\glossary\glossary.asm"
General info
| compiler : Compile time | 2007-06-10 19:56:29 |
|---|
| compiler : Home folder | D:\PrjD7\x4th\work\ |
|---|
| compiler : Source file | D:\PrjD7\x4th\work\glossary\glossary.4th |
|---|
| compiler : Source folder | D:\PrjD7\x4th\work\glossary\ |
|---|
| compiler : Target file | D:\PrjD7\x4th\work\glossary\glossary.asm |
|---|
| compiler : xVersion | 2007.6.8.1 |
|---|
| source : Processor | 18f452 |
|---|
| source : Title | glossary |
word index
vocabularies
words
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| ' |
Pascal |
visible |
C27 |
Forth |
|
| ( -- ExecutionToken ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Search next word in input stream and return it's execution token. Also see [']
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| - |
Pascal |
immediate visible |
C2D |
Forth |
|
| ( n1 n2 -- n3 ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
subtraction of n2 from n1
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| '' |
Pascal |
immediate visible |
C2727 |
Forth |
|
| ( -- <string-token> ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
'' a string' String or Data or RawData ...
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| ! |
Pascal |
immediate visible |
C21 |
Forth |
|
| ( n1 n2 -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Store value n1 at address n2
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| -! |
Pascal |
immediate visible |
C2D21 |
Forth |
|
| ( n1 n2 -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Decrement value at address n1 with n2
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| " |
Pascal |
immediate visible |
C22 |
Forth |
|
| ( -- <string-token> ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
" a string" String or Data or RawData ...
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| "cr |
Pascal |
visible |
C22cr |
Forth |
|
| ( -- <string-token> ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Push crlf, also see cr
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| ##// |
Pascal |
visible |
C23232F2F |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Add documentation to next token in input buffer, ended at end of current line, also see #// and ##//
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| #// |
Pascal |
immediate visible |
C232F2F |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Add documentation to lastDefined, ended at end of current line, also see #doc and #document
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| #Define |
Pascal |
immediate visible |
C23Define |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Define a symbol that does nothing.
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| #Defined |
Pascal |
immediate visible |
C23Defined |
Forth |
|
| ( -- f ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Check if a word is defined, result goes to data stack
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| #document |
Pascal |
visible |
C23document |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Add documentation to next token in input buffer, ended with #endDoc
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| #Else |
Pascal |
immediate visible |
C23Else |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Conditional compilation : n1 #If .. #Else .. #Then or #EndIf
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| #EndIf |
Pascal |
immediate visible |
C23EndIf |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Conditional compilation : n1 #If .. #Else .. #Then or #endIf
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| #EOF |
Pascal |
visible |
C23EOF |
Only |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
To stop on end of file, can be used to break out of a source file
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| #If |
Pascal |
immediate visible |
C23If |
Forth |
|
| ( f -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Conditional compilation : n1 #If .. #Else .. #Then or #EndIf
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| #IfDef |
Pascal |
immediate visible |
C23IfDef |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Combination : #Defined SomeWord #If
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| #IfNdef |
Pascal |
immediate visible |
C23IfNdef |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
same as #IfDef but inverted condition
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| #Then |
Pascal |
immediate visible |
C23Then |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Conditional compilation : n1 #If .. #Else .. #Then or #EndIf
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| $[] |
Pascal |
immediate visible |
C245B5D |
Forth |
|
| ( <string-token> n -- c ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Index into a string " a string" 3 $[]
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| ( |
Pascal |
immediate visible |
C28 |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Comment till ) :: does :: ')' Token
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (!) |
Primitive |
visible |
C282129 |
Compiler |
18xxx2 |
| ( b wRamAddress -- ) |
[ 3219, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ @Compare! ]
[ a+! ]
[ Ram! ]
[ t! ]
|
| Documentation |
[Store]
|
| Value |
PopReg fsr2h ; // Get bank
PopReg fsr2l ; // Get addrress
PopReg indf2 ; // Get and store data
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (-!) |
Primitive |
visible |
C282D2129 |
Compiler |
18xxx2 |
| ( b wRamAddress -- ) |
[ 3240, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
PopReg fsr2h
PopReg fsr2l
subwf indf2
Drop
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| ((?do)) |
Primitive |
visible |
C28283Fdo2929 |
Compiler |
18xxx2 |
| ( bLimit bStart -- ) |
[ 2435, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ ((do)) ]
|
| Used in |
| [ (?do) ]
|
| Documentation |
|
| Value |
PopReg tmp1 ; // bStart into tmp1
cpfseq indf1 ; // S/ Start = Limit
bra dodo ; // B/ start <> Limit, perform ((do))
Drop ; // start = limit : drop bLimit
bsf status, z ; // Return with zero flag set (loop skipped)
return ; // B/ ----> done
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| ((+loop)) |
Primitive |
visible |
C28282Bloop2929 |
Compiler |
18xxx2 |
| ( b -- ) |
[ 2405, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ ((loop)) ]
|
| Used in |
|
| Documentation |
|
| Value |
addwf indf1 ; // Index + inc -> Index
movf postinc1, w ; // Get index LSP++
subwf indf1, W ; // Limit - Index
bc LoopMore ; // B/ Carry , Not done, see ((loop))
bra LoopNoMore ; // B/ No carry, done , see ((loop))
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| ((do)) |
Primitive |
visible |
C2828do2929 |
Compiler |
18xxx2 |
| ( bLimit bStart -- ) |
[ 2420, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ ((?do)) ]
[ (do) ]
|
| Documentation |
|
| Value |
PopReg tmp1 ; // Start into tmp1
dodo ; // entry point for ((?do)) if loop taken
PopReg tmp2 ; // Limit into tmp2
LsPushReg tmp2 ; // Limit on loop stack
LsPushReg tmp1 ; // Start on loop stack (as Index)
bcf status, z ; // Return with zero flag cleared
return ; // B/ ----> done (loop taken)
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| ((fbranch)) |
Primitive |
visible |
C2828fbranch2929 |
Compiler |
18xxx2 |
| ( f -- ) |
[ 2211, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
PopReg tmp1 ; // Pop Flag into tmp1
movf tmp1, f ; // To set or clear Z flag
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| ((loop)) |
Primitive |
visible |
C2828loop2929 |
Compiler |
18xxx2 |
| ( -- ) |
[ 2379, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ ((+loop)) ]
|
| Documentation |
|
| Value |
PushNothing ; // Save wreg
incf indf1 ; // Advance index
movf postinc1, w ; // get index into wreg
xorwf indf1, w ; // Compare with limit
bnz LoopMore ; // B/ Index <> Limit
LoopNoMore ; // Also used by (+loop)
incf fsr1l, f ; // Index == Limit
Drop ; // Restore wreg
bcf status, Z ; // signal index = limit
return
LoopMore ; // Also used by (+loop)
decf fsr1l, f ; // restore Loop stack pointer
Drop ; // Restore wreg
bsf status, Z ; // signal index <> limit
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| ((no_except)) |
Primitive |
visible |
C2828no_except2929 |
Compiler |
18xxx2 |
| ( -- ) |
[ 2612, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ (except) ]
[ (finally) ]
|
| Documentation |
Helper for (except) and (finally)
|
| Value |
; // Discard one (except) frame
; // Exception frame as on loop stack
; //
; // +--> | prev_frame |
; // | +-------------------+
; // | | |
; // | ~ ~
; // | | |
; // | +-------------------+
; // | | addr_except low | -+-- ROM address of ((except)) to invoke
; // | | addr_except high | -+
; // | | addr_except upper | -+
; // | | old_stkptr | ---- Old return stack pointer
; // | | old_wreg | ---- Value that was on top of old stack
; // | | old_data_sp low | -+-- old data stack imcluding wreg
; // | | old_data_sp high | -+
; // +-<- | old_EFP low | +-----+
; // +-<- | old_EFP high | <--- + EFP |
; // +-------------------+ +-----+
; // | |
; // ~ ~ +-----+
; // | | <--- + fsr1|
; // +-----+
RemoveExceptionFrame ; // Unwind one exception level
LsFree 7 ; // Drop old_data_sp, old_wreg and addr_except
; // Exception frame as on loop stack
; // +-----+------+
; // | prev_frame | <--- | EFP | fsr1 |
; // +-------------------+ +-----+------+
; // | |
; // ~ ~
; // | |
; // +-------------------+
; // | addr_except low |
; // ~ ~
return ; // B/ ----> done
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| ((of)) |
Primitive |
visible |
C2828of2929 |
Compiler |
18xxx2 |
| ( b1 b2 -- b1 | ) |
[ 2301, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
PopReg tmp1 ; // Get & drop n2 into tmp1
cpfseq tmp1 ; // S// n1 == n2
bra of_uneq ; // B/ n1 <> n2
; // n1 == n2
Drop ; // Drop n1
bcf Status, Z ; // Flag match
return
of_uneq
bsf Status, Z ; // Flag no match
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| ((raise)) |
Primitive |
visible |
C2828raise2929 |
Compiler |
18xxx2 |
| ( bException -- bException ) |
[ 2543, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ (raise) ]
|
| Documentation |
Helper for (raise)
|
| Value |
; // Should check for original data stack corruption here
; // that is, when we have a relative stack underflow
; // that's definitly no good.
; //
; // Use the current (except) frame to determine
; // a jump to the nearest (except) handler.
; // Exception frame as on loop stack
; //
; // +--> | prev_frame |
; // | +-------------------+
; // | | |
; // | ~ ~
; // | | |
; // | +-------------------+
; // | | addr_except low | -+-- ROM address of ((except)) to invoke
; // | | addr_except high | -+
; // | | addr_except upper | -+
; // | | old_stkptr | ---- Old return stack pointer
; // | | old_wreg | ---- Value that was on top of old stack
; // | | old_data_sp low | -+-- old data stack imcluding wreg
; // | | old_data_sp high | -+
; // +-<- | old_EFP low | +-----+
; // +-<- | old_EFP high | <--- + EFP |
; // +-------------------+ +-----+
; // | |
; // ~ ~ +-----+
; // | | <--- + fsr1|
; // +-----+
SetBsrDefault ; // For 4th execution BSR should have its default value
movwf tmp1 ; // Keep bException in tmp1
RemoveExceptionFrame ; // Unwind one exception level
LsPopReg fsr0h ; // restore data stack pointer
LsPopReg fsr0l
LsPopReg wreg ; // restore wreg
disable ; // Interrupts off
LsPopReg stkptr ; // Pop old stkptr (call stack pointer) back
LsPopReg wreg ; // Pop (except) handler from loop stack
movwf tosu
LsPopReg wreg
movwf tosh
LsPopReg wreg
movwf tosl
enable ; // Interrupts back on
PushReg tmp1 ; // Repush bException on restored data stack
; // Exception frame as on loop stack
; // +-----+------+
; // | prev_frame | <--- | EFP | fsr1 |
; // +-------------------+ +-----+------+
; // | |
; // ~ ~
; // | |
; // +-------------------+
; // | addr_except low |
; // ~ ~
return ; // B/ ----> Returns to (except) or (finally) handler
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| ((table)) |
Macro |
immediate visible deprecated |
C2828table2929 |
Compiler |
18xxx2 |
| ( -- ) |
[ 2360, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // ((table)) $Bank$:$Arg$
movwf tmp1
movlw ($Arg$ >> 0) & 0xff
addwf tmp1, w
movlw ($Arg$ >> 8) & 0xff
btfsc status, C
addlw D'1'
movwf pclath
movf tmp1, w
call $Arg$
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| ((try)) |
Primitive |
visible |
C2828try2929 |
Compiler |
18xxx2 |
| ( tRomAddr_REVERSED -- ) |
[ 2491, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ (try) ]
|
| Documentation |
Helper for (try)
|
| Value |
; // create (except) frame on return stack
; // ( tRomAddress -- ) [ -- (except) ]
; // >r addr_except_low
PopReg tmp1
LsPushReg tmp1
; // >r addr_except_high
PopReg tmp1
LsPushReg tmp1
; // >r addr_except_upper
PopReg tmp1
LsPushReg tmp1
; // >r stkptr
LsPushReg stkptr
; // >r wreg
LsPushReg wreg
; // >r data stack pointer
LsPushReg fsr0l
LsPushReg fsr0h
AddExceptionFrame ; // Link in a new exception frame
; // Exception frame as on loop stack.
; // The loop stack grows downwards and uses fsr1.
; // On pussh first fsr1 is decremented then the new
; // value is stored into the stack.
; //
; // +--> | prev_exc_frame | ---- a possible previous frame (old_EFP
; // | +-------------------+ is zero for outermost frame).
; // | | | -+-- possible loop stack data from do..loop or >r
; // | ~ ~ -+
; // | | | -+
; // | +-------------------+
; // | | addr_except low | -+-- ROM address of ((except)) to invoke
; // | | addr_except high | -+
; // | | addr_except upper | -+
; // | | old_stkptr | ---- Old return stack pointer
; // | | old_wreg | ---- Value that was on top of old stack
; // | | old_data_sp low | -+-- old data stack imcluding wreg
; // | | old_data_sp high | -+
; // +-<- | old_EFP low | +---------+------+
; // +-<- | old_EFP high | <--- | new EFP | fsr1 |
; // +-------------------+ +---------+------+
return ; // B/ ----> done
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (-) |
Macro |
immediate visible |
C282D29 |
Compiler |
18xxx2 |
| ( u1 u2 -- u3 ) |
[ 2750, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
subwf postdec0, w ; // (-) ( u1 u2 -- u3 )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (*) |
Primitive |
visible |
C282A29 |
Compiler |
18xxx2 |
| ( u1 u2 -- u3 ) |
[ 2757, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
PopReg tmp1
mulwf tmp1
movf prodl, w
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (/) |
Primitive |
visible |
C282F29 |
Compiler |
18xxx2 |
| ( u1 u2 -- u3 ) |
[ 2769, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // also calculates remainder,
; // but we don't care about that!
clrf tmp1 ; // remainder
movwf tmp3 ; // u2
movlw D'8' ; // loop counter
movwf tmp2 ; // to index
slash_0
rlcf indf0, w ; // rotate u1
rlcf tmp1, f ; // into remainder
movf tmp3, w ; // get u2
subwf tmp1, f ; // Try to subtract
bc slash_1 ; // B/ subtract did work, carry is set
addwf tmp1, f ; // subtract did not work, so add it again
bcf status, C ; // and clear carry
slash_1
rlcf indf0, f ; // result in indf0
decfsz tmp2 , f
bra slash_0
movf postdec0, w ; // get result to TOS
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (/Mod) |
Primitive |
visible |
C282FMod29 |
Compiler |
18xxx2 |
| ( bDividend bDivisor -- bQuotient bRemainder ) |
[ 2801, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ Divisor ]
[ Quotient ]
[ Remainder ]
|
| Used in |
|
| Documentation |
|
| Value |
; // ///////////////////////////////////////////////////////////////////////
; // Function : /Mod ( bDividend bDivisor -- Quotient Remainder )
; // Input : bDividend : 8 bits unsigned - high byte on top
; // : bDivisor : 8 bits unsigned - high byte on top
; // Output : Quotient : 8 bits unsigned - high byte on top
; // : Remainder : 8 bits unsigned - high byte on top
; // Description : 8 / 8 -> 8 bits unsigned divide with remainder
; // Remarks : Quotient := bDividend Div bDivisor
; // : Remainder := bDividend Mod bDivisor
; // ///////////////////////////////////////////////////////////////////////
; //
; // From Zilog Z8 Family Design Handbook, june 1988
; //
; // A programmers guide to the Z8 microcomputer,
; // Z8 subroutine library, Application note
; // page 211.
; //
; // Adapted from 16 / 16 -> 16 + 16 algorithm above
; //
; // This is a 8 / 8 -> 8 + 8 udiv routine
; //
; // ///////////////////////////////////////////////////////////////////////
; // Pop arguments from stack to helper variables
PopReg <@" Divisor"> ; // pop bDivisor into divisor ( bDividend )
movwf <@" Quotient"> ; // bDividend into Quotient
clrf <@" Remainder">
movlw 8 ; // ld d32_LEN, #8 !LOOP COUNTER!
movwf tmp2
bcf Status, C ; // rcf !carry = 0!
; // Then go for it
dlp_8
rlcf <@" Quotient">, f ; // rlc qout
rlcf <@" Remainder">, f ; // rlc rem
bc subt_8 ; // B/ C not clear
movf <@" Divisor">, w ; // See if we can subtract
subwf <@" Remainder">, w
bnc skp_8 ; // B/ carry not set, skip subtraction
subt_8
movf <@" Divisor">, w ; // sub rem, dvsr
subwf <@" Remainder">, f
bsf Status, C ; // scf
skp_8
decfsz tmp2, f ; // djnz d16_LEN, dlp_16
bra dlp_8 ; // !no flags affected!
rlcf <@" Quotient">, f ; // rlc quot
; // Now copy results to stack
movf <@" Quotient">, w ; // ( bQuotient )
PushReg <@" Remainder"> ; // ( bQuotient bRemainder )
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (?do) |
Macro |
immediate visible |
C283Fdo29 |
Compiler |
18xxx2 |
| ( bLimit bStart -- ) |
[ 2460, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ ((?do)) ]
|
| Used in |
|
| Documentation |
|
| Value |
; // (?do) : check if limit is count, if so skip loop
call <@" ((?do))">
fBranch $SkipLabel$
$LoopLabel$
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (?dup) |
Primitive |
visible |
C283Fdup29 |
Compiler |
18xxx2 |
| ( b -- b b | b -- 0 ) |
[ 3010, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
iorlw D'0'
btfsc status, Z
return
Dup
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (@) |
Primitive |
visible |
C284029 |
Compiler |
18xxx2 |
| ( wRamAddress -- b ) |
[ 3209, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ @0! ]
[ @0= ]
[ @0> ]
[ @a+ ]
[ @a+! ]
[ @a+@ ]
[ @ff! ]
[ a+@ ]
[ adup@ ]
[ Ram@ ]
[ t@ ]
|
| Documentation |
[Fetch]
|
| Value |
PopReg fsr2h ; // Get bank
PopReg fsr2l ; // Get address
PushReg indf2 ; // dereference
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (+!) |
Primitive |
visible |
C282B2129 |
Compiler |
18xxx2 |
| ( b wRamAddress -- ) |
[ 3229, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
PopReg fsr2h
PopReg fsr2l
addwf indf2
Drop
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (+) |
Macro |
immediate visible |
C282B29 |
Compiler |
18xxx2 |
| ( u1 u2 -- u3 ) |
[ 2743, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
addwf postdec0, w ; // (+) ( u1 u2 -- u3 )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (+rot) |
Alias |
visible |
C282Brot29 |
Compiler |
18xxx2 |
| ( b1 b2 b3 -- b2 b3 b1 ) |
[ 3130, 11] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (rot) ]
|
| Used in |
| [ t! ]
|
| Documentation |
|
| Value |
(rot) |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (<) |
Primitive |
visible |
C283C29 |
Compiler |
18xxx2 |
| ( u1 u2 -- f ) |
[ 2977, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ (>) ]
[ (>=) ]
|
| Documentation |
|
| Value |
subwf postdec0, f
movlw True ; // assume true
btfss status, Z ; // if set then always false
btfsc status, C ; // if not then also analyze carry
clrf wreg ; // false flag
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (<<) |
Primitive |
visible |
C283C3C29 |
Compiler |
18xxx2 |
| ( b1 b2 -- b3 ) |
[ 3063, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
PopReg tmp1 ; // Shift b1 left over b2 positions
shllp
bcf Status, C
rlcf wreg, f
decfsz tmp1
bra shllp
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (<=) |
Colon |
visible |
C283C3D29 |
Compiler |
18xxx2 |
| ( u1 u2 -- f ) |
[ 2996, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (>) ]
[ (not) ]
[ (semi) ]
|
| Used in |
|
| Documentation |
|
| Value |
00003 | (>) | ( u1 u2 -- f ) [0]
00004 | (not) | ( b -- b ) ( )
00005 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (<>) |
Primitive |
visible |
C283C3E29 |
Compiler |
18xxx2 |
| ( b1 b2 -- f ) |
[ 2967, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
subwf postdec0, f
btfsc status, Z
retlw False
retlw True
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (=) |
Primitive |
visible |
C283D29 |
Compiler |
18xxx2 |
| ( b1 b2 -- f ) |
[ 2957, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
subwf postdec0, f
btfsc status, Z
retlw True
retlw False
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (>) |
Colon |
visible |
C283E29 |
Compiler |
18xxx2 |
| ( u1 u2 -- f ) |
[ 2989, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (<) ]
[ (semi) ]
[ (swap) ]
|
| Used in |
| [ (<=) ]
[ 0> ]
|
| Documentation |
|
| Value |
00000 | (swap) | ( b1 b2 -- b2 b1 )
00001 | (<) | ( u1 u2 -- f )
00002 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (>=) |
Colon |
visible |
C283E3D29 |
Compiler |
18xxx2 |
| ( u1 u2 -- f ) |
[ 3003, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (<) ]
[ (not) ]
[ (semi) ]
|
| Used in |
|
| Documentation |
|
| Value |
00006 | (<) | ( u1 u2 -- f )
00007 | (not) | ( b -- b ) ( )
00008 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (>>) |
Primitive |
visible |
C283E3E29 |
Compiler |
18xxx2 |
| ( b1 b2 -- b3 ) |
[ 3080, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
PopReg tmp1 ; // Shift b1 right over b2 positions
shrlp
bcf Status, C
rrcf wreg, f
decfsz tmp1
bra shrlp
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (>2field) |
Macro |
immediate visible |
C283E2field29 |
Compiler |
18xxx2 |
| ( w -- w ) |
[ 2027, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ d+ ]
|
| Used in |
|
| Documentation |
Structure field offset calculation
|
| Value |
; // >2Field $Name$ ( $Sign$$Value$)
; // ( dBase -- dBase+dOffset )
PushLit ( <@" $Name$"> >> 0 ) & D'255'
PushLit ( <@" $Name$"> >> 8 ) & D'255'
call <@" d+">
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (>field) |
Macro |
immediate visible |
C283Efield29 |
Compiler |
18xxx2 |
| ( u1 u2 -- u3 ) |
[ 1990, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
Structure field offset calculation
|
| Value |
; // >Field $Name$ ( $Sign$$Value$)
; // ( bBase -- bBase+bOffset )
PushLit <@" $Name$">
addwf postdec0, w ; // (+) ( u1 u2 -- u3 )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (2constant) |
Macro |
immediate visible |
C282constant29 |
Compiler |
18xxx2 |
| ( -- w ) |
[ 1851, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // 2constant $Name$ ( $Sign$$Value$)
PushLit ($Sign$D'$Value$' >> 0) & D'255'
PushLit ($Sign$D'$Value$' >> 8) & D'255'
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (2constdef) |
Macro |
immediate visible |
C282constdef29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 1844, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
$Mangled$ equ $Sign$D'$Value$' ; // 2constant $Name$
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (2drop) |
Macro |
immediate visible |
C282drop29 |
Compiler |
18xxx2 |
| ( w -- ) |
[ 3022, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ /16 ]
[ 3Drop ]
[ 4Drop ]
[ aDrop ]
|
| Documentation |
|
| Value |
Drop ; // (2drop) ( w -- )
Drop
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (2dup) |
Colon |
visible |
C282dup29 |
Compiler |
18xxx2 |
| ( w -- w w ) |
[ 3039, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (over) ]
[ (semi) ]
|
| Used in |
| [ aDup ]
|
| Documentation |
|
| Value |
00009 | (over) | ( b1 b2 -- b1 b2 b1 )
00010 | (over) | ( b1 b2 -- b1 b2 b1 )
00011 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (2field) |
Macro |
immediate visible |
C282field29 |
Compiler |
18xxx2 |
| ( -- w ) |
[ 2018, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
Double field evocation
|
| Value |
; // 2Field $Name$ ( $Sign$$Value$)
PushLit ( <@" $Name$"> >> 0) & D'255'
PushLit ( <@" $Name$"> >> 8) & D'255'
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (2fielddef) |
Macro |
immediate visible |
C282fielddef29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 2011, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
Double field definition
|
| Value |
<@" $Name$"> equ $Sign$D'$Value$' ; // 2Field $Name$
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (2Over) |
Primitive |
visible |
C282Over29 |
Compiler |
18xxx2 |
| ( w1 w2 -- w1 w2 w1 ) |
[ 3097, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ 4Dup ]
[ aOver ]
|
| Documentation |
|
| Value |
PopReg tmp4
PopReg tmp3
PopReg tmp2
movwf tmp1
PushReg tmp2
PushReg tmp3
PushReg tmp4
PushReg tmp1
PushReg tmp2
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (2Swap) |
Alias |
visible |
C282Swap29 |
Forth |
18xxx2 |
| ( w1 w2 -- w2 w1 ) |
[ 3607, 15] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ dSwap ]
|
| Used in |
|
| Documentation |
|
| Value |
dSwap |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (2vardef) |
Macro |
immediate visible |
C282vardef29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 1911, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
$Mangled$ equ 256 * D'$Bank$' + D'$Value$' ; // 2variable $Name$ :: Bank = $Bank$
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (2variable) |
Macro |
immediate visible |
C282variable29 |
Compiler |
18xxx2 |
| ( -- wRamAddr ) |
[ 1918, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // 2variable $Name$ ( $Bank$:$Value$) ; $Mangled$
PushLit D'$Value$'
PushLit D'$Bank$'
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (3constant) |
Macro |
immediate visible |
C283constant29 |
Compiler |
18xxx2 |
| ( -- t ) |
[ 1867, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
Tripple constant evocation
|
| Value |
; // 3constant $Name$ ( $Sign$$Value$)
PushLit ( <@" $Name$"> >> 0) & D'255'
PushLit ( <@" $Name$"> >> 8) & D'255'
PushLit ( <@" $Name$"> >> 16) & D'255'
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (3constdef) |
Macro |
immediate visible |
C283constdef29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 1860, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
tripple constant definition
|
| Value |
<@" $Name$"> equ $Sign$D'$Value$' ; // 3constant $Name$
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (3vardef) |
Macro |
immediate visible |
C283vardef29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 1927, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
tripple variable definition
|
| Value |
<@" $Name$"> equ 256 * D'$Bank$' + D'$Value$' ; // 3variable $Name$ :: Bank = $Bank$
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (3variable) |
Macro |
immediate visible |
C283variable29 |
Compiler |
18xxx2 |
| ( -- wRamAddr ) |
[ 1934, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
Tripple variable evocation
|
| Value |
; // 3variable $Name$ ( $Bank$:$Value$) ; <@" $Name$">
PushLit D'$Value$'
PushLit D'$Bank$'
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (4constant) |
Macro |
immediate visible |
C284constant29 |
Compiler |
18xxx2 |
| ( -- q ) |
[ 1884, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // 4constant $Name$ ( $Sign$$Value$)
PushLit ($Sign$D'$Value$' >> 0 ) & D'255'
PushLit ($Sign$D'$Value$' >> 8 ) & D'255'
PushLit ($Sign$D'$Value$' >> 16) & D'255'
PushLit ($Sign$D'$Value$' >> 24) & D'255'
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (4constdef) |
Macro |
immediate visible |
C284constdef29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 1877, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
$Mangled$ equ $Sign$D'$Value$' ; // 4constant $Name$
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (4vardef) |
Macro |
immediate visible |
C284vardef29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 1943, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
$Mangled$ equ 256 * D'$Bank$' + D'$Value$' ; // 4variable $Name$ :: Bank = $Bank$
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (4variable) |
Macro |
immediate visible |
C284variable29 |
Compiler |
18xxx2 |
| ( -- wRamAddr ) |
[ 1950, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // 4variable $Name$ ( $Bank$:$Value$) ; $Mangled$
PushLit D'$Value$'
PushLit D'$Bank$'
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (abs) |
Primitive |
visible |
C28abs29 |
Compiler |
18xxx2 |
| ( b -- u ) |
[ 3180, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
btfsc wreg, 7
sublw D'0'
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (again) |
Macro |
immediate visible |
C28again29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 2236, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // (again) - unconditional branch
bra $Label$
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (array) |
Macro |
immediate visible |
C28array29 |
Compiler |
18xxx2 |
| ( -- wRamAddr ) |
[ 1966, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // $Size$ Array $Name$ ( $Bank$:$Value$) ; $Mangled$
PushLit D'$Value$'
PushLit D'$Bank$'
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (arraydef) |
Macro |
immediate visible |
C28arraydef29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 1959, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
$Mangled$ equ 256 * D'$Bank$' + D'$Value$' ; // $Size$ Array $Name$ :: Bank = $Bank$
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (begin) |
Macro |
immediate visible |
C28begin29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 2220, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // (begin) - a label
$Label$
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (call) |
Macro |
immediate visible |
C28call29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 2203, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // (call) $Label$
call $Label$
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (case) |
Macro |
immediate visible |
C28case29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 2286, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // (case)- place holder only
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (code) |
Macro |
immediate visible |
C28code29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 1751, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // $Bank$:$NLabel$ (code)
call $MLabel$
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (colon) |
Macro |
immediate visible |
C28colon29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 1743, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // $Bank$:$NLabel$ (colon)
call $MLabel$
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (constant) |
Macro |
immediate visible |
C28constant29 |
Compiler |
18xxx2 |
| ( -- b ) |
[ 1836, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // constant $Name$ ( $Sign$$Value$)
PushLit $Sign$D'$Value$'
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (constdef) |
Macro |
immediate visible |
C28constdef29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 1829, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
$Mangled$ equ $Sign$D'$Value$' ; // constant $Name$
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (data-constdef) |
Macro |
immediate visible |
C28data2Dconstdef29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 1810, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
$Mangled$
; // data-constdef $Name$
db D'$Size$', $Value$
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (Default) |
Macro |
immediate visible |
C28Default29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 3251, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // Default case
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (dlit) |
Macro |
immediate visible |
C28dlit29 |
Compiler |
18xxx2 |
| ( -- w ) |
[ 1781, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ 1d- ]
[ 1d+ ]
[ d0 ]
|
| Documentation |
|
| Value |
; // dliteral $Sign$$Arg$
PushLit ($Sign$D'$Arg$' >> 0) & D'255'
PushLit ($Sign$D'$Arg$' >> 8) & D'255'
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (do) |
Macro |
immediate visible |
C28do29 |
Compiler |
18xxx2 |
| ( bLimit bStart -- ) |
[ 2451, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ ((do)) ]
|
| Used in |
|
| Documentation |
|
| Value |
; // (do)
call <@" ((do))">
$LoopLabel$
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (Does>) |
Pascal |
visible |
C28Does3E29 |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
, helper for Does>
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (drop) |
Macro |
immediate visible |
C28drop29 |
Compiler |
18xxx2 |
| ( b -- ) |
[ 2895, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ 3Drop ]
|
| Documentation |
|
| Value |
; // drop ( b -- )
Drop
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (dup) |
Macro |
immediate visible |
C28dup29 |
Compiler |
18xxx2 |
| ( b -- b b ) |
[ 2903, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ 2q@ ]
|
| Documentation |
|
| Value |
; // (dup) ( b -- b b )
Dup
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (else) |
Macro |
immediate visible |
C28else29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 2269, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // (else) - unconditional branch
bra $Label2$
$Label1$
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (endcase) |
Macro |
immediate visible |
C28endcase29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 2293, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // (endcase) - a label
$Label$
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (endof) |
Macro |
immediate visible |
C28endof29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 2329, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // (endof) - unconditional branch
bra $Label1$
$Label2$
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (endtry) |
Macro |
immediate visible |
C28endtry29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 2722, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
Compiled EndTry
|
| Value |
; // (endtry), place holder
$anEndLabel$
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (except) |
Macro |
immediate visible |
C28except29 |
Compiler |
18xxx2 |
| ( b -- b ) |
[ 2676, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ ((no_except)) ]
|
| Used in |
|
| Documentation |
Compiled Except
|
| Value |
; // (except) ( bException | -- bException | )
; // OK :: We fell trough, no exception, nothing on stack
; // ( )
call <@" ((no_except))"> ; // ((no_except)) remove (except) frame
; // B/ skip to (endtry)
bra $anEndLabel$
$aTryLabel$
; // EXCEPTION :: We came in thhrough a Raise action, exception on stack
; // ( bException )
; // end ( except)
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (Exit) |
Macro |
immediate visible |
C28Exit29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 3258, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
return ; // /B --> Exit
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (False) |
Macro |
immediate visible |
C28False29 |
Compiler |
18xxx2 |
| ( -- f ) |
[ 2929, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
PushLit False ; // (False) ( -- f )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (field) |
Macro |
immediate visible |
C28field29 |
Compiler |
18xxx2 |
| ( -- b ) |
[ 1982, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
Structue field evocation
|
| Value |
; // Field $Name$ ( $Sign$$Value$)
PushLit <@" $Name$">
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (fielddef) |
Macro |
immediate visible |
C28fielddef29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 1975, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
Structure field definition
|
| Value |
<@" $Name$"> equ $Sign$D'$Value$' ; // Field $Name$
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (finally) |
Macro |
immediate visible |
C28finally29 |
Compiler |
18xxx2 |
| ( b -- ) |
[ 2698, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ ((no_except)) ]
|
| Used in |
|
| Documentation |
Compiled Finally
|
| Value |
; // (finally) ( bException | -- bException | )
; // OK :: We fell trough, no exception, nothing on stack
; // ( )
call <@" ((no_except))"> ; // ((no_except)) remove(except) frame
PushLit 0 ; // Signal 'no exception'
; // (finally) Fall through to $aTryLabel$
$aTryLabel$
; // EXCEPTION :: We came in through a Raise action, exception on stack
; // or we fell having no exception, zero on stack
; // ( bException )
Drop ; // But just forget about it for now.
; // (This should be re-raised at EndTry)
; // end ( finally)
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (ForceRomBank) |
Macro |
immediate visible |
C28ForceRomBank29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 1734, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // (ForceRomBank) $Nr$ $Address$
; // a NOOP for 18fXXX, it has no rom banking.
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (FreeLocalSpace) |
Macro |
immediate visible |
C28FreeLocalSpace29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 2127, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // Free space ($anAmount$ bytes) for local variables.
movwf tmp1 ; // Save TOS
movf LDP, w ; // Get LDP
; // Subtract $anAmount$ from it
sublw D'$anAmount$'
movwf LDP ; // And store it
movf tmp1, w ; // Restore TOS
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (GetLocalSpace) |
Macro |
immediate visible |
C28GetLocalSpace29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 2114, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // Reserve space ($anAmount$ bytes) for local variables.
movwf tmp1 ; // Save TOS
movf LDP, w ; // Get LDP
; // Add $anAmount$ to it
addlw D'$anAmount$'
movwf LDP ; // And store it
movf tmp1, w ; // Restore TOS
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (goto) |
Macro |
immediate visible |
C28goto29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 2187, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // (goto) $Label$
bra $Label$
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (I) |
Macro |
immediate visible |
C28I29 |
Compiler |
18xxx2 |
| ( -- u ) |
[ 3266, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
PushReg indf1 ; // I ( -- u ) Get inner loop index
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (I') |
Primitive |
visible |
C28I2729 |
Compiler |
18xxx2 |
| ( -- u ) |
[ 3273, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
PushLit D'1' ; // Get inner loop limit
movf plusw1, w
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (if) |
Macro |
immediate visible |
C28if29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 2261, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // (if) - branch if Z flag set
fBranch $Label$
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (InitLocalSpace) |
Macro |
immediate visible |
C28InitLocalSpace29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 2105, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // Initialize the local data pointer (LDP)
movlw D'$aLocalStart$'
movwf LDP
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (J) |
Primitive |
visible |
C28J29 |
Compiler |
18xxx2 |
| ( -- u ) |
[ 3282, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
PushLit D'2' ; // Get 2nd loop index
movf plusw1, w
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (J') |
Primitive |
visible |
C28J2729 |
Compiler |
18xxx2 |
| ( -- u ) |
[ 3291, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
PushLit D'3' ; // Get 2nd loop limit
movf plusw1, w
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (jumpto) |
Macro |
immediate visible |
C28jumpto29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 2195, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // (jumpto) $Name$
bra $Mangled$
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (K) |
Primitive |
visible |
C28K29 |
Compiler |
18xxx2 |
| ( -- u ) |
[ 3300, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
PushLit D'4' ; // Get 3d loop index
movf plusw1, w
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (label) |
Macro |
immediate visible |
C28label29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 2180, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
$Label$
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (Leave) |
Primitive |
visible |
C28Leave29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 2479, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
PushNothing ; // Save wreg
incf fsr1l ; // Point to limit
decf postdec1, w ; // Get limit, dec limit, result into wreg
movwf indf1 ; // Store limit - 1 as index
Drop
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (loc2var) |
Macro |
immediate visible |
C28loc2var29 |
Compiler |
18xxx2 |
| ( -- wRamAddr ) |
[ 2150, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // Loc2Var $Name$ ( $Bank$:$Sign$$Value$) ; $Mangled$
PushLit $Sign$D'$Value$'
addwf LDP, w
PushLit D'$Bank$'
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (loc3var) |
Macro |
immediate visible |
C28loc3var29 |
Compiler |
18xxx2 |
| ( -- wRamAddr ) |
[ 2160, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
Local tripple variable evocation
|
| Value |
; // Loc3Var $Name$ ( $Bank$:$Sign$$Value$) ; <@" $Name$">
PushLit $Sign$D'$Value$'
addwf LDP, w
PushLit D'$Bank$'
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (loc4var) |
Macro |
immediate visible |
C28loc4var29 |
Compiler |
18xxx2 |
| ( -- wRamAddr ) |
[ 2170, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // Loc4Var $Name$ ( $Bank$:$Sign$$Value$) ; $Mangled$
PushLit $Sign$D'$Value$'
addwf LDP, w
PushLit D'$Bank$'
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (locvar) |
Macro |
immediate visible |
C28locvar29 |
Compiler |
18xxx2 |
| ( -- wRamAddr ) |
[ 2140, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // LocVar $Name$ ( $Bank$:$Sign$$Value$) ; $Mangled$
PushLit $Sign$D'$Value$'
addwf LDP, w
PushLit D'$Bank$'
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (loop) |
Macro |
immediate visible |
C28loop29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 2470, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // (loop) branch if Z flag set
fBranch $LoopLabel$
$SkipLabel$
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (lshift) |
Macro |
immediate visible |
C28lshift29 |
Compiler |
18xxx2 |
| ( b -- b ) |
[ 3047, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
rlncf wreg ; // lshift ( b1 -- b2 )
bcf wreg, 0
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (Max) |
Primitive |
visible |
C28Max29 |
Compiler |
18xxx2 |
| ( u1 u2 -- u3 ) |
[ 3189, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
PopReg tmp1
cpfslt tmp1 ; // S/ tmp1 < wreg , so wreg is maximum
movf tmp1, w ; // tmp1 >= wreg, so tmp1 is maximum
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (Min) |
Primitive |
visible |
C28Min29 |
Compiler |
18xxx2 |
| ( u1 u2 -- u3 ) |
[ 3199, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
PopReg tmp1
cpfsgt tmp1 ; // S/ tmp1 > wreg , so wreg is minimum
movf tmp1, w ; // tmp1 <= wreg, so tmp1 is minimum
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (negate) |
Macro |
immediate visible |
C28negate29 |
Compiler |
18xxx2 |
| ( b -- b ) |
[ 2943, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
sublw D'0' ; // negate ( b1 -- b2 )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (not) |
Macro |
immediate visible |
C28not29 |
Compiler |
18xxx2 |
| ( b -- b ) |
[ 2950, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ (<=) ]
[ (>=) ]
[ d<= ]
[ d>= ]
[ sd<= ]
[ sd>= ]
|
| Documentation |
|
| Value |
xorlw 0xff ; // Not ( b1 -- b2 )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (of) |
Macro |
immediate visible |
C28of29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 2321, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // (of) - branch if Z flag set
fBranch $Label$
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (or) |
Macro |
immediate visible |
C28or29 |
Compiler |
18xxx2 |
| ( u1 u2 -- u3 ) |
[ 2881, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ 4pickOr>r ]
[ d0= ]
[ q0<> ]
[ q0= ]
|
| Documentation |
|
| Value |
iorwf postdec0, w ; // (or) ( b1 b2 -- b3 )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (over) |
Primitive |
visible |
C28over29 |
Compiler |
18xxx2 |
| ( b1 b2 -- b1 b2 b1 ) |
[ 3030, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ (2dup) ]
|
| Documentation |
|
| Value |
movff indf0, tmp1
PushReg tmp1
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (pick) |
Primitive |
visible |
C28pick29 |
Compiler |
18xxx2 |
| ( u1 -- u2 ) |
[ 3150, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ @Compare! ]
[ t! ]
|
| Documentation |
|
| Value |
; // Push u:th entry
PushNothing
sublw D'0' ; // negate
movf plusw0, w ; // w = offset of reqd. byte,
return ; // 0th byte references TOS
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (put) |
Primitive |
visible |
C28put29 |
Compiler |
18xxx2 |
| ( b u -- ) |
[ 3163, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // u th byte of stack replaced by value b
; // 0th byte = top of stack
sublw D'0' ; // negate
PopReg tmp1 ; // Get offset
movwf tmp2 ; // Get velue to put
movf tmp1, w ; // Offset to wreg
movff tmp2, plusw0 ; // Put value
PopReg wreg ; // Pop top item of stack into wreg
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (qlit) |
Macro |
immediate visible |
C28qlit29 |
Compiler |
18xxx2 |
| ( -- q ) |
[ 1790, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // qliteral $Sign$$Arg$
PushLit ($Sign$D'$Arg$' >> 0) & D'255'
PushLit ($Sign$D'$Arg$' >> 8) & D'255'
PushLit ($Sign$D'$Arg$' >> 16) & D'255'
PushLit ($Sign$D'$Arg$' >> 24) & D'255'
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (raise) |
Macro |
immediate visible |
C28raise29 |
Compiler |
18xxx2 |
| ( b -- ) |
[ 2731, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ ((raise)) ]
|
| Used in |
|
| Documentation |
Compiled Raise
|
| Value |
; // (raise) ( bExceptionOnCurrentDataStack -- bExceptionOnOldDataStack ) [ tRomAddress dDSP -- ]
call <@" ((raise))"> ; // ((raise)) jump to (except) or (finally) handler
; // through (except) frame on return stack
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (repeat) |
Macro |
immediate visible |
C28repeat29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 2252, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // (repeat) - unconditional branch
bra $Label1$
$Label2$
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (rot) |
Primitive |
visible |
C28rot29 |
Compiler |
18xxx2 |
| ( b1 b2 b3 -- b2 b3 b1 ) |
[ 3115, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ (+rot) ]
|
| Documentation |
|
| Value |
PopReg tmp3
PopReg tmp2
PopReg tmp1
PushReg tmp2
PushReg tmp3
PushReg tmp1
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (-rot) |
Primitive |
visible |
C282Drot29 |
Compiler |
18xxx2 |
| ( b1 b2 b3 -- b3 b1 b2 ) |
[ 3135, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ @0! ]
[ @ff! ]
|
| Documentation |
|
| Value |
PopReg tmp3
PopReg tmp2
PopReg tmp1
PushReg tmp3
PushReg tmp1
PushReg tmp2
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (rshift) |
Macro |
immediate visible |
C28rshift29 |
Compiler |
18xxx2 |
| ( b -- b ) |
[ 3055, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
rrncf wreg ; // rshift ( b1 -- b2 )
bcf wreg, 7
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (s>2field) |
Macro |
immediate visible |
C28s3E2field29 |
Compiler |
18xxx2 |
| ( b -- w ) |
[ 2038, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ d+ ]
|
| Used in |
|
| Documentation |
Structure field offset calculation
|
| Value |
; // s>2Field $Name$ ( $Sign$$Value$)
; // ( bBase -- bBase+dOffset )
PushLit 0 ; // perform u>ud
PushLit ( <@" $Name$"> >> 0 ) & D'255'
PushLit ( <@" $Name$"> >> 8 ) & D'255'
call <@" d+">
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (s>field) |
Macro |
immediate visible |
C28s3Efield29 |
Compiler |
18xxx2 |
| ( w -- w ) |
[ 2000, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ d+ ]
|
| Used in |
|
| Documentation |
Structure field offset calculation
|
| Value |
; // s>Field $Name$ ( $Sign$$Value$)
; // ( dBase -- dBase+dOffset )
PushLit ( <@" $Name$"> >> 0 ) & D'255'
PushLit ( <@" $Name$"> >> 8 ) & D'255'
call <@" d+">
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (seminoreturn) |
Macro |
immediate visible |
C28seminoreturn29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 1766, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // (noreturn;)
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (Space) |
Macro |
immediate visible |
C28Space29 |
Compiler |
18xxx2 |
| ( -- b ) |
[ 2936, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ bl ]
|
| Documentation |
|
| Value |
PushLit 0x20 ; // (space) ( -- b )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (str-constant) |
Macro |
immediate visible |
C28str2Dconstant29 |
Compiler |
18xxx2 |
| ( -- wRomAddress ) |
[ 1819, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // str-constant $Name$
; // ( -- wRomAddress )
PushLit ($Mangled$ >> 0) & D'255'
PushLit ($Mangled$ >> 8) & D'255'
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (str-constdef) |
Macro |
immediate visible |
C28str2Dconstdef29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 1801, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
$Mangled$
; // str-constdef $Name$
db D'$Size$', "$Value$"
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (struct) |
Macro |
immediate visible |
C28struct29 |
Compiler |
18xxx2 |
| ( -- b ) |
[ 2057, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
Structure evocation
|
| Value |
; // Struct $Name$ ( $Sign$$Value$)
PushLit <@" $Name$">
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (structdef) |
Macro |
immediate visible |
C28structdef29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 2050, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
Structure definition
|
| Value |
<@" $Name$"> equ $Sign$D'$Value$' ; // Struct $Name$
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (swap) |
Primitive |
visible |
C28swap29 |
Compiler |
18xxx2 |
| ( b1 b2 -- b2 b1 ) |
[ 2911, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ (>) ]
[ d>r ]
[ dr> ]
|
| Documentation |
|
| Value |
PopReg tmp2
PopReg tmp1
PushReg tmp2
PushReg tmp1
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (table) |
Macro |
immediate visible deprecated |
C28table29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 2339, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // (table)
bcf wreg, 7
rlncf wreg
addwf pcl, f
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (TableElt) |
Macro |
immediate visible deprecated |
C28TableElt29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 2350, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // (TableElt)
retlw $Sign$D'$Arg$'
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (then) |
Macro |
immediate visible |
C28then29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 2278, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // (then) or (endif) - a label
$Label$
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (to) |
Macro |
immediate visible |
C28to29 |
Compiler |
18xxx2 |
| ( b -- ) |
[ 2097, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // =: $Name$ / To $Name$ ( b -- ) ; $Mangled$
PopReg $Mangled$
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (True) |
Macro |
immediate visible |
C28True29 |
Compiler |
18xxx2 |
| ( -- f ) |
[ 2922, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
PushLit True ; // (True) ( -- f )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (try) |
Macro |
immediate visible |
C28try29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 2659, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ ((try)) ]
|
| Used in |
|
| Documentation |
Compiled Try
|
| Value |
; // (try) ( -- )
PushLit (( $aTryLabel$) >> 16) & 0xff ; // Setup a fake return address for (raise)
PushLit (( $aTryLabel$) >> 8) & 0xff ; // long jump to (except) handler
PushLit (( $aTryLabel$) >> 0) & 0xff ; // using REVERSED push
call <@" ((try))"> ; // ((try)) Create (except) frame on return stack
; // ( tRomAddress -- ) [ -- tRomAddress dDSP ]
; // end (try) ( -- ) [ -- tRomAddress dDSP ]
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (until) |
Macro |
immediate visible |
C28until29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 2228, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // (until) - branch if Z flag set
fBranch $Label$
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (value) |
Macro |
immediate visible |
C28value29 |
Compiler |
18xxx2 |
| ( -- b ) |
[ 2087, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // (value) Value $Name$ ( $Bank$:$Address$) ; $Mangled$
PushLit D'$Address$'
PushLit D'$Bank$'
call $Fetch$
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (valuedef) |
Macro |
immediate visible |
C28valuedef29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 2080, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
$Mangled$ equ 256 * D'$Bank$' + D'$Value$' ; // Value $Name$ :: Bank = $Bank$
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (valuestartup) |
Macro |
immediate visible |
C28valuestartup29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 2070, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // (valuestartup) - value initialization
; // Value $Name$ ( $Bank$:$Address$) := $Sign$$Value$ ; $Mangled$
movlw $Sign$D'$Value$'
movwf D'$Address$'
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (vardef) |
Macro |
immediate visible |
C28vardef29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 1895, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
$Mangled$ equ 256 * D'$Bank$' + D'$Value$' ; // variable $Name$ :: Bank = $Bank$
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (variable) |
Macro |
immediate visible |
C28variable29 |
Compiler |
18xxx2 |
| ( -- wRamAddr ) |
[ 1902, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // variable $Name$ ( $Bank$:$Value$) ; $Mangled$
PushLit D'$Value$'
PushLit D'$Bank$'
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (while) |
Macro |
immediate visible |
C28while29 |
Compiler |
18xxx2 |
| ( -- ) |
[ 2244, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // (while) - branch if Z flag set
fBranch $Label$
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| (xor) |
Macro |
immediate visible |
C28xor29 |
Compiler |
18xxx2 |
| ( u1 u2 -- u3 ) |
[ 2888, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ @Compare! ]
[ 4pickXor>r ]
|
| Documentation |
|
| Value |
xorwf postdec0, w ; // (xor) ( b1 b2 -- b3 )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| * |
Pascal |
immediate visible |
C2A |
Forth |
|
| ( n1 n2 -- n3 ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
multiplication
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| *_8_32 |
Primitive |
visible |
C2A_8_32 |
Forth |
18xxx2 |
| ( q1 u -- q2 ) |
[ 4722, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ Divisor ]
[ Quotient ]
|
| Used in |
|
| Documentation |
8*32->32
|
| Value |
PopReg tmp1 ; // Get byte arg
PopReg tmp5 ; // Get long arg
PopReg tmp4
PopReg tmp3
movwf tmp2
movlw 9 ; // 9 Shifts
movwf <@" Quotient">
clrf32 <@" Divisor">
bcf Status, C
tstar_1
; // Ignore byte 5
rrcf <@" Divisor"> + 3, f
rrcf <@" Divisor"> + 2, f
rrcf <@" Divisor"> + 1, f
rrcf <@" Divisor"> + 0, f
rrcf tmp1 , f
bnc tstar_2 ; // B/ Carry clear, skip add
; // Carry set, add, ignoring 5th byte
movf tmp2, w
addwf <@" Divisor"> + 0, f
movf tmp3, w
addwfc <@" Divisor"> + 1, f
movf tmp4, w
addwfc <@" Divisor"> + 2, f
movf tmp5, w
addwfc <@" Divisor"> + 3, f
tstar_2
decfsz <@" Quotient">, f
bra tstar_1
movf tmp1, w
PushReg <@" Divisor"> + 0
PushReg <@" Divisor"> + 1
PushReg <@" Divisor"> + 2
Return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| , |
Pascal |
visible |
C2C |
Forth |
|
| ( n -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Allot's in meta data space
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| . |
Pascal |
visible |
C2E |
Forth |
|
| ( n -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Print a number in the current base, also see .b, .d, .h
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| .' |
Pascal |
immediate visible |
C2E27 |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Copy a string (u[ to ') to the output file, also see ."
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| ." |
Pascal |
immediate visible |
C2E22 |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Copy a string (up to ") to the output file, also see .'
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| .// |
Pascal |
immediate visible |
C2E2F2F |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Comment (to EOL) that is copied to the output file, also see .\.
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| .\ |
Pascal |
immediate visible |
C2E5C |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Comment (to EOL) that is copied to the output file, also see .//.
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| .b |
Pascal |
visible |
C2Eb |
Forth |
|
| ( n -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
print a number in base &2, also see .
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| .CompileTime |
Colon |
visible meta |
C2ECompileTime |
Forth |
18xxx2 |
| ( -- ) |
[ 5779, 4] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ .infoTime ]
[ ; ]
[ CompileTime ]
|
| Used in |
|
| Documentation |
Type CompileTime = value to console
|
| Value |
00348 | | ( -- <string-token>) "CompileTime : " [CompileTime : ]
00349 | CompileTime | ( -- n ) Get compilation start date/time as Unix time - pseudo constant
00350 | .infoTime | ( <name> <value> -- ) print name = value as time to console [344]
00351 | ; | ( -- ) End a colon definition name ... ;
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| .d |
Pascal |
visible |
C2Ed |
Forth |
|
| ( n -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
print a number in base &10, also see .
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| .h |
Pascal |
visible |
C2Eh |
Forth |
|
| ( n -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
print a number in base &16, also see .
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| .info |
Colon |
visible meta |
C2Einfo |
Forth |
18xxx2 |
| ( <name> <value> -- ) |
[ 5771, 4] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ ; ]
[ + ]
[ message ]
|
| Used in |
|
| Documentation |
print name = value to console
|
| Value |
00341 | + | ( n1 n2 -- n3 ) adition
00342 | message | ( <string-token> -- ) Generate a warning with text on stack, also see Message'.
00343 | ; | ( -- ) End a colon definition name ... ;
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| .infoTime |
Colon |
visible meta |
C2EinfoTime |
Forth |
18xxx2 |
| ( <name> <value> -- ) |
[ 5775, 4] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ ; ]
[ + ]
[ message ]
[ unix>str ]
|
| Used in |
| [ .CompileTime ]
|
| Documentation |
print name = value as time to console
|
| Value |
00344 | unix>str | ( n -- <string-token>) Convert n to an ISO date time string
00345 | + | ( n1 n2 -- n3 ) adition
00346 | message | ( <string-token> -- ) Generate a warning with text on stack, also see Message'.
00347 | ; | ( -- ) End a colon definition name ... ;
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| .s |
Pascal |
visible |
C2Es |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Type a stack dump / debug function
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| / |
Pascal |
immediate visible |
C2F |
Forth |
|
| ( n1 n2 -- n3 ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
division of n1 by n2
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| // |
Pascal |
immediate visible |
C2F2F |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Comment till end of line, same as \
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| /16 |
Colon |
visible |
C2F16 |
Forth |
18xxx2 |
| ( wDividend wDivisor -- wQuotient ) |
[ 4861, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (2drop) ]
[ (semi) ]
[ /mod16 ]
|
| Used in |
|
| Documentation |
|
| Value |
00118 | /mod16 | ( wDividend wDivisor -- wQuotient wRemainder )
00119 | (2drop) | ( w -- ) ( )
00120 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| /32 |
Colon |
visible |
C2F32 |
Forth |
18xxx2 |
| ( qDividend qDivisor -- qQuotient ) |
[ 4986, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (semi) ]
[ /mod32 ]
[ 4Drop ]
|
| Used in |
|
| Documentation |
|
| Value |
00121 | /mod32 | ( qDividend qDivisor -- qQuotient qRemainder )
00122 | 4Drop | ( q -- ) [33]
00123 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| /mod |
Pascal |
immediate visible |
C2Fmod |
Forth |
|
| ( n1 n2 -- n3 n4 ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
division of n1 by n2 with result n3 and remainder n4
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| /mod16 |
Primitive |
visible |
C2Fmod16 |
Forth |
18xxx2 |
| ( wDividend wDivisor -- wQuotient wRemainder ) |
[ 4774, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ Divisor ]
[ Quotient ]
[ Remainder ]
|
| Used in |
| [ /16 ]
|
| Documentation |
|
| Value |
; // //////////////////////////////////////////////////////////////////////
; // Function : udiv16( wDividend, wDivisor)
; // Input : wDividend : 16 bits unsigned
; // : wDivisor : 16 bits unsigned
; // Output : Quotient, Remainder
; // Description : 16 / 16 -> 16 bits unsigned divide with remainder
; // Remarks : Quotient := wDividend Div wDivisor
; // : Remainder := wDividend Mod wDivisor
; // //////////////////////////////////////////////////////////////////////
; //
; // From Zilog Z8 Family Design Handbook, june 1988
; //
; // A programmers guide to the Z8 microcomputer,
; // Z8 subroutine library, Application note
; // page 211.
; //
; // This is a 16 / 16 -> 16 + 16 udiv routine
; //
; // //////////////////////////////////////////////////////////////////////
; // Pop arguments from stack to helper variables
PopReg <@" Divisor"> + 1 ; // pop ( u1 -- )
PopReg <@" Divisor"> + 0
PopReg <@" Quotient"> + 1
movwf <@" Quotient"> + 0
clrf16 <@" Remainder">
movlw 16 ; // ld d16_LEN, #16 !LOOP COUNTER!
movwf tmp2
bcf Status, C ; // rcf !carry = 0!
dlp_16
shlc16 <@" Quotient"> ; // rlc qout_lo/hi
shlc16 <@" Remainder"> ; // rlc rem_lo/hi
bc subt_16 ; // jr c, subt_16
movf <@" Remainder"> + 1, w ; // cp dvsr_hi, rem_hi
cpfsgt <@" Divisor"> + 1 ; // jr ugt, skp_16
bra udiv_16_0 ; // B/ f <= W -> dvsr_hi <= rem_hi
bra skp_16 ; // B/ f > W -> dvsr_hi > rem_hi
udiv_16_0 ; // dvsr_hi <= rem_hi
cpfseq <@" Divisor"> + 1 ; // jr ult, subt_16
bra subt_16 ; // B/ dvsr_hi < rem_h
; // dvsr_hi = rem_hi
movf <@" Remainder">, w ; // cp dvsr_lo, rem_lo
cpfsgt <@" Divisor"> ; // jr ugt, skp_16
bra subt_16 ; // B/ f <= W -> dvsr_lo <= rem_lo
bra skp_16 ; // B/ f > W -> dvsr_lo > rem_lo
subt_16
movf <@" Divisor">, w ; // sub rem_lo, dvsr_lo
subwf <@" Remainder">, f
movf <@" Divisor"> + 1, w ; // sub rem_hi, dvsr_hi
subwfb <@" Remainder"> + 1, f
bsf Status, C ; // scf
skp_16
decfsz tmp2, f ; // djnz d16_LEN, dlp_16
bra dlp_16 ; // !no flags affected!
shlc16 <@" Quotient"> ; // rlc quot_lo/hi
; // Copy results to stack
movf <@" Quotient"> + 0, w
PushReg <@" Quotient"> + 1
PushReg <@" Remainder"> + 0
PushReg <@" Remainder"> + 1
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| /mod32 |
Primitive |
visible |
C2Fmod32 |
Forth |
18xxx2 |
| ( qDividend qDivisor -- qQuotient qRemainder ) |
[ 4867, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ Divisor ]
[ Quotient ]
[ Remainder ]
|
| Used in |
| [ /32 ]
|
| Documentation |
|
| Value |
; // //////////////////////////////////////////////////////////////////////
; // Function : udiv32( qDividend, wDivisor)
; // Input : qDividend : 32 bits unsigned
; // : wDivisor : 16 bits unsigned
; // Output : Quotient, Remainder
; // Description : 32 / 32 -> 32 + 32 bits unsigned divide with remainder
; // Remarks : Quoatient := qDividend Div qDivisor
; // : Remainder := qDividend Mod qDivisor
; // //////////////////////////////////////////////////////////////////////
; //
; // Adapted from 16 / 16 -> 16 + 16 algorithm above
; //
; // This is a 32 / 32 -> 32 + 32 udiv routine
; //
; // //////////////////////////////////////////////////////////////////////
; // Pop arguments from stack to helper variables
PopReg <@" Divisor"> + 3 ; // pop Divisor
PopReg <@" Divisor"> + 2
PopReg <@" Divisor"> + 1
PopReg <@" Divisor"> + 0
PopReg <@" Quotient"> + 3 ; // Pop Dividend
PopReg <@" Quotient"> + 2
PopReg <@" Quotient"> + 1
movwf <@" Quotient"> + 0
clrf32 <@" Remainder">
movlw 32 ; // ld d16_LEN, #32 !LOOP COUNTER!
movwf tmp2
bcf Status, C ; // rcf !carry = 0!
dlp_32
shlc32 <@" Quotient"> ; // rlc qout_0..3
shlc32 <@" Remainder"> ; // rlc rem_0..3
bc subt_32 ; // jr c, subt_32
movf <@" Remainder"> + 3, w ; // cp dvsr_3, rem_3
cpfsgt <@" Divisor"> + 3 ; // jr ugt, skp_32
bra udiv_32_3 ; // B/ f <= W -> dvsr_3 <= rem_3
bra skp_32 ; // B/ f > W -> dvsr_3 > rem_3
udiv_32_3 ; // dvsr_3 <= rem_3
cpfseq <@" Divisor"> + 3 ; // jr ult, subt_32
bra subt_32 ; // B/ dvsr_3 < rem_3
; // dvsr_3 = rem_3
movf <@" Remainder"> + 2, w ; // cp dvsr_2, rem_2
cpfsgt <@" Divisor"> + 2 ; // jr ugt, skp_32
bra udiv_32_2 ; // B/ f <= W -> dvsr_2 <= rem_2
bra skp_32 ; // B/ f > W -> dvsr_2 > rem_2
udiv_32_2 ; // dvsr_2 <= rem_2
cpfseq <@" Divisor"> + 2 ; // jr ult, subt_32
bra subt_32 ; // B/ dvsr_2 < rem_2
; // dvsr_2 = rem_2
movf <@" Remainder"> + 1, w ; // cp dvsr_1, rem_1
cpfsgt <@" Divisor"> + 1 ; // jr ugt, skp_32
bra udiv_32_1 ; // B/ f <= W -> dvsr_1 <= rem_1
bra skp_32 ; // B/ f > W -> dvsr_1 > rem_1
udiv_32_1 ; // dvsr_1 <= rem_1
cpfseq <@" Divisor"> + 1 ; // jr ult, subt_32
bra subt_32 ; // B/ dvsr_2 < rem_2
; // dvsr_1 = rem_1
movf <@" Remainder">, w ; // cp dvsr_lo, rem_lo
cpfsgt <@" Divisor"> ; // jr ugt, skp_32
bra subt_32 ; // B/ f <= W -> dvsr_lo <= rem_lo
bra skp_32 ; // B/ f > W -> dvsr_lo > rem_lo
subt_32
movf <@" Divisor"> , w ; // sub rem_0, dvsr_0
subwf <@" Remainder"> , f
movf <@" Divisor"> + 1, w ; // sub rem_1, dvsr_1
subwfb <@" Remainder"> + 1, f
movf <@" Divisor"> + 2, w ; // sub rem_2, dvsr_2
subwfb <@" Remainder"> + 2, f
movf <@" Divisor"> + 3, w ; // sub rem_3, dvsr_3
subwfb <@" Remainder"> + 3, f
bsf Status, C ; // scf
skp_32
decfsz tmp2, f ; // djnz d32_LEN, dlp_32
bra dlp_32 ; // !no flags affected!
shlc32 <@" Quotient"> ; // rlc quot_0..3
; // Copy results to stack
movf <@" Quotient"> + 0, w
PushReg <@" Quotient"> + 1
PushReg <@" Quotient"> + 2
PushReg <@" Quotient"> + 3
PushReg <@" Remainder"> + 0
PushReg <@" Remainder"> + 1
PushReg <@" Remainder"> + 2
PushReg <@" Remainder"> + 3
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| : |
Pascal |
visible |
C3A |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Start a colon definition : name ... ;
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| ?branch |
Pascal |
visible |
C3Fbranch |
Forth |
|
| ( f -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
, branch if TOS is zero
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| ?Do |
Pascal |
immediate visible |
C3FDo |
Forth |
|
| ( -- n ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
n1 n2 ?Do .. Leave .. Loop or n +Loop
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| ?dup |
Pascal |
immediate visible |
C3Fdup |
Forth |
|
| ( n1 -- n1 n1 | 0 -- 0 ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Dup the top stack element when it is not equal to zero
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| @ |
Pascal |
immediate visible |
C40 |
Forth |
|
| ( n1 -- n2 ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Fetch a value from an address
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| @0! |
Colon |
visible |
C40021 |
Forth |
18xxx2 |
| ( wRamAddress -- b ) |
[ 5127, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (@) ]
[ (-rot) ]
[ (semi) ]
[ 0! ]
[ aDup ]
[ Disable ]
[ Enable ]
|
| Used in |
| [ @False! ]
|
| Documentation |
|
| Value |
00193 | aDup | ( w -- w w ) [9]
00194 | Disable | ( -- ) ( )
00195 | (@) | ( wRamAddress -- b ) [Fetch]
00196 | (-rot) | ( b1 b2 b3 -- b3 b1 b2 )
00197 | 0! | ( wRamAddress -- )
00198 | Enable | ( -- ) ( )
00199 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| @0= |
Colon |
visible |
C4003D |
Forth |
18xxx2 |
| ( wRamAddress -- f ) |
[ 5086, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (@) ]
[ (semi) ]
[ 0= ]
|
| Used in |
|
| Documentation |
|
| Value |
00182 | (@) | ( wRamAddress -- b ) [Fetch]
00183 | 0= | ( b -- f )
00184 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| @0> |
Colon |
visible |
C4003E |
Forth |
18xxx2 |
| ( wRamAddress -- f ) |
[ 5103, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (@) ]
[ (semi) ]
[ 0> ]
|
| Used in |
|
| Documentation |
|
| Value |
00190 | (@) | ( wRamAddress -- b ) [Fetch]
00191 | 0> | ( u -- f ) [185]
00192 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| @a+ |
Colon |
visible |
C40a2B |
Forth |
18xxx2 |
| ( wAdr1 wAdr2 -- wAdr3 ) |
[ 3556, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (@) ]
[ (semi) ]
[ a+ ]
|
| Used in |
|
| Documentation |
|
| Value |
00012 | (@) | ( wRamAddress -- b ) [Fetch]
00013 | a+ | ( w1 u -- w2 )
00014 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| @a+! |
Colon |
visible |
C40a2B21 |
Forth |
18xxx2 |
| ( b wAdr1 wAdd2 -- ) |
[ 3596, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (@) ]
[ (semi) ]
[ a+! ]
|
| Used in |
|
| Documentation |
|
| Value |
00024 | (@) | ( wRamAddress -- b ) [Fetch]
00025 | a+! | ( b wAdr u -- ) [21]
00026 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| @a+@ |
Colon |
visible |
C40a2B40 |
Forth |
18xxx2 |
| ( wAdr1 wAdr2 -- b ) |
[ 3576, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (@) ]
[ (semi) ]
[ a+@ ]
|
| Used in |
|
| Documentation |
|
| Value |
00018 | (@) | ( wRamAddress -- b ) [Fetch]
00019 | a+@ | ( wAdr u -- b ) [15]
00020 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| @Compare! |
Colon |
visible |
C40Compare21 |
Forth |
18xxx2 |
| ( fn wRamAddress -- fc ) |
[ 5067, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (!) ]
[ (>R) ]
[ (lit) ]
[ (pick) ]
[ (R>) ]
[ (semi) ]
[ (xor) ]
[ adup@ ]
|
| Used in |
|
| Documentation |
|
| Value |
00172 | adup@ | ( wAdr -- wAdr u ) [27]
00173 | (lit) | ( -- b ) ( Arg Sign )
00174 | | [3]
00175 | | []
00176 | (pick) | ( u1 -- u2 )
00177 | (xor) | ( u1 u2 -- u3 ) ( )
00178 | (>R) | ( b -- ) [ -- b ]
00179 | (!) | ( b wRamAddress -- ) [Store]
00180 | (R>) | ( -- b ) [ b -- ]
00181 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| @False! |
Alias |
visible |
C40False21 |
Forth |
18xxx2 |
| ( wRamAddress -- b ) |
[ 5142, 9] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ @0! ]
|
| Used in |
|
| Documentation |
|
| Value |
@0! |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| @ff! |
Colon |
visible |
C40ff21 |
Forth |
18xxx2 |
| ( wRamAddress -- b ) |
[ 5147, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (@) ]
[ (-rot) ]
[ (semi) ]
[ aDup ]
[ Disable ]
[ Enable ]
[ ff! ]
|
| Used in |
| [ @True! ]
|
| Documentation |
|
| Value |
00200 | aDup | ( w -- w w ) [9]
00201 | Disable | ( -- ) ( )
00202 | (@) | ( wRamAddress -- b ) [Fetch]
00203 | (-rot) | ( b1 b2 b3 -- b3 b1 b2 )
00204 | ff! | ( wRamAddress -- )
00205 | Enable | ( -- ) ( )
00206 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| @spSave |
Colon |
visible |
C40spSave |
Forth |
18xxx2 |
| ( -- wRamAddress ) |
[ 5375, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (semi) ]
[ spSave ]
|
| Used in |
| [ spSave! ]
[ spSave@ ]
|
| Documentation |
|
| Value |
00207 | spSave | ( -- wRamAddr ) Temporary storage for SP checks [0:135][0]
00208 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| @True! |
Alias |
visible |
C40True21 |
Forth |
18xxx2 |
| ( wRamAddress -- b ) |
[ 5162, 10] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ @ff! ]
|
| Used in |
|
| Documentation |
|
| Value |
@ff! |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| [ |
Pascal |
immediate visible |
C5B |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Switch compiler off, also see ]
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| [.s] |
Pascal |
immediate visible |
C5B2Es5D |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Type a stack dump / debug function
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| [] |
Pascal |
immediate visible |
C5B5D |
Forth |
|
| ( -- n ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Index into an array :: [] 4 SomeArray
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| ['] |
Pascal |
immediate visible |
C5B275D |
Forth |
|
| ( -- ExecutionToken ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Search next word in input stream and return it's execution token - immediate, see '
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| []Ram@ |
Colon |
visible |
C5B5DRam40 |
Forth |
18xxx2 |
| ( bIndex -- b ) |
[ 3799, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (semi) ]
[ a+@ ]
[ RamPtr@ ]
|
| Used in |
|
| Documentation |
|
| Value |
00042 | RamPtr@ | ( -- wRamAddress )
00043 | a+@ | ( wAdr u -- b ) [15]
00044 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| []Rom@ |
Primitive |
visible |
C5B5DRom40 |
Forth |
18xxx2 |
| ( bIndex -- b ) |
[ 3681, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
movff tblptrl, tmp1 ; // Save tablepointer
movff tblptrh, tmp2
addwf tblptrl, f ; // Add bIndex to it
clrf wreg
addwfc tblptrh, f
tblrd* ; // read bData byte
movf tablat, w ; // return data in TOS
movff tmp2, tblptrl ; // restore table pointer
movff tmp1, tblptrh
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| [Compile] |
Pascal |
immediate visible |
C5BCompile5D |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Compile next inline token - immediate, also see Compile
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| \ |
Pascal |
immediate visible |
C5C |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Comment till end of line, same as //
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| ] |
Pascal |
visible |
C5D |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Switch compiler on
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| ^<<32 |
Primitive |
visible |
C5E3C3C32 |
Forth |
18xxx2 |
| ( wRamAddress n -- ) |
[ 4307, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // Indirect 32 bits left shift over n positions
PopReg tmp1 ; // Shift wRamAddress^ left over n positions
PopReg fsr2h ; // let fsr2 popint to first (lowest) byte
shli32lp
movwf fsr2l
bcf Status, C ; // Clear carry
rlcf postinc2, f
rlcf postinc2, f
rlcf postinc2, f
rlcf indf2 , f
movf fsr2l, w
addlw 3
decfsz tmp1
bra shli32lp
Drop
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| ^>>32 |
Primitive |
visible |
C5E3E3E32 |
Forth |
18xxx2 |
| ( wRamAddress n -- ) |
[ 4276, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // Indirect 32 bits right shift over n positions
PopReg tmp1 ; // Shift wRamAddress^ right over n positions
PopReg fsr2h ; // let fsr2 point to end of data (highest byte)
shri32lp
addlw 3
movwf fsr2l
bcf Status, C ; // Clear carry
rrcf postdec2, f
rrcf postdec2, f
rrcf postdec2, f
rrcf indf2 , f
movf fsr2l, w
decfsz tmp1
bra shri32lp
Drop
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| ^rl |
Primitive |
visible |
C5Erl |
Forth |
18xxx2 |
| ( wRamAddress -- ) |
[ 4005, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
Indirect left rotate
|
| Value |
PopReg fsr2h
PopReg fsr2l
rlncf indf2
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| ^rr |
Primitive |
visible |
C5Err |
Forth |
18xxx2 |
| ( wRamAddress -- ) |
[ 4015, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
Indirect right rotate
|
| Value |
PopReg fsr2h
PopReg fsr2l
rrncf indf2
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| ^Shl |
Primitive |
visible |
C5EShl |
Forth |
18xxx2 |
| ( wRamAddress -- ) |
[ 3985, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
Indirect left shift
|
| Value |
PopReg fsr2h
PopReg fsr2l
rlcf indf2
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| ^Shr |
Primitive |
visible |
C5EShr |
Forth |
18xxx2 |
| ( wRamAddress -- ) |
[ 3995, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
Indirect right shift
|
| Value |
PopReg fsr2h
PopReg fsr2l
rrcf indf2
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| ^Xor |
Primitive |
visible |
C5EXor |
Forth |
18xxx2 |
| ( wRamAddress1 wRamAddress2 -- ) |
[ 3960, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // Indirect 8 bits xor of wRamAddress1^with wRamAddress^2
; // result stored at wRamAddress1
movff fsr1l, tmp1
movff fsr1h, tmp2
PopReg fsr2h
PopReg fsr2l
PopReg fsr1h
movwf fsr1l
movf indf2, w
xorwf indf1, f
movff tmp1, fsr1l
movff tmp2, fsr1h
Drop
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| _?Do |
Pascal |
visible |
C_3FDo |
Forth |
|
| ( n1 n2 -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
meta helper
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| _>R |
Pascal |
visible |
C_3ER |
Forth |
|
| ( n -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
meta helper
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| _Again |
Pascal |
visible |
C_Again |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
meta helper
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| _Begin |
Pascal |
visible |
C_Begin |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
meta helper
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| _Case |
Pascal |
visible |
C_Case |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
meta helper
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| _default |
Pascal |
visible |
C_default |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
meta helper
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| _Do |
Pascal |
visible |
C_Do |
Forth |
|
| ( n1 n2 -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
meta helper
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| _Else |
Pascal |
visible |
C_Else |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
meta helper
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| _EndCase |
Pascal |
visible |
C_EndCase |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
meta helper
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| _EndOf |
Pascal |
visible |
C_EndOf |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
meta helper
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| _EndTry |
Pascal |
visible |
C_EndTry |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
meta helper
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| _Except |
Pascal |
visible |
C_Except |
Forth |
|
| ( <string-token> -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
meta helper
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| _Exit |
Pascal |
visible |
C_Exit |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
meta helper
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| _Finally |
Pascal |
visible |
C_Finally |
Forth |
|
| ( <strung-token> -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
meta helper
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| _I |
Pascal |
visible |
C_I |
Forth |
|
| ( -- n ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
meta helper
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| _If |
Pascal |
visible |
C_If |
Forth |
|
| ( f -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
meta helper
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| _J |
Pascal |
visible |
C_J |
Forth |
|
| ( -- n ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
meta helper
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| _K |
Pascal |
visible |
C_K |
Forth |
|
| ( -- n ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
meta helper
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| _Leave |
Pascal |
visible |
C_Leave |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
meta helper
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| _Loop |
Pascal |
visible |
C_Loop |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
meta helper
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| _Of |
Pascal |
visible |
C_Of |
Forth |
|
| ( n1 n2 -- n1 | ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
meta helper
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| _PLoop |
Pascal |
visible |
C_PLoop |
Forth |
|
| ( n -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
meta helper
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| _R> |
Pascal |
visible |
C_R3E |
Forth |
|
| ( -- n ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
meta helper
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| _Raise |
Pascal |
visible |
C_Raise |
Forth |
|
| ( <string-token> -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
meta helper
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| _Repeat |
Pascal |
visible |
C_Repeat |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
meta helper
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| _Then |
Pascal |
visible |
C_Then |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
meta helper
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| _Try |
Pascal |
visible |
C_Try |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
meta helper
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| _Until |
Pascal |
visible |
C_Until |
Forth |
|
| ( n -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
meta helper
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| _While |
Pascal |
visible |
C_While |
Forth |
|
| ( n -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
meta helper
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| { |
Pascal |
visible |
C7B |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Switch on meta compiler, also see MetaOn, MetaOff and }
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| } |
Pascal |
visible |
C7D |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Switch off meta compiler, also see MetaOn, MetaOff, {
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| + |
Pascal |
immediate visible |
C2B |
Forth |
|
| ( n1 n2 -- n3 ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
| [ .info ]
[ .infoTime ]
|
| Documentation |
adition
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| +! |
Pascal |
immediate visible |
C2B21 |
Forth |
|
| ( n1 n2 -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Increment value at address n1 with n2
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| ++Rom! |
Primitive |
visible |
C2B2BRom21 |
Forth |
18xxx2 |
| ( b -- ) |
[ 3742, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
PopReg tablat
tblwt+*
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| ++Rom@ |
Primitive |
visible |
C2B2BRom40 |
Forth |
18xxx2 |
| ( -- b ) |
[ 3706, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
tblrd+*
PushReg tablat
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| +Loop |
Pascal |
immediate visible |
C2BLoop |
Forth |
|
| ( n -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
n1 n2 Do .. n +Loop
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| +rot |
Pascal |
immediate visible |
C2Brot |
Forth |
|
| ( n1 n2 n3 -- n2 n3 n1 ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
rotate the 3rd stack element to the top
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| < |
Pascal |
immediate visible |
C3C |
Forth |
|
| ( n1 n2 -- f ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Push true when u1 < u2, false otherwise
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| << |
Pascal |
immediate visible |
C3C3C |
Forth |
|
| ( n1 n2 -- n3 ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Shift the second stack element left over the number of bits indicated by the top stack element
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| <<32 |
Primitive |
visible |
C3C3C32 |
Forth |
18xxx2 |
| ( q n -- q ) |
[ 4050, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
PopReg tmp1
PopReg tmp2
PopReg tmp3
PopReg tmp4
shl32lp
bcf Status, C
rlcf wreg
rlcf tmp4
rlcf tmp3
rlcf tmp2
decfsz tmp1
bra shl32lp
PushReg tmp4
PushReg tmp3
PushReg tmp2
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| <= |
Pascal |
immediate visible |
C3C3D |
Forth |
|
| ( n1 n2 -- f ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Push true when u1 <= u2, false otherwise
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| <> |
Pascal |
immediate visible |
C3C3E |
Forth |
|
| ( n1 n2 -- f ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Push true when the top two stack elements are un-equal, false otherwise
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| <Mark |
Pascal |
visible |
C3CMark |
Forth |
|
| ( -- <string-token> | n ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Backward jump (for begin ... again etc, also see >Mark
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| <Resolve |
Pascal |
visible |
C3CResolve |
Forth |
|
| ( <string-token> } n -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
, resilve <Mark, also see >Mark and >Resolve
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| = |
Pascal |
immediate visible |
C3D |
Forth |
|
| ( n1 n2 -- f ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Push true when the top two stack elements are equal, false otherwise
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| =: |
Pascal |
immediate visible |
C3D3A |
Forth |
|
| ( n -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Alias for To
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| > |
Pascal |
immediate visible |
C3E |
Forth |
|
| ( n1 n2 -- f ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Push true when u1 > u2, false otherwise
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| >" |
Pascal |
visible |
C3E22 |
Forth |
|
| ( n -- <string-token> ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Convert number to string acccording to Base
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| >$ |
Pascal |
visible |
C3E24 |
Forth |
|
| ( n -- <string-token> ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Convert number to string acccording to Base
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| >= |
Pascal |
immediate visible |
C3E3D |
Forth |
|
| ( n1 n2 -- f ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Push true when u1 >= u2, false otherwise
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| >> |
Pascal |
immediate visible |
C3E3E |
Forth |
|
| ( n1 n2 -- n3 ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Shift the second stack element right over the number of bits indicated by the top stack element
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| >>32 |
Primitive |
visible |
C3E3E32 |
Forth |
18xxx2 |
| ( q n -- q ) |
[ 4079, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
PopReg tmp1
PopReg tmp2
PopReg tmp3
PopReg tmp4
shr32lp
bcf Status, C
rrcf tmp2
rrcf tmp3
rrcf tmp4
rrcf wreg
decfsz tmp1
bra shr32lp
PushReg tmp4
PushReg tmp3
PushReg tmp2
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| >c |
Pascal |
visible |
C3Ec |
Forth |
|
| ( n -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Move n from data stack to contrtol stack, see c>
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| >Mark |
Pascal |
visible |
C3EMark |
Forth |
|
| ( -- n ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Forward jump (for if .. endif etc), also see <Mark, >Resolve and <Resolve
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| >R |
Pascal |
immediate visible |
C3ER |
Forth |
|
| ( n -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Move a value from the data to the loop stack
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| '0'- |
Macro |
immediate visible |
C270272D |
Forth |
18xxx2 |
| ( b -- b ) |
[ 4512, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
addlw 0xD0 ; // '0'- ( u1 -- u2 )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 0! |
Alias |
visible |
C021 |
Forth |
18xxx2 |
| ( wRamAddress -- ) |
[ 3954, 12] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ False! ]
|
| Used in |
| [ @0! ]
|
| Documentation |
|
| Value |
False! |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| '0'+ |
Macro |
immediate visible |
C270272B |
Forth |
18xxx2 |
| ( b -- b ) |
[ 4435, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
addlw 0x30 ; // '0'+ ( u1 -- u2 )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 0< |
Colon |
visible |
C03C |
Forth |
18xxx2 |
| ( b -- f ) |
[ 4623, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (and) ]
[ (lit) ]
[ (semi) ]
[ 0<> ]
|
| Used in |
|
| Documentation |
|
| Value |
00112 | (lit) | ( -- b ) ( Arg Sign )
00113 | | [128]
00114 | | []
00115 | (and) | ( u1 u2 -- u3 ) ( )
00116 | 0<> | ( b -- f )
00117 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 0<> |
Primitive |
visible |
C03C3E |
Forth |
18xxx2 |
| ( b -- f ) |
[ 4613, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ 0< ]
[ d0< ]
[ q< ]
[ q0<> ]
|
| Documentation |
|
| Value |
iorlw D'0'
btfsc status, Z
retlw False
retlw True
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 0= |
Primitive |
visible |
C03D |
Forth |
18xxx2 |
| ( b -- f ) |
[ 4594, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ @0= ]
[ d0= ]
[ q>= ]
[ q0= ]
|
| Documentation |
|
| Value |
iorlw D'0'
btfsc status, Z
retlw True
retlw False
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 0> |
Colon |
visible |
C03E |
Forth |
18xxx2 |
| ( u -- f ) |
[ 5096, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (>) ]
[ (lit) ]
[ (semi) ]
|
| Used in |
| [ @0> ]
|
| Documentation |
|
| Value |
00185 | (lit) | ( -- b ) ( Arg Sign )
00186 | | [0]
00187 | | []
00188 | (>) | ( u1 u2 -- f ) [0]
00189 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 0d |
2Constant |
visible |
C0d |
Forth |
18xxx2 |
| ( -- w ) |
[ 187, 25] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ ud>uq ]
|
| Documentation |
|
| Value |
0 |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 0q |
4Constant |
visible |
C0q |
Forth |
18xxx2 |
| ( -- q ) |
[ 223, 25] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
0 |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 1- |
Macro |
immediate visible |
C12D |
Forth |
18xxx2 |
| ( b -- b ) |
[ 4442, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
addlw D'255' ; // 1- ( u1 -- u2 )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 1-! |
Primitive |
visible |
C12D21 |
Forth |
18xxx2 |
| ( wRamAddress -- ) |
[ 3855, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
PopReg fsr2h
PopReg fsr2l
decf indf2, f
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 1+ |
Macro |
immediate visible |
C12B |
Forth |
18xxx2 |
| ( b -- b ) |
[ 4365, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
addlw D'1' ; // 1+ ( u1 -- u3 )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 1+! |
Primitive |
visible |
C12B21 |
Forth |
18xxx2 |
| ( wRamAddress -- ) |
[ 3865, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
PopReg fsr2h
PopReg fsr2l
incf indf2, f
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 1= |
Primitive |
visible |
C13D |
Forth |
18xxx2 |
| ( b -- f ) |
[ 4604, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
decfsz wreg
retlw False
retlw True
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 10- |
Macro |
immediate visible |
C102D |
Forth |
18xxx2 |
| ( b -- b ) |
[ 4505, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
addlw D'246' ; // 10- ( u1 -- u2 )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 10+ |
Macro |
immediate visible |
C102B |
Forth |
18xxx2 |
| ( b -- b ) |
[ 4428, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
addlw D'10' ; // 10+ ( u1 -- u2 )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 10000d |
2Constant |
visible |
C10000d |
Forth |
18xxx2 |
| ( -- w ) |
[ 209, 21] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
10000 |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 1000d |
2Constant |
visible |
C1000d |
Forth |
18xxx2 |
| ( -- w ) |
[ 204, 22] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
1000 |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 100d |
2Constant |
visible |
C100d |
Forth |
18xxx2 |
| ( -- w ) |
[ 200, 23] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
100 |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 1024d |
2Constant |
visible |
C1024d |
Forth |
18xxx2 |
| ( -- w ) |
[ 205, 22] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
1024 |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 10d |
2Constant |
visible |
C10d |
Forth |
18xxx2 |
| ( -- w ) |
[ 192, 24] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
10 |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 128* |
Primitive |
visible |
C1282A |
Forth |
18xxx2 |
| ( u1 -- u2 ) |
[ 5319, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
swapf wreg, f
rlcf wreg, f
rlcf wreg, f
rlcf wreg, f
andlw 0x80
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 128/ |
Primitive |
visible |
C1282F |
Forth |
18xxx2 |
| ( u1 -- u2 ) |
[ 5231, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
swapf wreg, f
rrcf wreg, f
rrcf wreg, f
rrcf wreg, f
andlw 0x01
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 128d |
2Constant |
visible |
C128d |
Forth |
18xxx2 |
| ( -- w ) |
[ 201, 23] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
128 |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 16* |
Macro |
immediate visible |
C162A |
Forth |
18xxx2 |
| ( b -- b ) |
[ 5287, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // 16* ( u1 -- u2 )
swapf wreg, f
andlw 0xf0
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 16/ |
Macro |
immediate visible |
C162F |
Forth |
18xxx2 |
| ( b -- b ) |
[ 5199, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // 16/ ( u1 -- u2 )
swapf wreg, f
andlw 0x0f
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 16384d |
2Constant |
visible |
C16384d |
Forth |
18xxx2 |
| ( -- w ) |
[ 210, 21] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
16384 |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 16d |
2Constant |
visible |
C16d |
Forth |
18xxx2 |
| ( -- w ) |
[ 193, 24] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
16 |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 18f452 |
Word |
visible |
C18f452 |
Forth |
|
| ( -- ) |
[ 41, 13] "D:\PrjD7\x4th\work\glossary\glossary.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 18xxx2 |
Module |
used visible |
C18xxx2 |
Forth |
|
| ( -- ) |
[ 4, 7] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
x4th Forth compiler and x4th target libraries
(C) COPYRIGHT 1999 .. 2007 Blue Hell / Jan Punter
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License version 2 as
published by the Free Software Foundation.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
For all listed email addresses :
<dot} to be substituted by a dot '.'
<at} to be substituted by an at sign '@'
Blue Hell is a trade mark owned by
Jan Punter
Oogstplein 6
7545 HP Enschede
the Netherlands
http://www.iaf.nl/Users/BlueHell/
http://bluehell.electro-music.com/
j<dot}punter<at}iaf<dot}nl
All rights attributed to Blue Hell are owned by Jan Punter.
--------------------------------------------------------------------
Code templates for Pic4th.
Boot loader support present, unencrypted version Initialization
Added Struct and Field words
Added Exception handling
removed :
utility words - now in utils.4th
numerical conversion words - now in numconvert.4th
string and memory words - now in strings.4th
18xxx2.4th, to be used for the folowing processors :
18c242 with #define 18c242
18c252 with #define 18c452
18c442 with #define 18c442
18c452 with #define 18c452
18f242 with #define 18f242
18f252 with #define 18f452
18f442 with #define 18f442
18f452 with #define 18f452
Stacks :
fsr0 - data stack, TOS in wreg - saved in interrupts
fsr1 - loop stack - not saved in interrupts
fsr2 - free to use - in foreground only - not saved in interrupts
--------------------------------------------------------------------
Addressing :
Initially BSR is set to 0 (zero) - this means bank 0 is reachable
through direct addressing. Further we rely on the PICASM
assembler to generate correct code to address according to the
ACCESS BANK mechanism. the following was observed in some
microchip documents and in generated list files :
when 12 bit addresses are used to identify memory locations :
(and we _do_ use 12 bits addresses here).
- addresses 0x000 - 0x07f and 0xf80 - 0xfff will result in opcodes
for which the A bit is low, so they are in the ACCESS bank.
- other addresses result into opcodes where the A bit is set to 1
so they must be specified (when used for direct addressing) with
a correct value in the BSR register.
So when BSR is kept 0, direct addressing is possible for the SFR
registers and for entire bank 0.
So when addressing in banks 1 .. 14 or in the lower half of bank 15
is to be performed BSR (and possibly fsr0h etc.) must be set Ok.
- The movff instruction uses full 12 bit addressing
- Indirect addressing can be used over all ram locations
without worrying about BSR.
See Initialization
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 18xxx2.end |
EndModule |
|
C18xxx22Eend |
Forth |
18xxx2 |
| ( -- ) |
[ 5791, 1] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 1a- |
Macro |
immediate visible |
C1a2D |
Forth |
18xxx2 |
| ( wRamAddr -- wRamAddr ) |
[ 3515, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // 1a- ( w1 -- w2 )
decf indf0, f
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 1a+ |
Macro |
immediate visible |
C1a2B |
Forth |
18xxx2 |
| ( wRamAddr -- wRamAddr ) |
[ 3467, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // 1a+ ( w1 -- w2 )
incf indf0, f
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 1d |
2Constant |
visible |
C1d |
Forth |
18xxx2 |
| ( -- w ) |
[ 188, 25] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
1 |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| -1d |
2Constant |
visible |
C2D1d |
Forth |
18xxx2 |
| ( -- w ) |
[ 213, 24] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ -1d= ]
|
| Documentation |
|
| Value |
65535 |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 1d- |
Colon |
visible |
C1d2D |
Forth |
18xxx2 |
| ( w1 -- w2 ) |
[ 5436, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (dlit) ]
[ (semi) ]
[ d- ]
|
| Used in |
|
| Documentation |
|
| Value |
00239 | (dlit) | ( -- w ) ( Arg Sign )
00240 | | [1]
00241 | | []
00242 | d- | ( wu1 wu2 -- wu3 )
00243 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 1d+ |
Colon |
visible |
C1d2B |
Forth |
18xxx2 |
| ( w1 -- w2 ) |
[ 5429, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (dlit) ]
[ (semi) ]
[ d+ ]
|
| Used in |
|
| Documentation |
|
| Value |
00234 | (dlit) | ( -- w ) ( Arg Sign )
00235 | | [1]
00236 | | []
00237 | d+ | ( wu1 wu2 -- wu3 )
00238 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| -1d= |
Colon |
visible |
C2D1d3D |
Forth |
18xxx2 |
| ( w -- f ) |
[ 5443, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (semi) ]
[ -1d ]
[ d= ]
|
| Used in |
|
| Documentation |
|
| Value |
00244 | -1d | ( -- w ) [65535]
00245 | d= | ( w1 w2 -- f )
00246 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| -1q |
4Constant |
visible |
C2D1q |
Forth |
18xxx2 |
| ( -- q ) |
[ 224, 24] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ qNot ]
|
| Documentation |
|
| Value |
-1 |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 2- |
Macro |
immediate visible |
C22D |
Forth |
18xxx2 |
| ( b -- b ) |
[ 4449, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
addlw D'254' ; // 2- ( u1 -- u2 )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 2* |
Macro |
immediate visible |
C22A |
Forth |
18xxx2 |
| ( b -- b ) |
[ 5244, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // 2* ( u1 -- u2 )
rlcf wreg, f
andlw 0xfe
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 2/ |
Macro |
immediate visible |
C22F |
Forth |
18xxx2 |
| ( b -- b ) |
[ 5167, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // 2/ ( u1 -- u2 )
rrcf wreg, f
andlw 0x7f
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 2+ |
Macro |
immediate visible |
C22B |
Forth |
18xxx2 |
| ( b -- b ) |
[ 4372, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
addlw D'2' ; // 2+ ( u1 -- u2 )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 2048d |
2Constant |
visible |
C2048d |
Forth |
18xxx2 |
| ( -- w ) |
[ 206, 22] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
2048 |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 20d |
2Constant |
visible |
C20d |
Forth |
18xxx2 |
| ( -- w ) |
[ 194, 24] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
20 |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 256d |
2Constant |
visible |
C256d |
Forth |
18xxx2 |
| ( -- w ) |
[ 202, 23] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
256 |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 2a- |
Macro |
immediate visible |
C2a2D |
Forth |
18xxx2 |
| ( wRamAddr -- wRamAddr ) |
[ 3523, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // 2a- ( w1 -- w2 )
decf indf0, f
decf indf0, f
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 2a+ |
Macro |
immediate used visible |
C2a2B |
Forth |
18xxx2 |
| ( wRamAddr -- wRamAddr ) |
[ 3475, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ q! ]
[ q@ ]
[ t! ]
[ t@ ]
|
| Documentation |
|
| Value |
; // 2a+ ( w1 -- w2 )
incf indf0, f
incf indf0, f
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 2Constant |
Pascal |
visible |
C2Constant |
Forth |
|
| ( n -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Define a 2 byte constant :: 1234 2Constant Joop
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 2d |
2Constant |
visible |
C2d |
Forth |
18xxx2 |
| ( -- w ) |
[ 189, 25] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
2 |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 2drop |
Pascal |
immediate visible |
C2drop |
Forth |
|
| ( n1 n2 -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Drop the top two stack elements
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 2dup |
Pascal |
immediate visible |
C2dup |
Forth |
|
| ( n1 n2 -- n1 n2 n1 n2 ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Duplicate the top two stack elements
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 2Field |
Pascal |
visible |
C2Field |
Forth |
|
| ( n m -- n+m ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Defines a 2field in a structure, see Struct
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 2over |
Pascal |
immediate visible |
C2over |
Forth |
|
| ( n1 n2 n3 n4 -- n1 n2 n3 n4 n1 n2 ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Duplicate the seconds set of two stack elements
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 2Pick |
Primitive |
visible |
C2Pick |
Forth |
18xxx2 |
| ( b0 b1 b3 -- b0 b1 b2 b0 ) |
[ 5622, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
Copy 3rd stack entry to top
|
| Value |
; // Push 3rd entry
PushNothing ; // Make room on stack
movlw -D'2' ; // negated offset
movf plusw0, w ; // w = offset of reqd. byte,
return ; // 0th byte references TOS
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 2q@ |
Colon |
visible |
C2q40 |
Forth |
18xxx2 |
| ( wRamAddress -- q q ) |
[ 5057, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (dup) ]
[ (semi) ]
[ 4a+ ]
[ q@ ]
[ RamPtr! ]
[ RamPtr@ ]
|
| Used in |
|
| Documentation |
|
| Value |
00165 | (dup) | ( b -- b b ) ( )
00166 | RamPtr! | ( wRamAddress -- )
00167 | q@ | ( wRamAddress -- q ) [153]
00168 | RamPtr@ | ( -- wRamAddress )
00169 | 4a+ | ( w1 -- w2 )
00170 | q@ | ( wRamAddress -- q ) [153]
00171 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 2swap |
Pascal |
immediate visible |
C2swap |
Forth |
|
| ( n1 n2 n3 n4 -- n3 n4 n1 n2 ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Exchange the top two sets of two stack items
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 2Variable |
Pascal |
visible |
C2Variable |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Define a 2 byte variable :: 2Variable Truus
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 3- |
Macro |
immediate visible |
C32D |
Forth |
18xxx2 |
| ( b -- b ) |
[ 4456, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
addlw D'253' ; // 3- ( u1 -- u2 )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 3* |
Primitive |
visible |
C32A |
Forth |
18xxx2 |
| ( u1 -- u2 ) |
[ 5253, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
movwf tmp1
rlcf wreg, f
andlw 0xfe
addwf tmp1, w
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 3+ |
Macro |
immediate visible |
C32B |
Forth |
18xxx2 |
| ( b -- b ) |
[ 4379, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
addlw D'3' ; // 3+ ( u1 -- u2 )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 30d |
2Constant |
visible |
C30d |
Forth |
18xxx2 |
| ( -- w ) |
[ 195, 24] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
30 |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 32* |
Primitive |
visible |
C322A |
Forth |
18xxx2 |
| ( u1 -- u2 ) |
[ 5296, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
swapf wreg, f
rlcf wreg, f
andlw 0xe0
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 32/ |
Primitive |
visible |
C322F |
Forth |
18xxx2 |
| ( u1 -- u2 ) |
[ 5208, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
swapf wreg, f
rrcf wreg, f
andlw 0x07
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 32768d |
2Constant |
visible |
C32768d |
Forth |
18xxx2 |
| ( -- w ) |
[ 211, 21] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
32768 |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 32d |
2Constant |
visible |
C32d |
Forth |
18xxx2 |
| ( -- w ) |
[ 196, 24] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
32 |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 3a- |
Primitive |
visible |
C3a2D |
Forth |
18xxx2 |
| ( w1 -- w2 ) |
[ 3532, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
decf indf0, f
decf indf0, f
decf indf0, f
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 3a+ |
Primitive |
visible |
C3a2B |
Forth |
18xxx2 |
| ( w1 -- w2 ) |
[ 3484, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
incf indf0, f
incf indf0, f
incf indf0, f
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 3Constant |
Pascal |
visible |
C3Constant |
Forth |
|
| ( n -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Define a 3 byte constant :: 123456 3Constant Joop
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 3Pick |
Primitive |
visible |
C3Pick |
Forth |
18xxx2 |
| ( b0 b1 b2 b4 -- b0 b1 b2 b4 b0 ) |
[ 5634, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
Copy 4th stack entry to top
|
| Value |
; // Push 4th entry
PushNothing ; // Make room on stack
movlw -D'3' ; // negated offset
movf plusw0, w ; // w = offset of reqd. byte,
return ; // 0th byte references TOS
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 3Variable |
Pascal |
visible |
C3Variable |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Define a 3 byte variable :: 3Variable Truus
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 4- |
Macro |
immediate visible |
C42D |
Forth |
18xxx2 |
| ( b -- b ) |
[ 4463, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
addlw D'252' ; // 4- ( u1 -- u2 )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 4* |
Primitive |
visible |
C42A |
Forth |
18xxx2 |
| ( u1 -- u2 ) |
[ 5264, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
rlcf wreg, f
rlcf wreg, f
andlw 0xfc
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 4/ |
Primitive |
visible |
C42F |
Forth |
18xxx2 |
| ( u1 -- u2 ) |
[ 5176, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
rrcf wreg, f
rrcf wreg, f
andlw 0x3f
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 4+ |
Macro |
immediate visible |
C42B |
Forth |
18xxx2 |
| ( b -- b ) |
[ 4386, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
addlw D'4' ; // 4+ ( u1 -- u2 )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 4096d |
2Constant |
visible |
C4096d |
Forth |
18xxx2 |
| ( -- w ) |
[ 207, 22] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
4096 |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 40d |
2Constant |
visible |
C40d |
Forth |
18xxx2 |
| ( -- w ) |
[ 197, 24] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
40 |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 4a- |
Primitive |
visible |
C4a2D |
Forth |
18xxx2 |
| ( w1 -- w2 ) |
[ 3542, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
decf indf0, f
decf indf0, f
decf indf0, f
decf indf0, f
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 4a+ |
Primitive |
visible |
C4a2B |
Forth |
18xxx2 |
| ( w1 -- w2 ) |
[ 3494, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ 2q@ ]
|
| Documentation |
|
| Value |
incf indf0, f
incf indf0, f
incf indf0, f
incf indf0, f
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 4Constant |
Pascal |
visible |
C4Constant |
Forth |
|
| ( n -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Define a 4 byte constant :: 12345678 4Constant Joop
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 4d |
2Constant |
visible |
C4d |
Forth |
18xxx2 |
| ( -- w ) |
[ 190, 25] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
4 |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 4Dup |
Colon |
visible |
C4Dup |
Forth |
18xxx2 |
| ( q -- q q ) |
[ 3639, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (2Over) ]
[ (semi) ]
|
| Used in |
|
| Documentation |
|
| Value |
00036 | (2Over) | ( w1 w2 -- w1 w2 w1 )
00037 | (2Over) | ( w1 w2 -- w1 w2 w1 )
00038 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 4Pick |
Primitive |
visible |
C4Pick |
Forth |
18xxx2 |
| ( b0 b1 b2 b3 b4 -- b0 b1 b2 b3 b4 b0 ) |
[ 5646, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ 4pickAnd>r ]
[ 4pickOr>r ]
[ 4pickXor>r ]
|
| Documentation |
Copy 5th stack entry to top
|
| Value |
; // Push 5th entry
PushNothing ; // Make room on stack
movlw -D'4' ; // negated offset
movf plusw0, w ; // w = offset of reqd. byte,
return ; // 0th byte references TOS
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 4pickAnd>r |
Colon |
visible |
C4pickAnd3Er |
Forth |
18xxx2 |
| ( b0 b1 b2 b3 b4 -- b0 b1 b2 b3 | -- b ) |
[ 5658, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (>R) ]
[ (and) ]
[ (semi) ]
[ 4Pick ]
|
| Used in |
| [ qAnd ]
|
| Documentation |
Helper for quad operations
|
| Value |
00294 | 4Pick | ( b0 b1 b2 b3 b4 -- b0 b1 b2 b3 b4 b0 ) Copy 5th stack entry to top
00295 | (and) | ( u1 u2 -- u3 ) ( )
00296 | (>R) | ( b -- ) [ -- b ]
00297 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 4pickOr>r |
Colon |
visible |
C4pickOr3Er |
Forth |
18xxx2 |
| ( b0 b1 b2 b3 b4 -- b0 b1 b2 b3 | -- b ) |
[ 5664, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (>R) ]
[ (or) ]
[ (semi) ]
[ 4Pick ]
|
| Used in |
| [ qOr ]
|
| Documentation |
Helper for quad operations
|
| Value |
00298 | 4Pick | ( b0 b1 b2 b3 b4 -- b0 b1 b2 b3 b4 b0 ) Copy 5th stack entry to top
00299 | (or) | ( u1 u2 -- u3 ) ( )
00300 | (>R) | ( b -- ) [ -- b ]
00301 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 4pickXor>r |
Colon |
visible |
C4pickXor3Er |
Forth |
18xxx2 |
| ( b0 b1 b2 b3 b4 -- b0 b1 b2 b3 | -- b ) |
[ 5670, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (>R) ]
[ (semi) ]
[ (xor) ]
[ 4Pick ]
|
| Used in |
| [ qXor ]
|
| Documentation |
Helper for quad operations
|
| Value |
00302 | 4Pick | ( b0 b1 b2 b3 b4 -- b0 b1 b2 b3 b4 b0 ) Copy 5th stack entry to top
00303 | (xor) | ( u1 u2 -- u3 ) ( )
00304 | (>R) | ( b -- ) [ -- b ]
00305 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 4Variable |
Pascal |
visible |
C4Variable |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Define a 4 byte variable :: 4Variable Truus
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 5- |
Macro |
immediate visible |
C52D |
Forth |
18xxx2 |
| ( b -- b ) |
[ 4470, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
addlw D'251' ; // 5- ( u1 -- u2 )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 5+ |
Macro |
immediate visible |
C52B |
Forth |
18xxx2 |
| ( b -- b ) |
[ 4393, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
addlw D'5' ; // 5+ ( u1 -- u2 )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 50d |
2Constant |
visible |
C50d |
Forth |
18xxx2 |
| ( -- w ) |
[ 198, 24] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
50 |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 512d |
2Constant |
visible |
C512d |
Forth |
18xxx2 |
| ( -- w ) |
[ 203, 23] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
512 |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 6- |
Macro |
immediate visible |
C62D |
Forth |
18xxx2 |
| ( b -- b ) |
[ 4477, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
addlw D'250' ; // 6- ( u1 -- u2 )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 6+ |
Macro |
immediate visible |
C62B |
Forth |
18xxx2 |
| ( b -- b ) |
[ 4400, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
addlw D'6' ; // 6+ ( u1 -- u2 )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 64* |
Primitive |
visible |
C642A |
Forth |
18xxx2 |
| ( u1 -- u2 ) |
[ 5307, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
swapf wreg, f
rlcf wreg, f
rlcf wreg, f
andlw 0xc0
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 64/ |
Primitive |
visible |
C642F |
Forth |
18xxx2 |
| ( u1 -- u2 ) |
[ 5219, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
swapf wreg, f
rrcf wreg, f
rrcf wreg, f
andlw 0x03
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 64d |
2Constant |
visible |
C64d |
Forth |
18xxx2 |
| ( -- w ) |
[ 199, 24] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
64 |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 65535d |
2Constant |
visible |
C65535d |
Forth |
18xxx2 |
| ( -- w ) |
[ 212, 21] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
65535 |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 7- |
Macro |
immediate visible |
C72D |
Forth |
18xxx2 |
| ( b -- b ) |
[ 4484, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
addlw D'249' ; // 7- ( u1 -- u2 )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 7+ |
Macro |
immediate visible |
C72B |
Forth |
18xxx2 |
| ( b -- b ) |
[ 4407, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
addlw D'7' ; // 7+ ( u1 -- u2 )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 8- |
Macro |
immediate visible |
C82D |
Forth |
18xxx2 |
| ( b -- b ) |
[ 4491, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
addlw D'248' ; // 8- ( u1 -- u2 )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 8* |
Primitive |
visible |
C82A |
Forth |
18xxx2 |
| ( u1 -- u2 ) |
[ 5275, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
rlcf wreg, f
rlcf wreg, f
rlcf wreg, f
andlw 0xf8
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 8/ |
Primitive |
visible |
C82F |
Forth |
18xxx2 |
| ( u1 -- u2 ) |
[ 5187, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
rrcf wreg, f
rrcf wreg, f
rrcf wreg, f
andlw 0x1f
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 8+ |
Macro |
immediate visible |
C82B |
Forth |
18xxx2 |
| ( b -- b ) |
[ 4414, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
addlw D'8' ; // 8+ ( u1 -- u2 )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 8192d |
2Constant |
visible |
C8192d |
Forth |
18xxx2 |
| ( -- w ) |
[ 208, 22] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
8192 |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 8d |
2Constant |
visible |
C8d |
Forth |
18xxx2 |
| ( -- w ) |
[ 191, 25] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
8 |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 9- |
Macro |
immediate visible |
C92D |
Forth |
18xxx2 |
| ( b -- b ) |
[ 4498, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
addlw D'247' ; // 9- ( u1 -- u2 )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| 9+ |
Macro |
immediate visible |
C92B |
Forth |
18xxx2 |
| ( b -- b ) |
[ 4421, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
addlw D'9' ; // 9+ ( u1 -- u2 )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| a- |
Primitive |
visible |
Ca2D |
Forth |
18xxx2 |
| ( w1 u -- w2 ) |
[ 3505, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
decf fsr0l, f
subwf postinc0, f
Drop
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| a+ |
Primitive |
visible |
Ca2B |
Forth |
18xxx2 |
| ( w1 u -- w2 ) |
[ 3457, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ @a+ ]
[ a+! ]
[ a+@ ]
|
| Documentation |
|
| Value |
decf fsr0l, f
addwf postinc0, f
Drop
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| a+! |
Colon |
visible |
Ca2B21 |
Forth |
18xxx2 |
| ( b wAdr u -- ) |
[ 3586, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (!) ]
[ (semi) ]
[ a+ ]
|
| Used in |
| [ @a+! ]
|
| Documentation |
|
| Value |
00021 | a+ | ( w1 u -- w2 )
00022 | (!) | ( b wRamAddress -- ) [Store]
00023 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| a+@ |
Colon |
visible |
Ca2B40 |
Forth |
18xxx2 |
| ( wAdr u -- b ) |
[ 3566, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (@) ]
[ (semi) ]
[ a+ ]
|
| Used in |
| [ @a+@ ]
[ []Ram@ ]
|
| Documentation |
|
| Value |
00015 | a+ | ( w1 u -- w2 )
00016 | (@) | ( wRamAddress -- b ) [Fetch]
00017 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| abs |
Pascal |
immediate visible |
Cabs |
Forth |
|
| ( n1 -- n2 ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Get the absolute value of the top stack element
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| AddCallDepth |
Pascal |
visible |
CAddCallDepth |
Forth |
|
| ( n -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Helper word to better see true call depths
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| AddDoc |
Pascal |
visible |
CAddDoc |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Use as " aName=aValue" AddDoc, is used in documentation output
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| AddDoc' |
Pascal |
visible |
CAddDoc27 |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Use as AddDoc' aName=aValue', is used in documentation output
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| AddToSearchPath |
Pascal |
visible |
CAddToSearchPath |
Forth |
|
| ( <string-token> -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Add text on stack to file search path
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| AddToSearchPathQuote |
Pascal |
visible |
CAddToSearchPathQuote |
Forth |
|
| ( <string-token> -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Add text on stack to file search path
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| AdminStart |
2Constant |
used visible |
CAdminStart |
Forth |
18xxx2 |
| ( -- w ) |
[ 125, 14] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ Initialization ]
|
| Documentation |
|
| Value |
512 |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| aDrop |
Alias |
visible |
CaDrop |
Forth |
18xxx2 |
| ( w -- ) |
[ 3603, 15] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (2drop) ]
|
| Used in |
|
| Documentation |
|
| Value |
(2drop) |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| adup@ |
Colon |
visible |
Cadup40 |
Forth |
18xxx2 |
| ( wAdr -- wAdr u ) |
[ 3613, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (@) ]
[ (semi) ]
[ aDup ]
|
| Used in |
| [ @Compare! ]
|
| Documentation |
|
| Value |
00027 | aDup | ( w -- w w ) [9]
00028 | (@) | ( wRamAddress -- b ) [Fetch]
00029 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Again |
Pascal |
immediate visible |
CAgain |
Forth |
|
| ( n -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Begin .. Again
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Alias |
Pascal |
visible |
CAlias |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Defines an alias for a 4th word
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Allot |
Pascal |
visible |
CAllot |
Forth |
|
| ( n -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Allot's in meta data space
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Also |
Pascal |
visible |
CAlso |
Only |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Dupe top of search list
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| and |
Pascal |
immediate visible |
Cand |
Forth |
|
| ( n1 n2 -- n3 ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
bitwise and
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| And! |
Primitive |
visible |
CAnd21 |
Forth |
18xxx2 |
| ( b wRamAddress -- ) |
[ 3887, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
PopReg fsr2h
PopReg fsr2l
andwf indf2
Drop
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| aOver |
Alias |
visible |
CaOver |
Forth |
18xxx2 |
| ( w1 w2 -- w1 w2 w1 ) |
[ 3605, 15] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (2Over) ]
|
| Used in |
| [ q! ]
|
| Documentation |
|
| Value |
(2Over) |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Array |
Pascal |
visible |
CArray |
Forth |
|
| ( n -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Define an array :: 7 Array Data
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| AsmConfig |
Macro |
immediate used visible |
CAsmConfig |
Forth |
18xxx2 |
| ( -- ) |
[ 1546, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // Set initial error level 0 == all eerors and warnings active
errorlevel $errorLevel$
; // Set number of lines per page, 0 == all lines on one page
LIST n=$LinesPerPage$
; // Set the assembler default radix HEX or DEC
RADIX $Radix$
; // Expand macro listings
EXPAND
; // Eject a page now
PAGE
; // Define processor to be used and include the processor specifics
#ifdef _18c242_
PROCESSOR 18c242
#include ".\lib\18c242.inc"
#endif
#ifdef _18c252_
PROCESSOR 18c252
#include ".\lib\18c252.inc"
#endif
#ifdef _18c442_
PROCESSOR 18c442
#include ".\lib\18c442.inc"
#endif
#ifdef _18c452_
PROCESSOR 18c452
#include ".\lib\18c452.inc"
#endif
#ifdef _18f242_
PROCESSOR 18f242
#include ".\lib\18f242.inc"
#endif
#ifdef _18f252_
PROCESSOR 18f252
#include ".\lib\18f252.inc"
#endif
#ifdef _18f442_
PROCESSOR 18f442
#include ".\lib\18f442.inc"
#endif
#ifdef _18f452_
PROCESSOR 18f452
#include ".\lib\18f452.inc"
#endif
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| aSwap |
Alias |
visible |
CaSwap |
Forth |
18xxx2 |
| ( w1 w2 -- w2 w1 ) |
[ 3606, 15] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ dSwap ]
|
| Used in |
|
| Documentation |
|
| Value |
dSwap |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Base! |
Pascal |
visible |
CBase21 |
Forth |
|
| ( n -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Base !
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Base@ |
Pascal |
visible |
CBase40 |
Forth |
|
| ( -- n ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Base @
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Begin |
Pascal |
immediate visible |
CBegin |
Forth |
|
| ( -- <string-token> n ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Begin .. Again, Begin .. 0 Until, Begin .. (f) While .. Repeat.
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Binary |
Pascal |
visible |
CBinary |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
&2 Base !
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| bl |
Alias |
visible |
Cbl |
Forth |
18xxx2 |
| ( -- b ) |
[ 3608, 15] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (Space) ]
|
| Used in |
|
| Documentation |
|
| Value |
(Space) |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| branch |
Pascal |
visible |
Cbranch |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
, unconditional branch
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| BreakPoint |
Macro |
immediate visible |
CBreakPoint |
Forth |
18xxx2 |
| ( -- ) |
[ 3334, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
nop ; BREAKPOINT $aMsg$
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| BSRTmp |
Variable |
used visible |
CBSRTmp |
Forth |
18xxx2 |
| ( -- wRamAddr ) |
[ 235, 12] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ Initialization ]
|
| Documentation |
Temporary for BSR
|
| Value |
address: 0:132, offset: 0, size: 1 |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| c> |
Pascal |
visible |
Cc3E |
Forth |
|
| ( -- n ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Move n from control stack to data stack, see >c
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Catch |
Pascal |
immediate visible |
CCatch |
Forth |
|
| ( -- n ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Try .. catch .. EndTry
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| ClearBreak |
Pascal |
visible |
CClearBreak |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Pascal un-break (for compiler debuging)
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| ClearSearchPath |
Pascal |
visible |
CClearSearchPath |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Clear the file search path
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| ClrWDT |
Macro |
immediate visible |
CClrWDT |
Forth |
18xxx2 |
| ( -- ) |
[ 3348, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
clrwdt ; // ClrWDT ( -- )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Code |
Pascal |
visible |
CCode |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Start a code definition, ended with EndCodce
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| CodeLibrary |
Pascal |
visible |
CCodeLibrary |
Forth |
|
| ( <string-token> -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Include a code library from the lib directory
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| CodeLibrary' |
Pascal |
visible |
CCodeLibrary27 |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Include a code library from the lib directory
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| CodeSize! |
Pascal |
visible |
CCodeSize21 |
Forth |
|
| ( n -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Specify a code size for a target code or macro word
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| CommentSymbol' |
Pascal |
visible |
CCommentSymbol27 |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Define the comment symbol for the output file
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Compile |
Pascal |
visible |
CCompile |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Compile next inline token, also see [Compile]
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Compiler |
Vocabulary |
visible |
CCompiler |
Only |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
(semi)
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| CompileTime |
Pascal |
immediate visible |
CCompileTime |
Forth |
|
| ( -- n ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
| [ .CompileTime ]
|
| Documentation |
Get compilation start date/time as Unix time - pseudo constant
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Config |
Macro |
immediate visible |
CConfig |
Forth |
18xxx2 |
| ( -- ) |
[ 1674, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
Processor configuration word
|
| Value |
CONFIG $aValue$
<!
#defined AddConfigToDocs
#if
AddConfigToDocs 0 = not
#if
AddDoc' config $aValue$'
#endIf
#endIf
>
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Constant |
Pascal |
visible |
CConstant |
Forth |
|
| ( n -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Define a constant :: 12 Constant Joop
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| cr |
Pascal |
visible |
Ccr |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
type a crlf to the outputfile, also see "cr.
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Create |
Pascal |
visible |
CCreate |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
: joop create ... Does> ... ;
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| d- |
Primitive |
visible |
Cd2D |
Forth |
18xxx2 |
| ( wu1 wu2 -- wu3 ) |
[ 4350, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ 1d- ]
[ sd< ]
[ sp-! ]
|
| Documentation |
|
| Value |
PopReg tmp1 ; // Pop hi2 into tmp1, leaving lo2 in wreg
decf fsr0l ; // point to lo1
subwf postinc0 ; // Sub lo bytes (lo3), point to hi1
movf tmp1, w ; // get hi2
subwfb postdec0, w ; // Sub hi bytes into w, point to lo3
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| d! |
Primitive |
visible |
Cd21 |
Forth |
18xxx2 |
| ( w wRamAddress -- ) |
[ 3875, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ q! ]
[ spSave! ]
[ t! ]
|
| Documentation |
|
| Value |
PopReg fsr2h
PopReg fsr2l
PopReg tmp1
PopReg postinc2
movff tmp1, indf2
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| d* |
Primitive |
visible |
Cd2A |
Forth |
18xxx2 |
| ( u1 u2 -- w ) |
[ 4664, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
8*8->16
|
| Value |
PopReg tmp1
mulwf tmp1
movf prodl, w
PushReg prodh
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| d@ |
Primitive |
visible |
Cd40 |
Forth |
18xxx2 |
| ( wRamAddress -- w ) |
[ 3385, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ q@ ]
[ spSave@ ]
[ t@ ]
|
| Documentation |
[DFetch]
|
| Value |
PopReg fsr2h ; // Get bank selector into fsr2h
PopReg fsr2l
PushReg postinc2
PushReg indf2
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| d+ |
Primitive |
visible |
Cd2B |
Forth |
18xxx2 |
| ( wu1 wu2 -- wu3 ) |
[ 4337, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ (>2field) ]
[ (s>2field) ]
[ (s>field) ]
[ 1d+ ]
[ sp+! ]
|
| Documentation |
|
| Value |
PopReg tmp1 ; // Pop hi2 into tmp1, leaving lo2 in wreg
decf fsr0l ; // point to lo1
addwf postinc0 ; // Add lo bytes (lo3), point to hi1
movf tmp1, w ; // get hi2
addwfc postdec0, w ; // Add hi bytes into w, point to lo3
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| d< |
Primitive |
visible |
Cd3C |
Forth |
18xxx2 |
| ( wu1 wu2 -- f ) |
[ 4551, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ d>= ]
|
| Documentation |
|
| Value |
; // Return True if N1 (u1,u2) < N2 (u3,u4) (or N2 > N1)
PopReg tmp3
PopReg tmp4
PopReg tmp1
movwf tmp2
cpfslt16 tmp2, tmp4
retlw False
retlw True
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| d<= |
Colon |
visible |
Cd3C3D |
Forth |
18xxx2 |
| ( w1 w2 -- f ) |
[ 5457, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (not) ]
[ (semi) ]
[ d> ]
|
| Used in |
|
| Documentation |
|
| Value |
00250 | d> | ( wu1 wu2 -- f )
00251 | (not) | ( b -- b ) ( )
00252 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| d= |
Primitive |
visible |
Cd3D |
Forth |
18xxx2 |
| ( w1 w2 -- f ) |
[ 4519, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ -1d= ]
[ sp? ]
|
| Documentation |
|
| Value |
PopReg tmp1 ; // u4
PopReg tmp2 ; // u3
PopReg tmp3 ; // u2
cpfseq tmp2
retlw False
movf tmp3, w
cpfseq tmp1
retlw False
retlw True
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| d> |
Primitive |
visible |
Cd3E |
Forth |
18xxx2 |
| ( wu1 wu2 -- f ) |
[ 4536, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ d<= ]
[ d0> ]
|
| Documentation |
|
| Value |
; // Return True if N1 (u1,u2) > N2 (u3,u4) (or N2 < N1)
PopReg tmp3 ; // Pop N2
PopReg tmp4
PopReg tmp1 ; // Pop N1
movwf tmp2
cpfslt16 tmp4, tmp2 ; // S/ N2 < N1
retlw False ; // Assumptionwrong, return false
retlw True
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| d>= |
Colon |
visible |
Cd3E3D |
Forth |
18xxx2 |
| ( w1 w2 -- f ) |
[ 5450, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (not) ]
[ (semi) ]
[ d< ]
|
| Used in |
|
| Documentation |
|
| Value |
00247 | d< | ( wu1 wu2 -- f )
00248 | (not) | ( b -- b ) ( )
00249 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| d>q |
Primitive |
visible |
Cd3Eq |
Forth |
18xxx2 |
| ( w -- q ) |
[ 4651, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
with sign extension
|
| Value |
PushLit D'0'
btfsc indf0, 7
movlw D'255'
PushLit D'0'
btfsc indf0, 7
movlw D'255'
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| d>r |
Colon |
visible |
Cd3Er |
Forth |
18xxx2 |
| ( d -- ) |
[ 4132, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (>R) ]
[ (semi) ]
[ (swap) ]
|
| Used in |
| [ q>r ]
|
| Documentation |
|
| Value |
00066 | (swap) | ( b1 b2 -- b2 b1 )
00067 | (>R) | ( b -- ) [ -- b ]
00068 | (>R) | ( b -- ) [ -- b ]
00069 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| d0 |
Colon |
visible |
Cd0 |
Forth |
18xxx2 |
| ( -- w ) |
[ 4993, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (dlit) ]
[ (semi) ]
|
| Used in |
| [ d0> ]
|
| Documentation |
|
| Value |
00124 | (dlit) | ( -- w ) ( Arg Sign )
00125 | | [0]
00126 | | []
00127 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| d0< |
Colon |
visible |
Cd03C |
Forth |
18xxx2 |
| ( d -- f ) |
[ 5464, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (and) ]
[ (lit) ]
[ (semi) ]
[ 0<> ]
[ SwapDrop ]
|
| Used in |
|
| Documentation |
|
| Value |
00253 | SwapDrop | ( b b -- b ) ( )
00254 | (lit) | ( -- b ) ( Arg Sign )
00255 | | [128]
00256 | | []
00257 | (and) | ( u1 u2 -- u3 ) ( )
00258 | 0<> | ( b -- f )
00259 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| d0= |
Colon |
visible |
Cd03D |
Forth |
18xxx2 |
| ( w -- f ) |
[ 5007, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (or) ]
[ (semi) ]
[ 0= ]
|
| Used in |
|
| Documentation |
|
| Value |
00131 | (or) | ( u1 u2 -- u3 ) ( )
00132 | 0= | ( b -- f )
00133 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| d0> |
Colon |
visible |
Cd03E |
Forth |
18xxx2 |
| ( w -- f ) |
[ 5000, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (semi) ]
[ d> ]
[ d0 ]
|
| Used in |
|
| Documentation |
|
| Value |
00128 | d0 | ( -- w ) [124]
00129 | d> | ( wu1 wu2 -- f )
00130 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| dabs |
Primitive |
visible |
Cdabs |
Forth |
18xxx2 |
| ( d -- ud ) |
[ 3396, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // 16 bits Abs
btfss wreg, 7
bra dabs_done
comf indf0, f
incf indf0, f
btfsc Status, z
decf wreg, f
comf wreg, f
dabs_done
Return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Data |
Pascal |
visible |
CData |
Forth |
|
| ( string-token -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Define a data constant XXXX, also see String. RawData, " and ''
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Decimal |
Pascal |
visible |
CDecimal |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
&10 Base !
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Defer |
Pascal |
visible |
CDefer |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Defer XXXX
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Definitions |
Pascal |
visible |
CDefinitions |
Only |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
To set the current compile voc
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Deprecated |
Pascal |
visible |
CDeprecated |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Set the deprecated bit for the last defined word
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Disable |
Macro |
immediate used visible |
CDisable |
Forth |
18xxx2 |
| ( -- ) |
[ 3369, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ @0! ]
[ @ff! ]
|
| Documentation |
|
| Value |
; // Disable ( -- ), disable interrupts
Disable
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Divisor |
4Variable |
visible |
CDivisor |
Forth |
18xxx2 |
| ( -- wRamAddr ) |
[ 244, 12] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ (/Mod) ]
[ *_8_32 ]
[ /mod16 ]
[ /mod32 ]
[ q* ]
|
| Documentation |
Division divisor input variable, and General Purpose
|
| Value |
address: 0:145, offset: 0, size: 4 |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| DLiteral |
Pascal |
immediate visible |
CDLiteral |
Forth |
|
| ( n -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Compile TOS as a double byte literal
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Do |
Pascal |
immediate visible |
CDo |
Forth |
|
| ( -- n ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
n1 n2 Do .. Leave .. Loop or n +Loop
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Does> |
Pascal |
immediate visible |
CDoes3E |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
, see Create
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| done' |
Pascal |
immediate visible |
Cdone27 |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Generate a runtime done msg with inline specified text.
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| dr> |
Colon |
visible |
Cdr3E |
Forth |
18xxx2 |
| ( d -- ) |
[ 4140, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (R>) ]
[ (semi) ]
[ (swap) ]
|
| Used in |
| [ qr> ]
|
| Documentation |
|
| Value |
00070 | (R>) | ( -- b ) [ b -- ]
00071 | (R>) | ( -- b ) [ b -- ]
00072 | (swap) | ( b1 b2 -- b2 b1 )
00073 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| drop |
Pascal |
immediate visible |
Cdrop |
Forth |
|
| ( n1 -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
drop top stack element
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| DropFalse |
Macro |
immediate visible |
CDropFalse |
Forth |
18xxx2 |
| ( b -- f ) |
[ 5120, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
movlw False ; // Drop False ( b -- f )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| DropTrue |
Macro |
immediate visible |
CDropTrue |
Forth |
18xxx2 |
| ( b -- f ) |
[ 5113, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
movlw True ; // Drop True ( b -- f )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| DropVocabulary |
Pascal |
visible |
CDropVocabulary |
Only |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Removes top of search order
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| dSwap |
Primitive |
visible |
CdSwap |
Forth |
18xxx2 |
| ( w1 w2 -- w2 w1 ) |
[ 3440, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ (2Swap) ]
[ aSwap ]
[ q! ]
[ q@ ]
[ q>r ]
[ qr> ]
[ sd> ]
[ t@ ]
|
| Documentation |
|
| Value |
PopReg tmp4
PopReg tmp3
PopReg tmp2
PopReg tmp1
PushReg tmp3
PushReg tmp4
PushReg tmp1
PushReg tmp2
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| dup |
Pascal |
immediate visible |
Cdup |
Forth |
|
| ( n1 -- n1 n1 ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
duplicate top stack element
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Dup! |
Primitive |
visible |
CDup21 |
Forth |
18xxx2 |
| ( b wRamAddress -- b ) |
[ 3920, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
PopReg fsr2h
PopReg fsr2l
movwf indf2
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Else |
Pascal |
immediate visible |
CElse |
Forth |
|
| ( n -- n ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
n If .. Else .. Then or EndIf
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Enable |
Macro |
immediate used visible |
CEnable |
Forth |
18xxx2 |
| ( -- ) |
[ 3377, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ @0! ]
[ @ff! ]
|
| Documentation |
|
| Value |
; // Enable ( -- ) // enable interrupts
Enable
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| EndCase |
Pascal |
immediate visible |
CEndCase |
Forth |
|
| ( n0 n1 .. nn-1 0 4 -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
( n ) Case .. Of .. EndOf .. Default .. endCase
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| EndCode |
Pascal |
visible |
CEndCode |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
End a Code definition
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| EndGroup |
Pascal |
visible |
CEndGroup |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
End memory grouping
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| EndIf |
Pascal |
immediate visible |
CEndIf |
Forth |
|
| ( n -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
n If .. Else .. Then or endIf
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| EndMacro |
Pascal |
visible |
CEndMacro |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
End a Macro definition to be ended with EndMacro
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| EndOf |
Pascal |
immediate visible |
CEndOf |
Forth |
|
| ( n1 5 -- n1 n2 ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
( n ) Case .. Of .. endOf .. Default .. EndCase
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| EndStruct |
Pascal |
visible |
CEndStruct |
Forth |
|
| ( n -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
End structure offset defs, see Struct
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Enum |
Pascal |
visible |
CEnum |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Enum x y z EndEnum, start eneumeration at 0. See InitEnum
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Evaluate |
Pascal |
visible |
CEvaluate |
Forth |
|
| ( <strinbg-token> -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
evaluate string token as 4th code
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Except |
Pascal |
immediate visible |
CExcept |
Forth |
|
| ( -- n ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Try .. except .. EndTry
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Execute |
Pascal |
visible |
CExecute |
Forth |
|
| ( -- exec-token ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
execute exec-token
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Exit |
Pascal |
immediate visible |
CExit |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Immediately leave the current colon word returning to the caller
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| ExtendStruct |
Pascal |
visible |
CExtendStruct |
Forth |
|
| ( n -- n ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Extend structure offsets, see Struct
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| False |
Pascal |
immediate visible |
CFalse |
Forth |
|
| ( -- f ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Push boolean false
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| False! |
Primitive |
visible |
CFalse21 |
Forth |
18xxx2 |
| ( wRamAddress -- ) |
[ 3942, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ 0! ]
|
| Documentation |
|
| Value |
PopReg fsr2h
movwf fsr2l
movlw False
movwf indf2
Drop
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| FalseFalse |
2Constant |
visible |
CFalseFalse |
Forth |
18xxx2 |
| ( -- w ) |
[ 219, 17] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
0 |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| FalseTrue |
2Constant |
visible |
CFalseTrue |
Forth |
18xxx2 |
| ( -- w ) |
[ 217, 18] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
65280 |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| FbDecimation |
Pascal |
visible |
CFbDecimation |
Forth |
|
| ( n -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
n FbFecimation, feedback decimation
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| ff! |
Alias |
visible |
Cff21 |
Forth |
18xxx2 |
| ( wRamAddress -- ) |
[ 3955, 11] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ True! ]
|
| Used in |
| [ @ff! ]
|
| Documentation |
|
| Value |
True! |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| ffffd |
2Constant |
visible |
Cffffd |
Forth |
18xxx2 |
| ( -- w ) |
[ 214, 22] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
65535 |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Field |
Pascal |
visible |
CField |
Forth |
|
| ( n m -- n+m ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Defines a field in a structure, see Struct
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| FillUpWithRandom |
Macro |
immediate used visible |
CFillUpWithRandom |
Forth |
18xxx2 |
| ( -- ) |
[ 5736, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ FlashPageSize ]
|
| Used in |
| [ Build ]
|
| Documentation |
|
| Value |
; // Fill out program space with random numbers until
; // a modulo <@" FlashPageSize"> boundary is hit.
variable Seed = 12345
Random macro
Seed = ( Seed * 1103515245) + 12345
dw ( Seed >> 5) & 0xffff
endm
while $ % <@" FlashPageSize"> != 0
Random
endw
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Finalization |
Macro |
immediate used visible |
CFinalization |
Forth |
18xxx2 |
| ( -- ) |
[ 329, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ Build ]
|
| Documentation |
|
| Value |
; // ;;;;;;;;;;;;;;;;;;;; Finalization ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
End
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Finally |
Pascal |
immediate visible |
CFinally |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Try .. finally .. EndTry
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| ForceRomBank |
Pascal |
visible |
CForceRomBank |
Forth |
|
| ( n -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
n ForceRomBank :: selects rom bank n
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| FSRTmpH |
Variable |
used visible |
CFSRTmpH |
Forth |
18xxx2 |
| ( -- wRamAddr ) |
[ 234, 12] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ Initialization ]
|
| Documentation |
Temporary for FSR0H
|
| Value |
address: 0:131, offset: 0, size: 1 |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| FSRTmpL |
Variable |
used visible |
CFSRTmpL |
Forth |
18xxx2 |
| ( -- wRamAddr ) |
[ 233, 12] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ Initialization ]
|
| Documentation |
Temporary for FSR0L
|
| Value |
address: 0:130, offset: 0, size: 1 |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| GenerateCode |
Pascal |
visible |
CGenerateCode |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
| [ Build ]
|
| Documentation |
Generate the output file
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| GenerateDebug |
Pascal |
visible |
CGenerateDebug |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Include some debug stuff in the output file
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Group |
Pascal |
visible |
CGroup |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Start memory grouping for the allocations that follow
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Here |
Pascal |
visible |
CHere |
Forth |
|
| ( -- n ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Location in meta data space
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Hex |
Pascal |
visible |
CHex |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
&16 Base !
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| HexFormat |
Macro |
immediate used visible |
CHexFormat |
Forth |
18xxx2 |
| ( -- ) |
[ 1650, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
Control the default assembler radix
|
| Value |
LIST F=$aFormat$
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Hide |
Pascal |
visible |
CHide |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Clear the visible bit for the last defined word
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| I |
Pascal |
immediate visible |
CI |
Forth |
|
| ( -- n ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Get inner most Loop index
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| IdLoc |
Macro |
immediate visible |
CIdLoc |
Forth |
18xxx2 |
| ( -- ) |
[ 1690, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
Processor ID location byte
|
| Value |
__IDLOCS _IDLOC$aNum$, $aParams$
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| If |
Pascal |
immediate visible |
CIf |
Forth |
|
| ( -- n ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
n If .. Else .. Then or EndIf
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Immediate |
Pascal |
visible |
CImmediate |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Toggle the immediate bit for the last defined word
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Include |
Pascal |
visible |
CInclude |
Forth |
|
| ( <string-token> -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Include a 4th file from the source directory
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Include' |
Pascal |
visible |
CInclude27 |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Include a 4th file from the source directory
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| InitEnum |
Pascal |
visible |
CInitEnum |
Forth |
|
| ( n -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
InitEnum x y z EndEnum, start enumeration at n. See Enum
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Initialization |
Macro |
immediate used visible |
CInitialization |
Forth |
18xxx2 |
| ( -- ) |
[ 344, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ AdminStart ]
[ BSRTmp ]
[ FSRTmpH ]
[ FSRTmpL ]
LowPriorityInterrupt[ PCHTmp ]
Pin_SCL Pin_SDA[ Quotient ]
[ StatusTmp ]
|
| Used in |
| [ Build ]
|
| Documentation |
|
| Value |
; // ////////////////////////////////////////////////////////////////////////////
; // Forth memory layout
False equ 0
True equ -1
MaxRam equ 0x07f ; // Shared memory over all banks,
; // locate it in bank 0.
; // using the Access bank mechanism
LDP equ MaxRam - 0 ; // Base pointer for local variable access
; // Local Data Pointer
EFP equ MaxRam - 2 ; // word : Except Frame Pointer,
; // used for exception handling
tmp0 equ MaxRam - 3 ; // First temporary register
tmp1 equ MaxRam - 4 ; // First temporary register
tmp2 equ MaxRam - 5
tmp3 equ MaxRam - 6
tmp4 equ MaxRam - 7
tmp5 equ MaxRam - 8 ; // Last temporary register
WTMP equ MaxRam - 9 ; // Temporary Wreg save for interrupts
; // Some locations left free (above, after WTMP), can go to -15 ( - 0x0f)
LZero equ MaxRam - 0x010 + 1 ; // Top of Return/Loop Stack + 1
; // 32 bytes of loop stack, 8 nested DO loops's
; // The loop stack grows downward into the data stack
; //
; // The data stack grows upwards into the loop stack
SZero equ 0x000 - 1 ; // Top of data stack + 1, bank 0, 80 bytes stack
// ==================================
// AsmHelpers ( ) Some helper macro's
//
fBranch macro aLabel
bz aLabel ; // B/ zero flag set : fBranch
endm
//
// ===============================================
// // Parameter Stack macro's
// ===============================================
//
PopReg macro Reg
movwf (Reg) ; // PopReg ( b -- )
movf postdec0, w
endm
//
//
// ===============================================
//
Drop macro
movf postdec0, w ; // drop ( b -- )
endm
//
//
// ===============================================
//
SwapDrop macro
decf fsr0l, f ; // SwapDrop ( b1 b2 -- b2 )
endm
//
//
// ===============================================
//
PushLit macro Arg
movwf preinc0 ; // Push Arg ( -- b )
movlw (Arg)
endm
//
//
// ===============================================
//
PushReg macro Reg
movwf preinc0 ; // Push Reg ( -- b )
movf (Reg), w
endm
//
//
// ===============================================
//
PushNothing macro
movwf preinc0 ; // Push nothing, free wreg
endm
//
//
// ===============================================
//
Dup macro
movwf preinc0 ; // Dup ( b1 -- b1 b1 )
endm
//
//
// ===============================================
// Return (loop) Stack macro's
// ===============================================
//
LsPushReg macro Reg
decf fsr1l ; // Push Reg [ -- b ]
movff (Reg), indf1
endm
//
//
// ===============================================
//
LsPushLit macro Arg
; // LsPushLit (Arg)
PushNothing ; // Free wreg to be used
movlw (Arg) ; // Arg into wreg
decf fsr1l ; // Push Arg [ -- b ] to loop stack
movwf indf1
Drop ; // Restore wreg
endm
//
//
// ===============================================
//
LsDrop macro
incf fsr1l ; // drop [ b -- ] from loop stack
endm
//
//
// ===============================================
//
LsFree macro item_count
PushNothing
movlw item_count
addwf fsr1l, f ; // drop [ n1 .. nn -- ] from loop stack
Drop
endm
//
//
// ===============================================
//
LsPopReg macro Reg
movff postinc1, (Reg) ; // Pop Reg [ b -- ]
endm
//
//
// ; ===============================================
//
AddExceptionFrame macro
; // AddExceptionFrame : link in a new exception frame
LsPushReg ( EFP + 0) ; // Push Except Frame Pointer
LsPushReg ( EFP + 1)
movff fsr1l, EFP + 0 ; // And set up a new Except Frame Pointer
movff fsr1h, EFP + 1
endm
//
//
// ===============================================
//
RemoveExceptionFrame macro
; // RemoveExceptionFrame, unwind one exception level
movff EFP + 0, fsr1l ; // Set loop stack back to EFP
movff EFP + 1, fsr1h
LSPopReg ( EFP + 1) ; // Pop back old Exception Frame Pointer
LsPopReg ( EFP + 0)
endm
//
// ===============================================
// Ram select macro's
// ===============================================
//
SetBSR macro aRegister
movlb (aRegister >> 8) & 0xff ; // SetBsr
endm
//
//
// ===============================================
//
SetBSRDefault macro
movlb 0x00 ; // Select the default rambank
endm
//
//
// ===============================================
//
AddressToFsr0 macro aRegister
movlw (aRegister >> 0) & 0xff ; // AddressToFsr0
movwf fsr0l
movlw (aRegister >> 8) & 0xff
movwf fsr0h
endm
//
//
// ===============================================
//
AddressToFsr1 macro aRegister
movlw (aRegister >> 0) & 0xff ; // AddressToFsr1
movwf fsr1l
movlw (aRegister >> 8) & 0xff
movwf fsr1h
endm
//
//
// ===============================================
//
AddressToFsr2 macro aRegister
movlw (aRegister >> 0) & 0xff ; // AddressToFsr2
movwf fsr2l
movlw (aRegister >> 8) & 0xff
movwf fsr2h
endm
//
//
// ===============================================
// Utility macro's
// ===============================================
//
PushNextRomAddress macro
local BeyondMe
; // PushNextRomAddress ( -- wRomAddress )
PushLit (BeyondMe >> 0) & 0xff ; // Push low byte
PushLit (BeyondMe >> 8) & 0xff ; // Push high byte
return
BeyondMe:
endm
//
//
// ===============================================
//
incf16 macro freg
incf freg, f ; // incf16
btfsc Status, C
incf freg + 1, f
endm
//
//
// ===============================================
//
incf32 macro freg
incf freg + 0, f ; // incf32
btfsc Status, C
incf freg + 1, f
btfsc Status, C
incf freg + 2, f
btfsc Status, C
incf freg + 3, f
endm
//
//
// ===============================================
//
incf24 macro freg
incf freg + 0, f ; // incf24
btfsc Status, C
incf freg + 1, f
btfsc Status, C
incf freg + 2, f
endm
//
//
// ===============================================
//
decf16 macro freg
decf freg + 0, f ; // decf16
btfss Status, C
decf freg + 1, f
endm
//
//
// ===============================================
//
decf16sz macro freg
decf freg + 0, f ; // decf16sz S if Zero - kills wreg
btfss Status, C
decf freg + 1, f
movf freg + 0, w
iorwf freg + 1, w
btfss Status, Z ; // S/ result was zero
endm
//
//
// ===============================================
//
addl16 macro dst16, lit16
movlw (lit16 >> 0) & 0xff ; // addl16
addwf dst16, f
movlw (lit16 >> 8) & 0xff
addwfc dst16 + 1, f
endm
//
//
// ===============================================
//
shl16 macro reg16
bcf Status, C ; // shl16
rlcf reg16 + 0, f
rlcf reg16 + 1, f
endm
//
//
// ===============================================
//
rrc16 macro reg16 ; // Same as shrc16
rrcf reg16 + 1, f ; // rrc16
rrcf reg16 , f
endm
//
//
// ===============================================
//
shlc16 macro reg16
rlcf reg16 , f ; // shlc16
rlcf reg16 + 1, f
endm
//
//
// ===============================================
//
shr16 macro reg16
bcf Status, c ; // shr16
rrcf reg16 + 1, f
rrcf reg16 + 0, f
endm
//
//
// ===============================================
//
shrc16 macro reg16 ; // Same as rrc16
rrcf reg16 + 1, f ; // shrc16
rrcf reg16, f
endm
//
//
// ===============================================
//
xorl16 macro dst16, lit16
movlw (lit16 >> 0) & 0xff ; // xorl16
xorwf dst16, f
movlw (lit16 >> 8) & 0xff
xorwf dst16 + 1, f
endm
//
// ===============================================
//
shlc32 macro reg32
rlcf reg32 , f ; // shlc32
rlcf reg32 + 1, f
rlcf reg32 + 2, f
rlcf reg32 + 3, f
endm
//
//
// ===============================================
//
xorf16 macro dst16, src16
movf src16 , w ; // xorf16
xorwf dst16 , f
movf src + 1, w
xorwf dst + 1, f
endm
//
//
// ===============================================
//
xorf16d macro src16_1, src16_2, dst16
movf src16_1 + 0, w ; // xorf16d
xorwf src16_2 + 0, w
movwf dst16 + 0
movf src16_1 + 1, w
xorwf src16_2 + 1, w
movwf dst16 + 1
endm
//
//
// ===============================================
//
clrf16 macro reg16
clrf reg16 ; // clrf16
clrf reg16 + 1
endm
//
//
// ===============================================
//
clrf32 macro reg32
clrf reg32 ; // clrf32
clrf reg32 + 1
clrf reg32 + 2
clrf reg32 + 3
endm
//
//
// ===============================================
//
cpfslt16 macro reg16_1, reg16_2
; // Skip the next instruction if N1 < N2 (unsigned)
; // or skip if N1 - N2 < 0
local CheckHiUnEq, N1SmallerN2, N1NotSmallerN2
movwf <@" Quotient"> ; // Save wreg
movf reg16_1 + 1, w
subwf reg16_2 + 1, w
bnz CheckHiUnEq ; // B/ N1 + 1 <> N2 + 1, test hi bytes
; // N1 + 1 == N2 + 1, test low bytes
movf reg16_2, w ; // N2 to w
subwf reg16_1, w ; // calc N1 - N2 :: negative -> N1 - N2 < 0 -> N1 < N2
movff <@" Quotient">, WREG ; // Restore wreg || NOT affecting flags
bc N1NotSmallerN2
; // N1 < N2
bra N1SmallerN2
CheckHiUnEq
; // Hi bytes are not equal, test 'm
movf reg16_2 + 1, w ; // N2 == reg16_2 + 1
subwf reg16_1 + 1, w ; // Sub N1:: negative -> N1 - N2 < 0 -> N1 < N2
movff <@" Quotient">, WREG ; // Restore wreg || NOT affecting flags
bc N1NotSmallerN2
N1SmallerN2
bra N1NotSmallerN2 + 2 ; // Skip next
N1NotSmallerN2
endm
//
//
// ===============================================
//
cpfseq16 macro reg16_1, reg16_2
; // Skip the next instruction if N1 = N2
local N1NotEqualN2
movf reg16_2 + 1, w
subwf reg16_1 + 1, w
bnz N1NotEqualN2 ; // Hi bytes not equal
; // N1 + 1 equals N2 + 1
movf reg16_2, w
subwf reg16_1, w
btfss Status, Z ; // S/ N1 = N2 :: so skip next instruction
N1NotEqualN2
endm
//
//
// ===============================================
//
// A delay utility, the argument should be in the range [6..860]
// Delay is in microseconds.
//
// Must be tuned for processor speed !
// which it IS for project c\002\progger
//
Delay macro aMuSecs
local _DlyLp
if aMuSecs < 3 | aMuSecs > 307
error "Argument for delay (aMuSecs) : out of range [3..307]"
endif
movlw (1000 * (aMuSecs) / (3 * 408)) - 1 ; // 1 cycles
movwf _Quotient ; // 1 cycles
_DlyLp
decfsz <@" Quotient">, f ; // 1 cycles total : ( n * 3 + 3) * 102 ns
goto _DlyLp ; // 2 cycles
; // 1 cycles
endm
//
//
// ===============================================
//
jr_f macro reg
; // jr_f
local table
movlw (table >> 8) & 0xff ; // Setup pclath with table address high byte
movwf pclath
movlw table & 0xff ; // Table address low byte into wreg
addwf reg, w ; // Add ofset for the first time to pclath_w register pair
btfsc status, c
incf pclath, f
addwf reg, w ; // Add offset again (table entries are two bytes in size)
btfsc status, c
incf pclath, f
movwf pcl ; // set new pc (dispatch)
table
endm
//
// End of AsmHelpers
// =========================================
//
//
; // ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; // ;;; Start of code area ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; // Boot loader stuff
; // Fill in start and interrupt vectors, interrupts just jump through to the
; // APPLICATION. Reset must check eeprom and decide whether to jump into the
; // APPLICATION or reprogram the flash from an image present in EEPROM.
; //
; // The EEPROM has been changed to a size of 64 KByte (it was 64 Kbit) so it can
; // hold a new software image. The EEPROM layout has been changed as well the
; // appliction data starts at an offset 0x400 so that the first KByte can be used
; // for the loader software.
; //
; // EEPROM layout :
; //
; // $0000 .. $00ff : Bootloader memory
; //
; // $0000 : byte : loader_state
; //
; // $00 - Loading flash image from host, not a valid image yet
; // $01 - Valid image in EEPROM, must program FLASH
; // $02 - Programmed mew image into flash must contact host ASAP
; // the APPLICATION should check this state and act on it
; // $ff - FLASH programmed, host contacted, normal operation.
; //
; // all other values - run image in flash (normal operation).
; //
; // the APPLICATION should check for these cases and correct the value to $ff
; //
; //
; // $0001 : byte : inverse value of loader_state (1's complement).
; //
; // when this byte is not equal to the 1's complement of
; // loader_state : run image in flash (normal operation).
; //
; //
; // $0002 : word : image_length
; //
; // valid incremental length when loader_State is $00.
; // valid total length when loader_state is $01 or $02
; //
; //
; // $0004 : word : checksum
; //
; // CRC-16 over preceding bytes, startvalue 0 is used for the CRC
; // when the CRC is in error : run image in flash (normal operation).
; //
; //
; // $0006 .. $00ff : not used, can have any value.
; //
; //
; // $0100 .. $ffff : application storage or flash image
; //
; // Depends upon loader_state what is present :
; //
; // $00 - invalid image, partial FLASH image present
; // $01 - valid FLASH image with length image_length
; // $02 - valid FLASH image with length image_length
; // $ff - APPLICATION data
; // All other values, invalid checksum or invalid loader_state :
; // APPLICATON data, but possibly invalid.
LoaderVersion equ 1 ; // Loaders version number
; // RAM layout during boot process
EE_ADDR equ 0x000 ; // Two bytes EEProm address
EE_DATA equ 0x002 ; // Two bytes EEProm data buffer
EE_PTR equ 0x004 ; // Two bytes pointer in EEProm
EE_ACK equ 0x006 ; // One byte ACK / NAK received after write
FLASH_CNT equ 0x007 ; // Two bytes, nr of bytes to flash
FLASH_PTR equ 0x009 ; // Two bytes pointer in FLASH
COUNTER equ 0x00b ; // Two bytes counter
BSTATE equ 0x00d ; // One byte loader_state
CRC_16 equ 0x00e ; // Two bytes CRC
; // Physical vectors.
org 0x0000
bra BootLoader ; // Jump into the bootloader
; // ---------------------------------------------------------------------------
; // CalcCrc16 : calculate CRC-16 checksum from CRC and value passed in wreg
CalcCrc16
movwf tmp1 ; // Get bData into tmp1
movlw 8 ; // Handle 8 bits
bra Crc16_goon ; // B/ into the 'real thing'
org 0x0008
bra HighPriorityInterruptVector ; // Jump into the application interrupt handler
; // ---------------------------------------------------------------------------
; // SetupRegs : Setup registers to be able to access external eeprom
; //
; // Application dependent : must at least setup some physical IO ok
SetupRegs
movlw B'01001110' ; // Setup most port pins as digital I/O
movwf ADCON1
; // Initialize i2c port
bsf I2C_LAT , <@" Pin_SCL"> ; // Set SCL high
bcf I2C_TRIS, <@" Pin_SCL"> ; // Put SCL line in output state
return
; // ---------------------------------------------------------------------------
; // LoaderGetVersion : returns the loader version into wreg
LoaderGetVersion
movlw LoaderVersion
return
org 0x0018
bra LowPriorityInterruptVector ; // Jump into the application interrupt handler
; // Helpers for boot loader
; // ---------------------------------------------------------------------------
; // CalcCrc16 : calculate CRC-16 checksum from CRC and value passed in wreg
; // Moved some code into 'vector gaps'
Crc16_goon
movwf tmp2
BLCC16_Loop
movf tmp1, w ; // Data into wreg
xorwf CRC_16, w ; // Xor with old crc -> wreg
movwf tmp3 ; // Keep bit 0 in flag for later
bcf Status, c ; // Clear carry, make a right SHIFT
rrc16 CRC_16
rrcf tmp1, f ; // drop a bit of Data
rrcf tmp3, f ; // rotate bit 0 of tmp3 into carry
btfss Status, c ; // skip next if carry set
bra BLCC16_WasZero ; // B/ carry was not set
; // Xor OldCrc with shifted polynomial
xorl16 CRC_16, 0xa001 ; // This leaves the carry unchanged
BLCC16_WasZero
decfsz tmp2, f ; // djnz EC_COUNTER, EC_CC_Loop
bra BLCC16_Loop
return
; // ---------------------------------------------------------------------------
; // i2cTxByte : transmit wreg to the i2c device
i2cTxByte
movwf tmp1 ; // Store TxBuf
movlw 8 ; // Init counter, 8 bits to do
movwf tmp2
TXi2cLp
bcf I2C_LAT, <@" Pin_SCL"> ; // Clock low
bcf I2C_LAT, <@" Pin_SDA"> ; // Output bit 0 (0)
btfsc tmp1, 7
bsf I2C_LAT, <@" Pin_SDA"> ; // Output bit 0 (1)
bsf I2C_LAT, <@" Pin_SCL"> ; // Clock to high
rlncf tmp1, f ; // Rotate TxBuf left (not through carry)
decfsz tmp2, f ; // 8 bits done ?
bra TXi2cLp ; // No.
; // Bit in, reads ACK / NAK
bcf I2C_LAT , <@" Pin_SCL"> ; // Return SCL to low
bcf I2C_LAT , <@" Pin_SDA"> ; // Make SDA low
bsf I2C_TRIS, <@" Pin_SDA"> ; // Put SDA line in input state
bsf I2C_LAT , <@" Pin_SCL"> ; // Clock high
setf EE_ACK ; // Assume ACK
btfsc I2C_PORT, <@" Pin_SDA"> ; // Read SDA pin / S/ on ack
clrf EE_ACK ; // No ack
bcf I2C_LAT , <@" Pin_SCL"> ; // Return SCL to low
bcf I2C_TRIS, <@" Pin_SDA"> ; // Put SDA line in output state
return
; // ---------------------------------------------------------------------------
; // i2cStart : transmit a bus start
i2cStart
bsf I2C_LAT, <@" Pin_SDA">
bsf I2C_LAT, <@" Pin_SCL">
; // SDA goes low during SCL high
i2cToggle
nop
nop
btg I2C_LAT, <@" Pin_SDA">
return
; // ---------------------------------------------------------------------------
; // i2cStop : transmit a bus stop
i2cStop
bcf I2C_LAT, <@" Pin_SDA">
bsf I2C_LAT, <@" Pin_SCL">
; // SDA goes high during SCL high
bra i2cToggle
; // ---------------------------------------------------------------------------
; // i2cTxAddress : transmit the 16 bit address contained in EE_ADDR
; // preceded by START and DeviceAddress/Write
i2cTxAddress
rcall i2cStart
movlw 0xa0 ; // Device address + write
rcall i2cTxByte
movf EE_ADDR + 1, w
rcall i2cTxByte
movf EE_ADDR + 0, w
bra i2cTxByte
; // ---------------------------------------------------------------------------
; // i2cRxByte : read a byte from i2c into wreg
i2cRxByte
bsf I2C_TRIS, <@" Pin_SDA"> ; // Put SDA line in input state
movlw 8 ; // 8 bits of data
movwf tmp2
i2cRxLp
rlncf tmp3, f ; // Shift data to buffer
; // Bit in
bsf I2C_LAT, <@" Pin_SCL"> ; // Clock high
bcf tmp3, 0 ; // Assume data bit is 0
btfsc I2C_PORT, <@" Pin_SDA"> ; // Read SDA pin
bsf tmp3, 0 ; // Data bit is 1 instead
bcf I2C_LAT, <@" Pin_SCL"> ; // Return SCL to low
decfsz tmp2, f ; // 8 bits done ?
bra i2cRxLp
bsf I2C_LAT, <@" Pin_SDA"> ; // Send NAK
bcf I2C_TRIS, <@" Pin_SDA"> ; // Put SDA line in output state
bsf I2C_LAT, <@" Pin_SCL"> ; // Clock high
movf tmp3, w ; // Data into wreg
bcf I2C_LAT, <@" Pin_SCL"> ; // Return SCL to low
return
; // ---------------------------------------------------------------------------
; // PreReadEEByte : read byte from EE_ADDR into wreg
PreReadEEByte
rcall i2cTxAddress ; // Send address prefix stuff
rcall i2cStart ; // re-issue start
movlw 0xa1 ; // Device address + read
rcall i2cTxByte
rcall i2cRxByte ; // Read byte into
bra i2cStop ; // Issue bus STOP
; // ---------------------------------------------------------------------------
; // incEeAddr : Increment EE_ADDR
; // Keeps wreg intact
incEeAddr
incf16 EE_ADDR
return
; // ---------------------------------------------------------------------------
; // ReadEEByte : read a byte from eeprom address EE_ADDR into EE_DATA and into wreg
; // increments EE_ADDR
ReadEEByte
rcall PreReadEEByte
movwf EE_DATA + 0 ; // Store byte
bra incEeAddr ; // Leaves wreg intact
; // ---------------------------------------------------------------------------
; // WriteEEByte : Write a byte from EE_DATA to eeprom address EE_ADDR
; // increments EE_ADDR
WriteEEByte
rcall i2cTxAddress ; // Send address prefix stuff
movf EE_DATA, w
WriteEEByteAgain
rcall i2cTxByte ; // Write byte to bus
rcall i2cStop ; // Issue bus STOP, starts programming
; // Wait for device to respond again after programming
clrwdt ; // Give us some time
WriteEEByteWait
rcall i2cStart ; // Send bus start
movlw 0xa0 ; // start write op
rcall i2cTxByte
; // Check for ACK
btfss EE_ACK, 0 ; // S/ Ack seen
bra WriteEEByteWait ; // B/ no ack seen yet (dog might terminate this)
rcall i2cStop ; // Terminate bus activity
bra incEeAddr ; // Advance EE device address and return
; // ---------------------------------------------------------------------------
; // WriteEEWord : Write a word from EE_DATA to eeprom address EE_ADDR
; // increments EE_ADDR by two
WriteEEWord
rcall WriteEEByte
rcall i2cTxAddress ; // Send address prefix stuff
movf EE_DATA + 1, w
bra WriteEEByteAgain ; // Advance EE device address and return
; // ---------------------------------------------------------------------------
; // @@@@ to be removed later for a real 18f452
; // EEADR EQU H'0FA9'
; // EEDATA EQU H'0FA8'
; // EECON2 EQU H'0FA7'
; // EECON1 EQU H'0FA6'
; // EEPGD EQU H'0007'
; // CFGS EQU H'0006'
; // FREE EQU H'0004'
; // WRERR EQU H'0003'
; // WREN EQU H'0002'
; // WR EQU H'0001'
; // RD EQU H'0000'
; // END @@@@ to be removed later
; // ---------------------------------------------------------------------------
; // StartWrite - starts a write or erase operation
StartWrite
clrwdt
movlw 0x55
movwf eecon2
movlw 0xaa
movwf eecon2
bsf eecon1, wr
nop
return
; // ---------------------------------------------------------------------------
; // BootLoader - does it all
BootLoader
; // Determine what to do based upon eeprom contents
; //
; // Either :
; //
; // - load new software from eeprom into flash
; // - jump into existing software
; // ICE BUG FIX
;
movlw 0xb0 ; // To make table reads work correctly in MPLAB ICE 2000
movwf 0xf9c ; // Not needed in production code (but it doesn't harm)
;
; // ICE BUG FIX - END
bcf intcon, gie ; // Disable all interrupts
SetBSRDefault ; // Setup BSR register
rcall SetupRegs ; // Initialize some registers
bsf I2C_LAT , <@" Pin_SDA"> ; // Set SCL high
bcf I2C_TRIS, <@" Pin_SDA"> ; // Put SCL line in output state
; // Check EEPROM
clrf EE_ADDR + 0 ; // Set address pointer to zero
clrf EE_ADDR + 1
clrf CRC_16 + 0 ; // Clear CRC
clrf CRC_16 + 1
movlw 6 ; // Check six bytes
movwf COUNTER
BootCrcCheck
rcall ReadEEByte ; // Read next byte into EE_DATA and into wreg
rcall CalcCrc16
decfsz COUNTER
bra BootCrcCheck
movf CRC_16 + 0, w
iorwf CRC_16 + 1, w
bnz ResetVector ; // B/ CRC error, perform no load
; // CRC OK, read state
clrf EE_ADDR ; // Read state
rcall ReadEEByte ; // Read byte into EE_DATA and into wreg
movwf BSTATE
rcall ReadEEByte ; // Read control byte
xorlw 0xff
cpfseq BSTATE ; // S/ control byte OK
bra ResetVector ; // B/ error in control byte, normal operation
; // CRC OK, control byte OK, check state
; // State 1 is the only state of interest to us, we must flash a new image then
; // bra ProgOk ; // Skip programming, comment out/in as needed
movlw 0x01 ; // Check 0x01
cpfseq BSTATE ; // S/ state = 1
bra ResetVector ; // B/ state <> 1, not interested, normal operation
BootLoaderDoIt
; // State = 1, valid FLASH image with length image_length
; //
; // Perform FLASH programming, copy EEPROM to FLASH
movlw 0x02 ; // Read byte count
movwf EE_ADDR
rcall ReadEEByte ; // was : read eeword
rcall PreReadEEByte
movwf EE_DATA + 1 ; // Store byte
movlw 61 ; // Add 61 to byte count to round up
addwf EE_DATA + 0, f ; // should be 63, but use 61 to skip the CRC
clrf wreg ; // The image builder must cooperate by making
addwfc EE_DATA + 1, f ; // images a multiple of 64 bytes + 2 for the CRC
movlw 6 ; // Divide byte count by 64, erase page count
movwf COUNTER
BL_DL
shr16 EE_DATA ; // Shift right one bit
decfsz COUNTER ; // S/ done
bra BL_DL ; // B. not done yet
movff EE_DATA + 0, FLASH_CNT + 0 ; // Store erase page count into FLASH_CNT
movff EE_DATA + 1, FLASH_CNT + 1
clrf tblptru ; // Setup table latch
movlw ( ResetVector >> 8) & 0xff
movwf tblptrh
movlw ( ResetVector >> 0) & 0xff
movwf tblptrl
movlw ( <@" AdminStart"> >> 0) & 0xff ; // Setup EEProm address
movwf EE_ADDR + 0
movlw ( <@" AdminStart"> >> 8) & 0xff
movwf EE_ADDR + 1
BL_loop_erase
; // Erase page
bsf eecon1, eepgd ; // point to FLASH program memory
bcf eecon1, cfgs ; // access FLAH program memory
bsf eecon1, wren ; // enable FLASH writes
bsf eecon1, free ; // Enable row erase
rcall StartWrite ; // Unlock sequence, start erase, stall CPU
tblrd *- ; // Dummy read
movlw 8 ; // Setup erase page byte counter, 8 write pages in 1 erase page
movwf COUNTER + 0
BL_loop_outer
movlw 8 ; // Setup write page byte counter, 8 bytes in a write page
movwf COUNTER + 1
BL_loop_inner
rcall ReadEEByte ; // Read data byte into EE_DATA and into wreg
movwf tablat ; // into tablat
tblwt +* ; // Short data write to buffer
decfsz COUNTER + 1
bra BL_loop_inner
; // Flash 8 bytes
bsf eecon1, eepgd ; // Point to FLASH program memory
bcf eecon1, cfgs ; // Access FLASH program memory
bcf eecon1, free ; // Disable erase ops
bsf eecon1, wren ; // Enable write to memory
rcall StartWrite ; // Unlock sequence, start write, stall CPU
; // Write verification
movlw 8 ; // Set EE_ADDR 8 location back
movwf COUNTER + 1 ; // Setup read page byte counter, 8 bytes in a page
subwf EE_ADDR
movlw 0
subwfb EE_ADDR + 1
movlw 8 ; // Set TBLPTR 8 location back
subwf TBLPTRL
movlw 0
subwfb TBLPTRH
BL_Loop_check
rcall ReadEEByte ; // Read next EE byte into EE_DATA and into wreg
tblrd +* ; // Read FLASH byte into TABLAT
cpfseq tablat ; // S/ FLASH contents OK
reset ; // B/ error detected, just reboot.
decfsz COUNTER + 1 ; // S/ done verifying 8 bytes
bra BL_Loop_check ; // B/ not done
decfsz COUNTER + 0 ; // S/ all 8 write pages in erase page done
bra BL_loop_outer ; // B/ more write pages in this erase page
tblrd +* ; // Dummy read to set erase pointer OK
movlw 1 ; // Decrement erase page counter
subwf FLASH_CNT + 0
movlw 0
subwfb FLASH_CNT + 1
movf FLASH_CNT + 1, w
iorwf FLASH_CNT + 0, w
bnz BL_loop_erase ; // B/ more erase pages to do
; // All programming OK, proceed
ProgOk ; // Label for debugging.
bcf eecon1, wren ; // Disable FLASH writes
clrf EE_ADDR + 0 ; // Set loader stater OK
clrf EE_ADDR + 1
movlw 2
movwf EE_DATA
xorlw 0xff
movwf EE_DATA + 1
rcall WriteEEWord
; // Fix CRC
clrf CRC_16 + 0 ; // Clear CRC
clrf CRC_16 + 1
movlw 4 ; // Process 4 bytes
movwf COUNTER
clrf EE_ADDR ; // Start at 0
FixCrcLp
rcall ReadEEByte ; // Read next byte into EE_DATA and into wreg
rcall CalcCrc16
decfsz COUNTER
bra FixCrcLp
movff CRC_16 + 0, EE_DATA + 0
movff CRC_16 + 1, EE_DATA + 1
; // The following two instructions are not needed, ReadEEByte will do it
; //
; // movlw 0x04
; // movwf EE_ADDR
rcall WriteEEWord
Reset ; // Reboot the controller, let APLLICATION handle the rest.
; // End of boot loader
; // ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; // APPLICATION ///////////////////////////////////////////////////////////////
org 0x0200 ; // RESET
ResetVector
bra ValueInit ; // Go initialize Value defined words.
; // !! a compiler generated entry point !!
HighPriorityInterruptVector
nop ; // No priority support, just fall through
LowPriorityInterruptVector
; // Save processor status
movwf WTMP ; // Copy W to WTMP register !! in ACCESS bank !!
movff bsr , <@" BSRTmp"> ; // Save BSR
SetBSRDefault ; // Clear BSR to default
movff status, <@" StatusTmp"> ; // Save Status
movff fsr0l , <@" FSRTmpL"> ; // Save fsr0l
movff fsr0h , <@" FSRTmpH"> ; // Save fsr0h
movff pclath, <@" PCHTmp"> ; // Save pclath
goto <@" LowPriorityInterrupt">
HighPriorityInterruptReturn
nop ; // No priority support, just fall through
LowPriorityInterruptReturn
; // Restore processor status
movff <@" PCHTmp"> , pclath ; // Restore pclath
movff <@" FSRTmpH"> , fsr0h ; // Restore fsr0h
movff <@" FSRTmpL"> , fsr0l ; // Restore fsr0l
movff <@" BSRTmp"> , bsr ; // Restore bsr
movf WTMP , w ; // Restore wreg
movff <@" StatusTmp">, status ; // Restore status
retfie
; // ;;;;;;;;;;;;;;;;;;;; End of startup code ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; // ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| InitReg |
Macro |
immediate visible |
CInitReg |
Forth |
18xxx2 |
| ( -- ) |
[ 1625, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // Initialize '$aName$'
movlw <@" $aName$">_IniVal
movwf $aName$
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Is |
Pascal |
immediate visible |
CIs |
Forth |
|
| ( <exec-token> -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Resolve a Deferred XXXX
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| J |
Pascal |
immediate visible |
CJ |
Forth |
|
| ( -- n ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Get 2nd level Loop index
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| K |
Pascal |
immediate visible |
CK |
Forth |
|
| ( -- n ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Get 3rd level Loop index
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| LabelPrefix' |
Pascal |
visible |
CLabelPrefix27 |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Define prefix to use for assembly labels
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| lastDefined |
Pascal |
visible |
ClastDefined |
Forth |
|
| ( -- ExecutionToken ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Get the execution token for the last defined word
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Leave |
Pascal |
immediate visible |
CLeave |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Leave a Do .. Leave .. Loop
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| LibraryPath' |
Pascal |
visible |
CLibraryPath27 |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Alternative path for library - overrides the setting from EditLibPath
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| List |
Macro |
immediate visible |
CList |
Forth |
18xxx2 |
| ( -- ) |
[ 1643, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
Control assembly macro listings
|
| Value |
LIST $aFormat$
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Literal |
Pascal |
immediate visible |
CLiteral |
Forth |
|
| ( n -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Compile TOS as a single byte literal
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Loc2Var |
Pascal |
immediate visible |
CLoc2Var |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Define a local 2Variable
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Loc3Var |
Pascal |
immediate visible |
CLoc3Var |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Define a local 3Variable
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Loc4Var |
Pascal |
immediate visible |
CLoc4Var |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Define a local 4Variable
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| LocalBank |
Pascal |
visible |
CLocalBank |
Forth |
|
| ( n -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
n LocalBank :: selects ram bank n for local variables.
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| LocVar |
Pascal |
immediate visible |
CLocVar |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Define a local variable
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Loop |
Pascal |
immediate visible |
CLoop |
Forth |
|
| ( n -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
n1 n2 Do .. Leave .. Loop
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| lshift |
Pascal |
immediate visible |
Clshift |
Forth |
|
| ( n1 -- n2 ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Shift the top stack item to the left, bit wise
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Macro |
Pascal |
visible |
CMacro |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Start a macro definition to be ended with EndMacro
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| main |
Colon |
used visible |
Cmain |
Forth |
|
| ( -- ) |
[ 47, 2] "D:\PrjD7\x4th\work\glossary\glossary.4th" |
| Uses |
| [ (semi) ]
|
| Used in |
| [ ValueEnd ]
|
| Documentation |
|
| Value |
00352 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| MakeDocs |
Pascal |
visible |
CMakeDocs |
Forth |
|
| ( <string-token> -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Generate html auto documentation, use as "afile.ext" MakeDocs, also see #doc etc.
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| MakeDocs' |
Pascal |
visible |
CMakeDocs27 |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Generate html auto documentation, use as MakeDocs' afile.ext', also see #doc etc.
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Mangle |
Pascal |
visible |
CMangle |
Forth |
|
| ( <string-token> -- <string-token>) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Mangle string token to be a valid assembler identifier
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| ManglePrefix' |
Pascal |
visible |
CManglePrefix27 |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Define prefix to use for assembly symbols other than labels
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| MarkAllUsed |
Pascal |
visible |
CMarkAllUsed |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Treat all defined words as if being used.
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Max |
Pascal |
immediate visible |
CMax |
Forth |
|
| ( n1 n2 -- n3 ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Get the maximum of the top two stack elements
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| message |
Pascal |
visible |
Cmessage |
Forth |
|
| ( <string-token> -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
| [ .info ]
[ .infoTime ]
|
| Documentation |
Generate a warning with text on stack, also see Message'.
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Message' |
Pascal |
immediate visible |
CMessage27 |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Generate a runtime error with inline specified text, also see message.
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Meta |
Pascal |
visible |
CMeta |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Set the meta bit for the last defined word
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| MetaOff |
Pascal |
visible |
CMetaOff |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Switch off meta compiler, also see MetaOn, { and }
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| MetaOn |
Pascal |
visible |
CMetaOn |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Switch on meta compiler, also see MetaOff, { and }
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Min |
Pascal |
immediate visible |
CMin |
Forth |
|
| ( n1 n2 -- n3 ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Get the minimum of the top two stack elements
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Negate |
Pascal |
immediate visible |
CNegate |
Forth |
|
| ( n1 -- n2 ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Unary minus performed on top stack element
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Negative? |
Primitive |
visible |
CNegative3F |
Forth |
18xxx2 |
| ( b -- f ) |
[ 3417, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ dNegative? ]
|
| Documentation |
|
| Value |
btfss wreg, 7
retlw False
retlw True
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| NewLabel |
Pascal |
visible |
CNewLabel |
Forth |
|
| ( -- <string-token>) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Create a new and unique label name
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Nop |
Macro |
immediate visible |
CNop |
Forth |
18xxx2 |
| ( -- ) |
[ 3341, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
nop ; // Nop ( -- )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| noreturn; |
Pascal |
immediate visible |
Cnoreturn3B |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
End a colon definition without return, see and ;
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Not |
Pascal |
immediate visible |
CNot |
Forth |
|
| ( n1 -- n2 ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Logic inversion performed on top stack element
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Now |
Pascal |
immediate visible |
CNow |
Forth |
|
| ( -- n ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Get current date/time as Unix time - pseudo constant
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| or |
Pascal |
immediate visible |
Cor |
Forth |
|
| ( n1 n2 -- n3 ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
bitwise or
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Or! |
Primitive |
visible |
COr21 |
Forth |
18xxx2 |
| ( b wRamAddress -- ) |
[ 3898, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
PopReg fsr2h
PopReg fsr2l
iorwf indf2
Drop
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| OutputFile' |
Pascal |
visible |
COutputFile27 |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Define the file into which to generate code
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| OutputPath |
Pascal |
visible |
COutputPath |
Forth |
|
| ( <string-token> -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Alternative path for generated output file - overrides the setting from EditOutPath
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| OutputPath' |
Pascal |
visible |
COutputPath27 |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Alternative path for generated output file - overrides the setting from EditOutPath
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Over |
Pascal |
immediate visible |
COver |
Forth |
|
| ( n1 n2 -- n1 n2 n1 ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Duplicate the second stack element and make it the top item
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Page |
Macro |
immediate visible |
CPage |
Forth |
18xxx2 |
| ( -- ) |
[ 1667, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
Ejects a page in the assmbler output list file
|
| Value |
PAGE
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| PCHTmp |
Variable |
used visible |
CPCHTmp |
Forth |
18xxx2 |
| ( -- wRamAddr ) |
[ 232, 12] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ Initialization ]
|
| Documentation |
Temporary for PCLATH
|
| Value |
address: 0:129, offset: 0, size: 1 |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| pick |
Pascal |
immediate visible |
Cpick |
Forth |
|
| ( n1 -- n2 ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Duplicate the nth stack entry
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Popq1 |
Primitive |
visible |
CPopq1 |
Forth |
18xxx2 |
| ( q -- ) |
[ 4164, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ 4over ]
[ 4rot ]
[ 4swap ]
|
| Documentation |
|
| Value |
PopReg tmp4 ; // Pop q
PopReg tmp3
PopReg tmp2
PopReg tmp1
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Postpone |
Pascal |
immediate visible |
CPostpone |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Compile next inline token, also see [Compile] and Compile
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Private |
Pascal |
visible |
CPrivate |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Creates ModuleNama.Private vocabulary; sets it as curent , , Module Private Public Uses Export EndModule
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Public |
Pascal |
visible |
CPublic |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Creates ModuleNama.Public vocabulary; sets it as curent, , Module Private Uses Public Export EndModule
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Pushq1 |
Primitive |
visible |
CPushq1 |
Forth |
18xxx2 |
| ( -- q ) |
[ 4176, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ 4over ]
[ 4rot ]
[ 4swap ]
|
| Documentation |
|
| Value |
PushReg tmp1
PushReg tmp2
PushReg tmp3
PushReg tmp4
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| put |
Pascal |
immediate visible |
Cput |
Forth |
|
| ( n1 n2 -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Change the nth stack entry
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| q- |
Primitive |
visible |
Cq2D |
Forth |
18xxx2 |
| ( uq1 uq2 -- uq3 ) |
[ 5507, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ Quotient ]
[ Remainder ]
|
| Used in |
| [ q-$80And>r3Dropr> ]
[ q= ]
|
| Documentation |
|
| Value |
PopReg <@" Quotient"> + 3
PopReg <@" Quotient"> + 2
PopReg <@" Quotient"> + 1
PopReg <@" Quotient"> + 0
PopReg <@" Remainder"> + 3
PopReg <@" Remainder"> + 2
PopReg <@" Remainder"> + 1
movwf <@" Remainder"> + 0
; // Now calculate Remainder - Quotient -> Remainder
DoQMin
movf <@" Quotient"> + 0, w
subwf <@" Remainder"> + 0, f
movf <@" Quotient"> + 1, w
subwfb <@" Remainder"> + 1, f
movf <@" Quotient"> + 2, w
subwfb <@" Remainder"> + 2, f
movf <@" Quotient"> + 3, w
subwfb <@" Remainder"> + 3, f
; // Done
movf <@" Remainder"> + 0, w
PushReg <@" Remainder"> + 1
PushReg <@" Remainder"> + 2
PushReg <@" Remainder"> + 3
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| q! |
Colon |
visible |
Cq21 |
Forth |
18xxx2 |
| ( q wRamAddress -- ) |
[ 5046, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (semi) ]
[ 2a+ ]
[ aOver ]
[ d! ]
[ dSwap ]
|
| Used in |
|
| Documentation |
|
| Value |
00159 | dSwap | ( w1 w2 -- w2 w1 )
00160 | aOver | ( w1 w2 -- w1 w2 w1 )
00161 | 2a+ | ( wRamAddr -- wRamAddr ) ( )
00162 | d! | ( w wRamAddress -- )
00163 | d! | ( w wRamAddress -- )
00164 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| q-$80And>r3Dropr> |
Colon |
visible |
Cq2D2480And3Er3Dropr3E |
Forth |
18xxx2 |
| ( q1 q2 -- b ) |
[ 5563, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (>R) ]
[ (and) ]
[ (lit) ]
[ (R>) ]
[ (semi) ]
[ 3Drop ]
[ q- ]
|
| Used in |
| [ q< ]
[ q>= ]
|
| Documentation |
Helper for q comparison words
|
| Value |
00260 | q- | ( uq1 uq2 -- uq3 )
00261 | (lit) | ( -- b ) ( Arg Sign )
00262 | | [128]
00263 | | []
00264 | (and) | ( u1 u2 -- u3 ) ( )
00265 | (>R) | ( b -- ) [ -- b ]
00266 | 3Drop | ( t -- ) [30]
00267 | (R>) | ( -- b ) [ b -- ]
00268 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| q* |
Primitive |
visible |
Cq2A |
Forth |
18xxx2 |
| ( w1 w2 -- q ) |
[ 4677, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ Divisor ]
|
| Used in |
|
| Documentation |
16*16->32
|
| Value |
PopReg tmp4 ; // b
PopReg tmp3
PopReg tmp2 ; // a
movwf tmp1
movlw 17
movwf tmp5
clrf16 <@" Divisor">
bcf Status, C
qstar_1
rrcf <@" Divisor"> + 1, f
rrcf <@" Divisor"> + 0, f
rrcf tmp2 , f
rrcf tmp1 , f
bnc qstar_2 ; // B/ Carry clear, skip add
; Carry set, add
movf tmp3, w
addwf <@" Divisor"> + 0, f
movf tmp4, w
addwfc <@" Divisor"> + 1, f
qstar_2
decfsz tmp5, f
bra qstar_1
movf tmp1, w
PushReg tmp2
PushReg <@" Divisor"> + 0
PushReg <@" Divisor"> + 1
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| q@ |
Colon |
visible |
Cq40 |
Forth |
18xxx2 |
| ( wRamAddress -- q ) |
[ 5035, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (semi) ]
[ 2a+ ]
[ aDup ]
[ d@ ]
[ dSwap ]
|
| Used in |
| [ 2q@ ]
|
| Documentation |
|
| Value |
00153 | aDup | ( w -- w w ) [9]
00154 | d@ | ( wRamAddress -- w ) [DFetch]
00155 | dSwap | ( w1 w2 -- w2 w1 )
00156 | 2a+ | ( wRamAddr -- wRamAddr ) ( )
00157 | d@ | ( wRamAddress -- w ) [DFetch]
00158 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| q+ |
Primitive |
visible |
Cq2B |
Forth |
18xxx2 |
| ( uq1 uq2 -- uq3 ) |
[ 5471, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ Quotient ]
[ Remainder ]
|
| Used in |
|
| Documentation |
|
| Value |
PopReg <@" Quotient"> + 3
PopReg <@" Quotient"> + 2
PopReg <@" Quotient"> + 1
PopReg <@" Quotient"> + 0
PopReg <@" Remainder"> + 3
PopReg <@" Remainder"> + 2
PopReg <@" Remainder"> + 1
movwf <@" Remainder"> + 0
; // Now calculate Remainder + Quotient -> Remainder
movf <@" Quotient"> + 0, w
addwf <@" Remainder"> + 0, f
movf <@" Quotient"> + 1, w
addwfc <@" Remainder"> + 1, f
movf <@" Quotient"> + 2, w
addwfc <@" Remainder"> + 2, f
movf <@" Quotient"> + 3, w
addwfc <@" Remainder"> + 3, f
; // Done
movf <@" Remainder"> + 0, w
PushReg <@" Remainder"> + 1
PushReg <@" Remainder"> + 2
PushReg <@" Remainder"> + 3
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| q<= |
Colon |
visible |
Cq3C3D |
Forth |
18xxx2 |
| ( q1 q2 -- f ) |
[ 5596, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (semi) ]
[ 4swap ]
[ q>= ]
|
| Used in |
|
| Documentation |
True when q1 <= q2
|
| Value |
00278 | 4swap | ( q1 q2 -- q2 q1 ) [95]
00279 | q>= | ( q1 q2 -- f ) True when q1 >= q2 [272]
00280 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| q= |
Colon |
visible |
Cq3D |
Forth |
18xxx2 |
| ( q1 q2 -- f ) |
[ 5610, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (semi) ]
[ q- ]
[ q0= ]
|
| Used in |
|
| Documentation |
True when q1 = q2
|
| Value |
00286 | q- | ( uq1 uq2 -- uq3 )
00287 | q0= | ( q -- f ) True when q = 0 [281]
00288 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| q> |
Colon |
visible |
Cq3E |
Forth |
18xxx2 |
| ( q1 q2 -- f ) |
[ 5589, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (semi) ]
[ 4swap ]
[ q< ]
|
| Used in |
|
| Documentation |
True when q1 > q2
|
| Value |
00275 | 4swap | ( q1 q2 -- q2 q1 ) [95]
00276 | q< | ( q1 q2 -- f ) True when q1 < q2 [269]
00277 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| q>= |
Colon |
visible |
Cq3E3D |
Forth |
18xxx2 |
| ( q1 q2 -- f ) |
[ 5581, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (semi) ]
[ 0= ]
[ q-$80And>r3Dropr> ]
|
| Used in |
| [ q<= ]
|
| Documentation |
True when q1 >= q2
|
| Value |
00272 | q-$80And>r3Dropr> | ( q1 q2 -- b ) Helper for q comparison words [260]
00273 | 0= | ( b -- f )
00274 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| q>r |
Colon |
visible |
Cq3Er |
Forth |
18xxx2 |
| ( q -- ) |
[ 4148, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (semi) ]
[ d>r ]
[ dSwap ]
|
| Used in |
|
| Documentation |
|
| Value |
00074 | dSwap | ( w1 w2 -- w2 w1 )
00075 | d>r | ( d -- ) [66]
00076 | d>r | ( d -- ) [66]
00077 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| q0<> |
Colon |
visible |
Cq03C3E |
Forth |
18xxx2 |
| ( q -- f ) |
[ 5616, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (or) ]
[ (semi) ]
[ 0<> ]
|
| Used in |
| [ qNotAnd0<> ]
|
| Documentation |
True when q <> 0
|
| Value |
00289 | (or) | ( u1 u2 -- u3 ) ( )
00290 | (or) | ( u1 u2 -- u3 ) ( )
00291 | (or) | ( u1 u2 -- u3 ) ( )
00292 | 0<> | ( b -- f )
00293 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| q0= |
Colon |
visible |
Cq03D |
Forth |
18xxx2 |
| ( q -- f ) |
[ 5603, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (or) ]
[ (semi) ]
[ 0= ]
|
| Used in |
| [ q= ]
|
| Documentation |
True when q = 0
|
| Value |
00281 | (or) | ( u1 u2 -- u3 ) ( )
00282 | (or) | ( u1 u2 -- u3 ) ( )
00283 | (or) | ( u1 u2 -- u3 ) ( )
00284 | 0= | ( b -- f )
00285 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| qAnd |
Colon |
visible |
CqAnd |
Forth |
18xxx2 |
| ( qu1 qu2 -- qu3 ) |
[ 5676, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (semi) ]
[ 4Drop ]
[ 4pickAnd>r ]
[ qr> ]
|
| Used in |
| [ qNotAnd ]
|
| Documentation |
Quad value bitwise and
|
| Value |
00306 | 4pickAnd>r | ( b0 b1 b2 b3 b4 -- b0 b1 b2 b3 | -- b ) Helper for quad operations [294]
00307 | 4pickAnd>r | ( b0 b1 b2 b3 b4 -- b0 b1 b2 b3 | -- b ) Helper for quad operations [294]
00308 | 4pickAnd>r | ( b0 b1 b2 b3 b4 -- b0 b1 b2 b3 | -- b ) Helper for quad operations [294]
00309 | 4pickAnd>r | ( b0 b1 b2 b3 b4 -- b0 b1 b2 b3 | -- b ) Helper for quad operations [294]
00310 | 4Drop | ( q -- ) [33]
00311 | qr> | ( q -- ) [78]
00312 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| QLiteral |
Pascal |
immediate visible |
CQLiteral |
Forth |
|
| ( n -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Compile TOS as a quad byte literal
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| qnegate |
Primitive |
visible |
Cqnegate |
Forth |
18xxx2 |
| ( q -- -q ) |
[ 4108, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
PopReg tmp4
PopReg tmp3
PopReg tmp2
sublw D'0'
movwf tmp1
movlw 0
subwfb tmp2, f
subwfb tmp3, f
subwfb tmp4, f
movf tmp1, w
PushReg tmp2
PushReg tmp3
PushReg tmp4
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| qNegative? |
Primitive |
visible |
CqNegative3F |
Forth |
18xxx2 |
| ( q -- f ) |
[ 3432, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ dNegative? ]
|
| Used in |
|
| Documentation |
|
| Value |
SwapDrop
SwapDrop
bra <@" dNegative?">
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| qNot |
Colon |
visible |
CqNot |
Forth |
18xxx2 |
| ( qu1 -- qu2 ) |
[ 5712, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (semi) ]
[ -1q ]
[ qXor ]
|
| Used in |
| [ qNotAnd ]
|
| Documentation |
Quad value bitwise invert
|
| Value |
00327 | -1q | ( -- q ) [-1]
00328 | qXor | ( qu1 qu2 -- qu3 ) Quad value bitwise xor [320]
00329 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| qNotAnd |
Colon |
visible |
CqNotAnd |
Forth |
18xxx2 |
| ( qu1 qu2 -- qu3 ) |
[ 5720, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (semi) ]
[ qAnd ]
[ qNot ]
|
| Used in |
| [ qNotAnd0<> ]
|
| Documentation |
bitwise: ! qu2 and qu1
|
| Value |
00330 | qNot | ( qu1 -- qu2 ) Quad value bitwise invert [327]
00331 | qAnd | ( qu1 qu2 -- qu3 ) Quad value bitwise and [306]
00332 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| qNotAnd0<> |
Colon |
visible |
CqNotAnd03C3E |
Forth |
18xxx2 |
| ( qu1 qu2 -- f ) |
[ 5728, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (semi) ]
[ q0<> ]
[ qNotAnd ]
|
| Used in |
|
| Documentation |
|
| Value |
00333 | qNotAnd | ( qu1 qu2 -- qu3 ) bitwise: ! qu2 and qu1 [330]
00334 | q0<> | ( q -- f ) True when q <> 0 [289]
00335 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| qOr |
Colon |
visible |
CqOr |
Forth |
18xxx2 |
| ( qu1 qu2 -- qu3 ) |
[ 5688, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (semi) ]
[ 4Drop ]
[ 4pickOr>r ]
[ qr> ]
|
| Used in |
|
| Documentation |
Quad value bitwise or
|
| Value |
00313 | 4pickOr>r | ( b0 b1 b2 b3 b4 -- b0 b1 b2 b3 | -- b ) Helper for quad operations [298]
00314 | 4pickOr>r | ( b0 b1 b2 b3 b4 -- b0 b1 b2 b3 | -- b ) Helper for quad operations [298]
00315 | 4pickOr>r | ( b0 b1 b2 b3 b4 -- b0 b1 b2 b3 | -- b ) Helper for quad operations [298]
00316 | 4pickOr>r | ( b0 b1 b2 b3 b4 -- b0 b1 b2 b3 | -- b ) Helper for quad operations [298]
00317 | 4Drop | ( q -- ) [33]
00318 | qr> | ( q -- ) [78]
00319 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| qr> |
Colon |
visible |
Cqr3E |
Forth |
18xxx2 |
| ( q -- ) |
[ 4156, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (semi) ]
[ dr> ]
[ dSwap ]
|
| Used in |
| [ qAnd ]
[ qOr ]
[ qXor ]
|
| Documentation |
|
| Value |
00078 | dr> | ( d -- ) [70]
00079 | dr> | ( d -- ) [70]
00080 | dSwap | ( w1 w2 -- w2 w1 )
00081 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| qXor |
Colon |
visible |
CqXor |
Forth |
18xxx2 |
| ( qu1 qu2 -- qu3 ) |
[ 5700, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (semi) ]
[ 4Drop ]
[ 4pickXor>r ]
[ qr> ]
|
| Used in |
| [ qNot ]
|
| Documentation |
Quad value bitwise xor
|
| Value |
00320 | 4pickXor>r | ( b0 b1 b2 b3 b4 -- b0 b1 b2 b3 | -- b ) Helper for quad operations [302]
00321 | 4pickXor>r | ( b0 b1 b2 b3 b4 -- b0 b1 b2 b3 | -- b ) Helper for quad operations [302]
00322 | 4pickXor>r | ( b0 b1 b2 b3 b4 -- b0 b1 b2 b3 | -- b ) Helper for quad operations [302]
00323 | 4pickXor>r | ( b0 b1 b2 b3 b4 -- b0 b1 b2 b3 | -- b ) Helper for quad operations [302]
00324 | 4Drop | ( q -- ) [33]
00325 | qr> | ( q -- ) [78]
00326 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| R> |
Pascal |
immediate visible |
CR3E |
Forth |
|
| ( -- n ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Move a value from the loop to the data stack
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Raise |
Pascal |
immediate visible |
CRaise |
Forth |
|
| ( n -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Raise an exception, same as Throw
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| RamBank |
Pascal |
visible |
CRamBank |
Forth |
|
| ( n -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
n RamBank #1 #2 ... End
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| RamPtr |
2Variable |
used visible |
CRamPtr |
Forth |
18xxx2 |
| ( -- wRamAddr ) |
[ 240, 12] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ RamPtr-- ]
[ RamPtr! ]
[ RamPtr@ ]
[ RamPtr++ ]
|
| Documentation |
Used for Ram operations like Ram@, equivalent to Rom ops.
|
| Value |
address: 0:133, offset: 0, size: 2 |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| RamPtr-- |
Macro |
immediate used visible |
CRamPtr2D2D |
Forth |
18xxx2 |
| ( -- ) |
[ 3785, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ RamPtr ]
|
| Used in |
| [ Ram!-- ]
[ Ram@-- ]
|
| Documentation |
|
| Value |
decf <@" RamPtr"> + 0 ; // RamPtr-- ( -- )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| RamPtr! |
Primitive |
visible |
CRamPtr21 |
Forth |
18xxx2 |
| ( wRamAddress -- ) |
[ 3760, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ RamPtr ]
|
| Used in |
| [ 2q@ ]
|
| Documentation |
|
| Value |
PopReg <@" RamPtr"> + 1
Popreg <@" RamPtr"> + 0
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| RamPtr++ |
Macro |
immediate used visible |
CRamPtr2B2B |
Forth |
18xxx2 |
| ( -- ) |
[ 3778, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ RamPtr ]
|
| Used in |
| [ ++Ram! ]
[ ++Ram@ ]
[ Ram!++ ]
[ Ram@++ ]
|
| Documentation |
|
| Value |
incf <@" RamPtr"> + 0 ; // RamPtr++ ( -- )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| RawData |
Pascal |
visible |
CRawData |
Forth |
|
| ( string-token -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Define a raw data constant XXXX, also see String. Data, " and ''
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Remainder |
4Variable |
visible |
CRemainder |
Forth |
18xxx2 |
| ( -- wRamAddr ) |
[ 243, 12] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ (/Mod) ]
[ /mod16 ]
[ /mod32 ]
[ Popq3 ]
[ Pushq3 ]
[ q- ]
[ q+ ]
[ revq- ]
|
| Documentation |
Division remainder result variable, and General Purpose
|
| Value |
address: 0:141, offset: 0, size: 4 |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Repeat |
Pascal |
immediate visible |
CRepeat |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Begin .. While .. Repeat
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| RequestNoRamBank |
Pascal |
visible |
CRequestNoRamBank |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Clear Ram bank preference
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| RequestRamBank |
Pascal |
visible |
CRequestRamBank |
Forth |
|
| ( n -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
n RequestRamBank :: Set a prefered ram bank for allot.
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Reset |
Macro |
immediate visible |
CReset |
Forth |
18xxx2 |
| ( -- ) |
[ 3362, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
Reset ; // Reset ( -- )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Resources |
Pascal |
visible |
CResources |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
<definition> resources <word-list> enResources, sets the words in <word-list> to be used when <definition> gets used
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Reveal |
Pascal |
visible |
CReveal |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Set the visible bit for the last defined word
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Rom! |
Primitive |
visible |
CRom21 |
Forth |
18xxx2 |
| ( b -- ) |
[ 3724, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
PopReg tablat
tblwt*
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Rom!-- |
Primitive |
visible |
CRom212D2D |
Forth |
18xxx2 |
| ( b -- ) |
[ 3751, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
PopReg tablat
tblwt*-
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Rom!++ |
Primitive |
visible |
CRom212B2B |
Forth |
18xxx2 |
| ( b -- ) |
[ 3733, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
PopReg tablat
tblwt*+
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Rom@ |
Primitive |
visible |
CRom40 |
Forth |
18xxx2 |
| ( -- b ) |
[ 3672, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
tblrd*
PushReg tablat
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Rom@-- |
Primitive |
visible |
CRom402D2D |
Forth |
18xxx2 |
| ( -- ) |
[ 3715, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
tblrd*-
PushReg tablat
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Rom@++ |
Primitive |
visible |
CRom402B2B |
Forth |
18xxx2 |
| ( -- b ) |
[ 3697, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
tblrd*+
PushReg tablat
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| RomBank |
Pascal |
visible |
CRomBank |
Forth |
|
| ( n -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
n RomBank #1 #2 ... End
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| RomPtr! |
Primitive |
visible |
CRomPtr21 |
Forth |
18xxx2 |
| ( wRomAddress -- ) |
[ 3647, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
PopReg tblptrh
Popreg tblptrl
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| RomPtr@ |
Primitive |
visible |
CRomPtr40 |
Forth |
18xxx2 |
| ( -- wRomAddress ) |
[ 3656, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
Pushreg tblptrl
PushReg tblptrh
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| RomPtr++ |
Macro |
immediate visible |
CRomPtr2B2B |
Forth |
18xxx2 |
| ( -- ) |
[ 3665, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
tblrd*+ ; // RomPtr++ ( -- )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| rot |
Pascal |
immediate visible |
Crot |
Forth |
|
| ( n1 n2 n3 -- n2 n3 n1 ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
rotate the 3rd stack element to the top
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| -rot |
Pascal |
immediate visible |
C2Drot |
Forth |
|
| ( n1 n2 n3 -- n3 n1 n2 ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
rotate the top stack element to the 3rd position
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| rshift |
Pascal |
immediate visible |
Crshift |
Forth |
|
| ( n1 -- n2 ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Shift the top stack item to the right, bitwise
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| RunError |
Pascal |
visible |
CRunError |
Forth |
|
| ( <string-token> -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Generate a runtime error with text on stack, also see RunError'.
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| RunError' |
Pascal |
immediate visible |
CRunError27 |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Generate a runtime error with inline specified text, also see RunError.
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| s>d |
Primitive |
visible |
Cs3Ed |
Forth |
18xxx2 |
| ( b -- w ) |
[ 4636, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
with sign extension
|
| Value |
PushNothing
btfsc indf0, 7
retlw D'255'
retlw D'0'
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| sd<= |
Colon |
visible |
Csd3C3D |
Forth |
18xxx2 |
| ( sd sd -- f ) |
[ 4587, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (not) ]
[ (semi) ]
[ sd> ]
|
| Used in |
|
| Documentation |
|
| Value |
00109 | sd> | ( sd sd -- f ) [103]
00110 | (not) | ( b -- b ) ( )
00111 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| sd> |
Colon |
visible |
Csd3E |
Forth |
18xxx2 |
| ( sd sd -- f ) |
[ 4573, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (semi) ]
[ dSwap ]
[ sd< ]
|
| Used in |
| [ sd<= ]
|
| Documentation |
|
| Value |
00103 | dSwap | ( w1 w2 -- w2 w1 )
00104 | sd< | ( sd sd -- f ) [100]
00105 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| sd>= |
Colon |
visible |
Csd3E3D |
Forth |
18xxx2 |
| ( sd sd -- f ) |
[ 4580, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (not) ]
[ (semi) ]
[ sd< ]
|
| Used in |
|
| Documentation |
|
| Value |
00106 | sd< | ( sd sd -- f ) [100]
00107 | (not) | ( b -- b ) ( )
00108 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| SearchPath |
Pascal |
visible |
CSearchPath |
Forth |
|
| ( -- <string-token>) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Get the current search path
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| SetBreak |
Pascal |
visible |
CSetBreak |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Set a Pascal break (for compiler debuging)
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| SetMeta |
Pascal |
visible |
CSetMeta |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Set the meta bit for the token following inline
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| SetUnMeta |
Pascal |
visible |
CSetUnMeta |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Clear the meta bit for the token following inline
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| SetUnUsed |
Pascal |
visible |
CSetUnUsed |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Clear the used bit for the token following inline
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| SetUsed |
Pascal |
visible |
CSetUsed |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Set the used bit for the token following inline
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| ShowAllocations |
Pascal |
visible |
CShowAllocations |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Make a dump of all RAM allocations
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| ShowCallCounts |
Pascal |
visible |
CShowCallCounts |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Show some compile stastistics
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| ShowCallTree |
Pascal |
visible |
CShowCallTree |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Show some compile stastistics
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| ShowStatistics |
Pascal |
visible |
CShowStatistics |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Show some compile stastistics
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| ShowVocs |
Pascal |
visible |
CShowVocs |
Only |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Show a list of all defined vocs.
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Sleep |
Macro |
immediate visible |
CSleep |
Forth |
18xxx2 |
| ( -- ) |
[ 3355, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
sleep ; // Sleep ( -- )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| sp! |
Colon |
visible |
Csp21 |
Forth |
18xxx2 |
| ( -- ) |
[ 5396, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (semi) ]
[ sp@ ]
[ spSave! ]
|
| Used in |
|
| Documentation |
|
| Value |
00215 | sp@ | ( -- w )
00216 | spSave! | ( w -- ) [212]
00217 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| sp-! |
Colon |
visible |
Csp2D21 |
Forth |
18xxx2 |
| ( b -- ) |
[ 5411, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (>R) ]
[ (R>) ]
[ (semi) ]
[ d- ]
[ spSave! ]
[ spSave@ ]
[ u>ud ]
|
| Used in |
|
| Documentation |
|
| Value |
00223 | (>R) | ( b -- ) [ -- b ]
00224 | spSave@ | ( -- w ) [209]
00225 | (R>) | ( -- b ) [ b -- ]
00226 | u>ud | ( b -- w ) ( )
00227 | d- | ( wu1 wu2 -- wu3 )
00228 | spSave! | ( w -- ) [212]
00229 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| sp? |
Colon |
visible |
Csp3F |
Forth |
18xxx2 |
| ( -- f ) |
[ 5422, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (semi) ]
[ d= ]
[ sp@ ]
[ spSave@ ]
|
| Used in |
|
| Documentation |
|
| Value |
00230 | sp@ | ( -- w )
00231 | spSave@ | ( -- w ) [209]
00232 | d= | ( w1 w2 -- f )
00233 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| sp@ |
Primitive |
visible |
Csp40 |
Forth |
18xxx2 |
| ( -- w ) |
[ 5339, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ sp! ]
[ sp? ]
|
| Documentation |
|
| Value |
PushReg fsr0l
PushReg fsr0h
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| sp+! |
Colon |
visible |
Csp2B21 |
Forth |
18xxx2 |
| ( b -- ) |
[ 5403, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (semi) ]
[ d+ ]
[ spSave! ]
[ spSave@ ]
[ u>ud ]
|
| Used in |
|
| Documentation |
|
| Value |
00218 | u>ud | ( b -- w ) ( )
00219 | spSave@ | ( -- w ) [209]
00220 | d+ | ( wu1 wu2 -- wu3 )
00221 | spSave! | ( w -- ) [212]
00222 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| sp0 |
Primitive |
visible |
Csp0 |
Forth |
18xxx2 |
| ( -- w ) |
[ 5349, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
PushLit ( SZero >> 0) & 0xff
PushLit ( SZero >> 8) & 0xff
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| sp0? |
Primitive |
visible |
Csp03F |
Forth |
18xxx2 |
| ( -- f ) |
[ 5359, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
True on stack error
|
| Value |
PushReg tmp1
movlw (( SZero + 1) >> 0) & 0xff
cpfseq fsr0l ; // S/ stack not in error
retlw True ; // ----> stack error -> True
movlw (( SZero + 1) >> 8) & 0xff
cpfseq fsr0h ; // S/ stack Ok
retlw True ; // ----> stack error -> True
retlw False ; // ----> stack ok -> False
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Space |
Pascal |
immediate visible |
CSpace |
Forth |
|
| ( -- n ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Push a space character
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| spSave |
2Variable |
visible |
CspSave |
Forth |
18xxx2 |
| ( -- wRamAddr ) |
[ 241, 12] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ @spSave ]
|
| Documentation |
Temporary storage for SP checks
|
| Value |
address: 0:135, offset: 0, size: 2 |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| spSave! |
Colon |
visible |
CspSave21 |
Forth |
18xxx2 |
| ( w -- ) |
[ 5389, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (semi) ]
[ @spSave ]
[ d! ]
|
| Used in |
| [ sp! ]
[ sp-! ]
[ sp+! ]
|
| Documentation |
|
| Value |
00212 | @spSave | ( -- wRamAddress ) [207]
00213 | d! | ( w wRamAddress -- )
00214 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| spSave@ |
Colon |
visible |
CspSave40 |
Forth |
18xxx2 |
| ( -- w ) |
[ 5382, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (semi) ]
[ @spSave ]
[ d@ ]
|
| Used in |
| [ sp-! ]
[ sp? ]
[ sp+! ]
|
| Documentation |
|
| Value |
00209 | @spSave | ( -- wRamAddress ) [207]
00210 | d@ | ( wRamAddress -- w ) [DFetch]
00211 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| StatusTmp |
Variable |
used visible |
CStatusTmp |
Forth |
18xxx2 |
| ( -- wRamAddr ) |
[ 231, 12] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ Initialization ]
|
| Documentation |
Temporary for processor status register
|
| Value |
address: 0:128, offset: 0, size: 1 |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| String |
Pascal |
visible |
CString |
Forth |
|
| ( string-token -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Define a string constant XXXX, also see Data. RawData, " and ''
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| swap |
Pascal |
immediate visible |
Cswap |
Forth |
|
| ( n1 n2 -- n2 n1 ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
swap top and sub top stack elements
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| SwapDrop |
Macro |
immediate used visible |
CSwapDrop |
Forth |
18xxx2 |
| ( b b -- b ) |
[ 5332, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ d0< ]
|
| Documentation |
|
| Value |
SwapDrop ; // SwapDrop ( b1 b2 -- b2 )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| system.Execute |
Pascal |
visible |
Csystem2EExecute |
Only |
|
| ( <string-token> <string-token> -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
" Program" " args" system.Execute"
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| system.reset |
Pascal |
visible |
Csystem2Ereset |
Only |
|
| ( <> -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Clear complete x4th system and go interpreting
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| system.ShowResults |
Pascal |
visible |
Csystem2EShowResults |
Only |
|
| ( <string-token> -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Let application dump it's user feedback to a file, name popped from stack
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| SystemDump' |
Pascal |
visible |
CSystemDump27 |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Make a debug dump to a file, use as Dump' afile.ext'
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| t! |
Colon |
visible |
Ct21 |
Forth |
18xxx2 |
| ( w b wRamAddress -- ) |
[ 5024, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (!) ]
[ (+rot) ]
[ (lit) ]
[ (pick) ]
[ (semi) ]
[ 2a+ ]
[ d! ]
|
| Used in |
|
| Documentation |
|
| Value |
00140 | (+rot) | ( b1 b2 b3 -- b2 b3 b1 )
00141 | (lit) | ( -- b ) ( Arg Sign )
00142 | | [2]
00143 | | []
00144 | (pick) | ( u1 -- u2 )
00145 | (lit) | ( -- b ) ( Arg Sign )
00146 | | [2]
00147 | | []
00148 | (pick) | ( u1 -- u2 )
00149 | 2a+ | ( wRamAddr -- wRamAddr ) ( )
00150 | (!) | ( b wRamAddress -- ) [Store]
00151 | d! | ( w wRamAddress -- )
00152 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| t@ |
Colon |
visible |
Ct40 |
Forth |
18xxx2 |
| ( wRamAddress -- w b ) |
[ 5013, 2] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ (@) ]
[ (semi) ]
[ 2a+ ]
[ aDup ]
[ d@ ]
[ dSwap ]
|
| Used in |
|
| Documentation |
|
| Value |
00134 | aDup | ( w -- w w ) [9]
00135 | d@ | ( wRamAddress -- w ) [DFetch]
00136 | dSwap | ( w1 w2 -- w2 w1 )
00137 | 2a+ | ( wRamAddr -- wRamAddr ) ( )
00138 | (@) | ( wRamAddress -- b ) [Fetch]
00139 | (semi) | ( -- ) ( )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Then |
Pascal |
immediate visible |
CThen |
Forth |
|
| ( n -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
n If .. Else .. Then or EndIf
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Throw |
Pascal |
immediate visible |
CThrow |
Forth |
|
| ( n -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Throw an exception, same as Raise
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Title |
Macro |
immediate used visible |
CTitle |
Forth |
18xxx2 |
| ( -- ) |
[ 1657, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
Sets a title for the assembler
|
| Value |
TITLE $aTitle$
<!
AddDoc' Title=$aTitle$'
>
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| TLiteral |
Pascal |
immediate visible |
CTLiteral |
Forth |
|
| ( n -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Compile TOS as a tripple byte literal
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| To |
Pascal |
immediate visible |
CTo |
Forth |
|
| ( n -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Place a value into a Value word, same as =.
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| todo' |
Pascal |
immediate visible |
Ctodo27 |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Generate a runtime todo msg with inline specified text.
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| token |
Pascal |
visible |
Ctoken |
Forth |
|
| ( bSep -- <string-token> ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Read bSep separated token from input stream
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| True |
Pascal |
immediate visible |
CTrue |
Forth |
|
| ( -- f ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Push boolean true
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| True! |
Primitive |
visible |
CTrue21 |
Forth |
18xxx2 |
| ( wRamAddress -- ) |
[ 3930, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ ff! ]
|
| Documentation |
|
| Value |
PopReg fsr2h
movwf fsr2l
movlw True
movwf indf2
Drop
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| TrueFalse |
2Constant |
visible |
CTrueFalse |
Forth |
18xxx2 |
| ( -- w ) |
[ 218, 18] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
255 |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| TrueTrue |
2Constant |
visible |
CTrueTrue |
Forth |
18xxx2 |
| ( -- w ) |
[ 216, 19] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
65535 |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Type |
Pascal |
visible |
CType |
Forth |
|
| ( string-token -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Type string token to console
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| u>ud |
Macro |
immediate used visible |
Cu3Eud |
Forth |
18xxx2 |
| ( b -- w ) |
[ 4629, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
| [ sp-! ]
[ sp+! ]
|
| Documentation |
|
| Value |
PushLit D'0' ; // u>ud ( u -- wu )
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| ud>uq |
Alias |
visible |
Cud3Euq |
Forth |
18xxx2 |
| ( -- w ) |
[ 4646, 8] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ 0d ]
|
| Used in |
|
| Documentation |
|
| Value |
0d |
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| UnBug |
Pascal |
visible |
CUnBug |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Stop debug processing (for compiler debugging)
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| unix>str |
Pascal |
visible |
Cunix3Estr |
Forth |
|
| ( n -- <string-token>) |
[ 0, 1] "" |
| Uses |
|
| Used in |
| [ .infoTime ]
|
| Documentation |
Convert n to an ISO date time string
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Until |
Pascal |
immediate visible |
CUntil |
Forth |
|
| ( n -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Begin .. ( f ) Until
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| untoken |
Pascal |
visible |
Cuntoken |
Forth |
|
| (<string-token> bSep -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Push back string token separated by bSep into input stream
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Used |
Pascal |
visible |
CUsed |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Set the used bit for the last defined word
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Value |
Pascal |
visible |
CValue |
Forth |
|
| ( n -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Define a Value (using the To concept)
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| ValueBegin |
Macro |
immediate visible |
CValueBegin |
Compiler |
18xxx2 |
| ( -- ) |
[ 1706, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
; // ===========================================
; // ======== Value initialization code ========
ValueInit ; // Value initialization code is compiled here
; // Followed by the rest of ValueBegin ( )
SetBSRDefault ; // Setup BSR
AddressToFsr0 SZero ; // Setup data stack
AddressToFsr1 LZero ; // Setup loop stack
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| ValueEnd |
Macro |
immediate visible |
CValueEnd |
Compiler |
18xxx2 |
| ( -- ) |
[ 1723, 6] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
| [ Main ]
|
| Used in |
|
| Documentation |
|
| Value |
goto <@" Main"> ; // Jump into the 4th main function.
; // ======== End of value initialization code ========
; // ==================================================
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Variable |
Pascal |
visible |
CVariable |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Define a variable :: Variable Truus
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Vocabulary |
Pascal |
visible |
CVocabulary |
Only |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
To be able to define new vocs
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| warning |
Pascal |
visible |
Cwarning |
Forth |
|
| ( <string-token> -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Generate a warning with text on stack, also see Warning'.
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Warning' |
Pascal |
immediate visible |
CWarning27 |
Forth |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Generate a runtime error with inline specified text, also see warning.
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| While |
Pascal |
immediate visible |
CWhile |
Forth |
|
| ( n -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
Begin .. While .. Repeat
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| xor |
Pascal |
immediate visible |
Cxor |
Forth |
|
| ( n1 n2 -- n3 ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
bitwise xor
|
| Value |
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Xor! |
Primitive |
visible |
CXor21 |
Forth |
18xxx2 |
| ( b wRamAddress -- ) |
[ 3909, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
PopReg fsr2h
PopReg fsr2l
xorwf indf2
Drop
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| Xor32 |
Primitive |
visible |
CXor32 |
Forth |
18xxx2 |
| ( q q -- q ) |
[ 4025, 5] "D:\PrjD7\x4th\work\Lib\18xxx2\18xxx2.4th" |
| Uses |
|
| Used in |
|
| Documentation |
|
| Value |
PopReg tmp1
PopReg tmp2
PopReg tmp3
PopReg tmp4
xorwf tmp1, f
Drop
xorwf tmp2, f
Drop
xorwf tmp3, f
Drop
xorwf tmp4, w
PushReg tmp3
PushReg tmp2
PushReg tmp1
return
|
[ doc top ]
[ word index ]
[ vocabularies ]
[ words ]
| XVersion" |
Pascal |
visible |
CXVersion22 |
Only |
|
| ( -- ) |
[ 0, 1] "" |
| Uses |
|
| Used in |
|
| Documentation |
To check versions
|
| Value |
|