Wombat1
 Punctuation preferences
CharacterUse
!symbol
#symbol
$symbol
%symbol
&symbol
^symbol
_symbol
`symbol
*symbol
?symbol
@symbol
~symbol
+symbol
-symbol
(token
)token
,token
/token
=token
[token
\token
]token
{token
|token
}token
.pseudo
:label
;comment

 Registers
NameWidth
pc12
acc16
ir16
mar12
mdr16
status3

 Register Arrays
NameLengthWidth
(none)

 Condition Bits
NameRegisterBitHalt
halt-bitstatus0true

 RAMs
NameLength
Main128

 Set
NameRegisterStart BitNumber of BitsValue
(none)

 Test
NameRegisterStart BitNumber of BitsComparisonValueOmission
if(acc!=0)skip-1acc016NE01
if(acc>=0)skip-1acc016GE01

 Increment
NameRegisterOverflow BitDelta
Inc2-pcpchalt-bit2

 Shift
NameSourceDestinationTypeDirectionDistance
(none)

 Logical
NameTypeSource1Source2Destination
(none)

 Arithmetic
NameTypeSource1Source2DestinationOverflow BitCarry Bit
acc+mdr->accADDaccmdracchalt-bit(none)
acc-mdr->accSUBTRACTaccmdracchalt-bit(none)
acc*mdr->accMULTIPLYaccmdracchalt-bit(none)
acc/mdr->accDIVIDEaccmdracchalt-bit(none)

 Branch
NameAmount
(none)

 TransferRtoR
NameSourceSrc Start BitDestinationDest Start BitNumber of Bits
pc->marpc0mar012
mar->pcmar0pc012
ir(4-15)->marir4mar012
mdr->irmdr0ir016
mdr->accmdr0acc016
acc->mdracc0mdr016
ir(4-15)->pcir4pc012

 TransferRtoA
NameSourceSrc Start BitDestinationDest Start BitNumber of BitsIndexIndex Start BitIndex Number of Bits
(none)

 TransferAtoR
NameSourceSrc Start BitDestinationDest Start BitNumber of BitsIndexIndex Start BitIndex Number of Bits
(none)

 Decode
NameIR
decode-irir

 Set Condition Bit
NameBitValue
set-halt-bithalt-bit1

 IO
NameDirectionTypeBufferConnection
input-int->accinputintegeracc[Console]
output-acc->intoutputintegeracc[Console]

 Memory Access
NameDirectionMemoryDataAddress
Main[mar]->mdrreadMainmdrmar
mdr->Main[mar]writeMainmdrmar

 EQUs
NameValue
(none)

 Instruction Format Fields
NameTypeNumber of BitsRelativitySignedDefault ValueValues
addrrequired12absolutefalse0<any>
unusedignored12absolutetrue0<any>
oprequired4absolutefalse0<any>

 Fetch Sequence
Microinstructions
pc->mar
Main[mar]->mdr
mdr->ir
Inc2-pc
decode-ir

 Machine Instructions
NameOpcode (hex)FormatMicroinstructions
stop0op unusedset-halt-bit
End
load1op addrir(4-15)->mar
Main[mar]->mdr
mdr->acc
End
store2op addrir(4-15)->mar
acc->mdr
mdr->Main[mar]
End
read3op unusedinput-int->acc
End
write4op unusedoutput-acc->int
End
add5op addrir(4-15)->mar
Main[mar]->mdr
acc+mdr->acc
End
subtract6op addrir(4-15)->mar
Main[mar]->mdr
acc-mdr->acc
End
multiply7op addrir(4-15)->mar
Main[mar]->mdr
acc*mdr->acc
End
divide8op addrir(4-15)->mar
Main[mar]->mdr
acc/mdr->acc
End
jump9op addrir(4-15)->pc
End
jmpzAop addrif(acc!=0)skip-1
ir(4-15)->pc
End
jmpnBop addrif(acc>=0)skip-1
ir(4-15)->pc
End