
Сообщение от
form
А каков функционал этих команд в режиме USER? Они же вроде оперируют с невидимой режиму USER памятью?
И то верно.. Похоже, что команды START и STEP у ВМ2 в режиме USER не имеют смысла.
Насколько я знаю, особенности эмуляции команд FIS в ВМ2 позволяют программам пользователя работать в режиме HALT.
Вот пример такой программы (автор В.Полетаев):
Код:
; Программа, скачивающая в основное ОЗУ
; содержимое ОЗУ HALT-режима в плате на базе 1801ВМ2.
.TITLE VM2
; команды 1801ВМ2
GO =: 12 ; G
STEP =: 16 ; P
RSEL =: 20 ; R0:=SEL
MFUS =: 21 ; R0:=(R5)+
RCPC =: 22 ; R0:=CPC
RCPS =: 24 ; R0:=CPS
MTUS =: 31 ; -(R5):=R0
WCPC =: 32 ; CPC:=R0
WCPS =: 34 ; CPS:=R0
START::
MOV #PROG,R5
MOV (R5)+,R0
MOV (R5)+,R1
MOV (R5)+,R2
MOV (R5)+,R3
MOV (R5)+,R4
MOV (R5)+,R5
CLR -(SP)
CLR -(SP)
CLR -(SP)
CLR -(SP)
FADD SP
CMP (SP)+,(SP)+
MOV #740,-(SP)
MOV #173002,R1
MOV R1,-(SP)
MOV #PROG,R5
MOV #PLEN,R2
RTI
PROG: MFUS
MOV R0,(R1)+
SOB R2,PROG
MOV #160000,R1
MOV #10000,R2
MOV #10000+20000,R5
10$: MOV -(R1),R0
MTUS
SOB R2,10$
MOV #NEXT,R0
WCPC
CLR R0
WCPS
STEP
PLEN=.-PROG/2
NEXT: HALT
EMT 350
.END START
;