No, not in the FIFO instructions, but Floating-Point numbers can be used in the COP instruction (which can be used as a word-shift instruction).Can the floats be used in FFL source?
Only if you pause the action (or save the intermediate value) long enough to go look at the value before it gets erased by the next instruction (proabably another FFU).Also on the unload, am I meant to see the N moved to the unload N?
Correction: My old memory is faulty. It is "XIO R6:0.POS NEQ 0" (FIFO stack Position is not 0) which is commonly used to indicate that the FIFO stack still has data that has not been Unloaded. You may need to combine that comparison with some other trigger bit that will always produce an off-to-on transition.One of the most commonly used unload trigger bits is XIO R6:0/DN (the FIFO still contains data because it is not Done), where R6:0 is the FIFO Control word.
The ONS bit also makes sure that you only get one each of FFU, FFL, and the MOVe. Probably the MOV is the reason you put in the ONS, so put MOV on a separate rung along with the ONS.
Also you are resetting R6:0 after the FFU. Because you use the same R6:0 Control word for the FFL, then when it is reset, all the data in the common R6:0 disappears, setting your FIFO stack back to the beginning.
Lancie1 is correct about setting the FIFO to an initial unloaded state (although any previously loaded data remains, it will just be overwritten when new operations begin).Also you are resetting R6:0 after the FFU. Because you use the same R6:0 Control word for the FFL, then when it is reset, all the data in the common R6:0 disappears, setting your FIFO stack back to the beginning.