Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 16-bit opcodes
- 16-bit word size
- 64K 16-bit words of RAM
- memory map:
- Data: 000-7ff bank A
- Data: 800-fff bank B
- Code: 000-fff bank C (for Code)
- indirect accesses ignore the banks and use the full 16 bits
- 0xxx call xxx call subroutine
- 1xxx load xxx load memory
- 2xxx store xxx store memory
- 3xxx add xxx add memory
- 4xxx sub xxx subtract memory
- 5xxx and xxx bit-wise AND with memory
- 6xxx or xxx bit-wise OR with memory
- 7xxx xor xxx bit-wise XOR with memory
- 8xxx jump xxx jump to address
- 9xxx loadi xxx load indirect
- Axxx storei xxx store indirect
- Bxxx addi xxx add indirect
- Cxxx inc xxx increment memory
- Dxxx dec xxx decrement memory
- E0xx load #xx load immediate (positive)
- E1xx load #-xx load immediate (negative)
- E2xx add #xx add immediate
- E3xx sub #xx subtract immediate
- E4xx sub #xx and immediate
- E5xx or #xx or immediate
- E6xx xor #xx xor immediate
- E7xx shiftl #xx shift left X bits
- E8xx shiftr #xx shift right X bits
- E9xx banka #xx set bank A
- EAxx bankb #xx set bank B
- EBxx bankc #xx set bank C (goes into effect next call/jump)
- ECxx
- EDxx
- EExx
- EF00 halt stop
- EF01 return return from subroutine
- EF02 neg accumulator = 1 - accumulator
- EF03 compl accumulator = ~accumulator
- EF04 push push accumulator to stack
- EF05 pop pop accumulator from stack
- EF06 setsp set stack pointer to accumulator
- EF07 getsp set accumulator to stack pointer
- EF08
- EF09
- EF0A
- EF0B
- EF0C
- EF0D
- EF0E
- EF0F
- F
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement