;;;	Microcode source file
;;;	Jean Schutty 15-247
;;;	Lab4 5/5/91
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
save:		; TEMP <-- R[rs1] + (R[rs2] or simm13)
		; MAR <-- R[14]
		; CWP <-- CWP - 1
		; if (wintrap)
		;	Mem[MAR] <-- R[8]
		;	MAR <-- MAR + 4
		;	repeat until R[23]
		;	WIM <-- WIM - 1

		; R[rd] <-- TEMP
		; PC <-- PC + 4

restore:
		; TEMP <-- R[rs1] + (R[rs2] or simm13)
		; CWP <-- CWP + 1
		; MAR <-- R[30]
		; if (wintrap)
		;	R[8] <-- Mem[MAR]
		;	MAR <-- MAR + 4
		;	repeat until R[23]
		;	WIM <-- WIM + 1

		; R[rd] <-- TEMP
		; PC <-- PC + 4

call:
		; R[15] <-- PC
		rsel2=1 dsel2=0 rwr=0
		; PC <-- disp30 << 2
		pcld=1 pcs=2

jmpl:
		; R[rd] <-- PC
		dsel2=0 rwr=0
		; PC <-- R[rs1] + (R[rs2] or simm13)
		pcld=1 pcs=3 alufunc=2

ble:
		; if (Z or (N xor V)) then
		; 	PC <-- PC + disp22<<2
		; else
		;	PC <-- PC + 4

ld:
		; MAR <-- R[rs1] + (R[rs2] or simm13)
		; R[rd] <-- Mem[MAR]
		; PC <-- PC + 4

st:
		; MAR <-- R[rs1] + (R[rs2] or simm13)
		; Mem[MAR] <-- R[rd]
		; PC <-- PC + 4

subcc:
		; R[rd] <-- R[rs1] - (R[rs2] or simm13)
		; set_cc
		; PC <-- PC + 4

sub:
		; R[rd] <-- R[rs1] - R[rs2]
		; PC <-- PC + 4

add:
		; R[rd] <-- R[rs1] + R[rs2]
		; PC <-- PC + 4

or:
		; R[rd] <-- R[rs1] | R[rs2]
		; PC <-- PC + 4
