-
Notifications
You must be signed in to change notification settings - Fork 0
/
assembly.txt
26 lines (24 loc) · 1.58 KB
/
assembly.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
00000 STOP Stop and Transfer Halt; restart address = addr
00001 TR Transfer Jump to (addr)
00010 TR OV Transfer on Overflow if overflow, jump to (addr)
00011 TR + Transfer on Plus if ACC greater than or equal to 0, jump to (addr)
00100 TR 0 Transfer on Zero if ACC = 0, jump to (addr)
00101 SUB Subtract ACC = ACC - MEM(addr)
00110 R SUB Reset and Subtract ACC = 0 - MEM(addr)
00111 SUB AB Subtract Absolute Value ACC = ACC - ABS(MEM(addr))
01001 ADD Add ACC = ACC + MEM(addr)
01010 R ADD Reset and Add ACC = MEM(addr)
01011 ADD AB Add Absolute Value ACC = ACC + ABS(MEM(addr))
01100 STORE Store MEM(addr) = ACC
001101 STORE A Store Address MEM(addr)[6..17] = ACC[6..17]
101101 EXTR Extract MEM(addr) = MEM(addr) AND ACC
01110 STORE MQ Store MQ MEM(addr) = MQ
01111 LOAD MQ Load MQ MQ = MEM(addr)
10000 MPY Multiply [ACC,MQ] = MQ * MEM(addr)
10001 MPY ROUND Multiply and Round MPY then ROUND
10010 DIV Divide MQ = [ACC,MQ]/MEM(addr); ACC = remainder
10011 ROUND Round if MQ high bit set, ACC = ACC + 1
10100 L LEFT Long Left Shift shift [ACC,MQ] left addr places
10101 L RIGHT Long Right Shift shift [ACC,MQ] right addr places
10110 A LEFT Accumulator Left Shift shift ACC left addr places
10111 A RIGHT Accumulator Right Shift shift ACC right addr places