
Сообщение от
Alex
ни одного упоминания применения на LSI-11 и PDP-11 не слышал
Попадалось. И где-то вроде даже примеры - как сделать - валяются.
От DEC есть доки, хрень называется Writable Control Store (WCS), но есссвенно - оно разное для LSI-11 и VAX-ов
- - - Добавлено - - -
О, даже нашёл 
Код:
;THIS IS AN LSI-11 MICRO CODE SUBROUTINE
;TO MOVE A BLOCK OF MEMORY FROM ONE PLACE TO SOME PLACE
;ELSE.
; THIS ROUTINE ILLUSTRATES...
; 1) HOW A LONG RUNNING MICROCODE SUBROUTINE ENSURES THAT
; PENDING INTERRUPTS GET SERVICED IN A TIMELY FASHION.
; THE INPUT PARAMETERS ARE
; R0:SOURCE ADDRESS
; R1:DESTINATION ADDRESS
; R2:NR. OF WORDS TO BE MOVED
LOC 3000
JMP 0
JMP MOV
JMP 0
ERROR: JMP 0
LOC 3004 ;UNNECESSARY,JUST FOR CLARITY.
;AN INTERRUPT HAS OCCURRED. MUST SUSPEND THIS OPERATION
;IN SUCH A WAY AS TO ALLOW THE OPERATION TO BE RESUMED RATHER
;THAN RESTARTED AFTER THE INTERRUPT HAS BEEN PROCESSED
;TO ACCOMPLISH THIS IT IS NECESSARY TO UPDATE THE INPUT PARAMETERS
;AND BACK UP THE BASE MACHINE PROGRAM COUNTER, THEN EXIT
;MICROCODE. IN THIS WAY THE INTERRUPT WILL BE PROCESSED, AND
;THE NEXT INSTRUCTION FETCH WILL AGAIN EXECUTE THE 076000 INSTRUCTION
;ONLY NOW WITH UPDATED VALUES IN THE SOURCE, DESTINATION, AND SIZE
;PARAMETERS
LL 0,RIRH ;UPDATE LSI-11 R0 TO POINT TO
LGL RIRH ; NEXT SOURCE WORD
MW RSRC,G
LL 1,RIRH ;UPDATE LSI-11 R1 TO POINT TO
LGL RIRH ; NEXT DESTINATION WORD
MW RDST,G
AL 376,PCL,RSVC ;DECREMENT BASE MACHINE PC BY TWO
CDB PCH ;AND EXIT MICROCODE
;PROCESS THE BLOCK MOVE INSTRUCTION
MOV: CL 175,RIRL ;LEGAL INSTRUCTION?
JZBF ERROR
AL 100,RIRH ;IF LEGAL C8=1
JC8F ERROR
LL 0,RIRH ;COPY CONTENTS OF LSI-11 R0
LGL RIRH ; INTO MICRO-REG RSRC
MW G,RSRC ;GET SOURCE BLOCK ADDR
LL 1,RIRH ;COPY CONTENTS OF LSI-11 R1
LGL RIRH ; INTO MICRO-REG RDST
MW G,RDST ;GET DEST BLOCK ADDR
;FROM THIS POINT ON
LL 2,RIRH ;MICRO REG G WILL ALWAYS POINT TO
LGL RIRH ; LSI-11 REG R2 (WORD COUNT REG)
TW G,G ;IS THE WORD COUNT REG (R2) = 0?
JZBT EXIT
LOOP: RIW2 RSRCH,RSRCL ;PUT SOURCE ADDR. ON DATA ACCESS LINES.
;(ALSO BUMPING SOURCE ADDR POINTER).
DW1F G,G ;TAKE ADVANTAGE OF IDLE TIME TO UPDATE
;CONTENTS OF LSI-11 R2
IW ,RBA ;COPY SOURCE OPERAND INTO SCRATCH
WIW2 RDSTH,RDSTL ;THEN MOVE WORD BACK OUT TO DEST
OW RBAH,RBAL ; BLOCK ALSO BUMPING DEST ADDR
SI I6 ;THIS FLAG ALTERS THE INTERRUPT DECISION CHAIN
;SUCH THAT AFTER THE EXECUTION
;OF A MICRO CODE RSVC, CONTROL
;WILL BE RETURNED TO THE MICROCODE
;IN ONE OF TWO WAYS. IF AN INTERRUPT
;IS PENDING CONTROL WILL GO
;TO MICRO LOCATION 3004. IF NO
;INTERRUPTS PENDING CONTROL WILL
;GO TO THE INSTRUCTION FOLLOWING
;THE RI INSTRUCTION.
NOP RSVC ;EXIT TO SERVICE ANY INTERRUPT
RI I6 ;RESET FLAG
;CONTROL RETURNS HERE IF NO
;INTERRUPT.
JZF LOOP ;IF ANY MORE WORDS, MOVE THEM.
EXIT: NOP RSVC ; ELSE, RETURN TO BASE MACHINE
NOP
.END
- - - Добавлено - - -
Код:
.TITLE MICRO ASSEMBLER
.SBTTL YET TO BE IMPLEMENTED FEATURES