
(DefConst %%MInst-Write-Control-Store (Byte 1. 9.))
(DefConst %%MInst-Read-Control-Store (Byte 1. 8.))

;;; Special case jump instruction: Read/Write with Instruction memory
(PreDef Access-I-Mem '(Plus Call-Xct-Next Always))
(PreDef Write-I-Mem
        `(Plus Popj Always ,(Byte-Value 1 %%MInst-Write-Control-Store)))
(PreDef Read-I-Mem
        `(Plus Popj Always ,(Byte-Value 1 %%MInst-Read-Control-Store)))



PROCESS-I-MEM-SECTION
	(jump if-equal m-d a-zero PROCESS-SECTION)

	((m-a) (byte-field 18. 14.) m-c)
	(jump if-not-equal m-a a-zero BAD-MICROLOAD-FORMAT)	;bad section address

	(call-xct-next GET-NEXT-WORD)
       ((m-d) sub m-d a-hex-1)
	(call-xct-next GET-NEXT-WORD)
       ((m-b) m-a)

	;; M-B has first word of instruction, M-A has second word
	;; M-C has i-memory address

	((imod-low) dpb m-c %imod-low-new-micro-pc a-zero)
        (ACCESS-I-MEM)
	(WRITE-I-MEM m-a a-b)
	(jump-xct-next PROCESS-I-MEM-SECTION)
       ((m-c) add m-c a-hex-1)

