- Announcement about May 10th, 2018 update and your password.
PASM question -- HUBOP implementation in the instruction set
I'm back with another awkward edge-case question about something nobody else will ever care about
(might be one for @cgracey
if he has a free second during a lunch-hour, hehe)
In a nutshell, why are...
CLKSET, COGID, COGINIT, COGSTOP, LOCKNEW, LOCKRET, LOCKSET, and LOCKCLR
...considered to be "HUB operations", whereas...
RDBYTE, RDWORD, RDLONG, WRBYTE, WRWORD and WRLONG
...are not described in the same manner?
All the above take need HUB sync and take between 8 and 23 system clocks to run.
I realise that the first 8 all share the same opcode number ('iiiiii' field in the 32 bits mapping are all %000011). And that the three LSBs of the source field are used to determine which HUBOP is executed. But there why not use the 4 LSBs (it looks to be available(?)) instead and just incorporate the latter 6 opcodes into the same HUPOB %000011 umbrella?
I'm merely curious, I noticed this just now while writing my simulator.
*Ahh, the Oxford comma :P