Лабораторная работа 31 / ЛР3
.doc
INIT LDAA TD64
BEQ CON
NOP
LDD # 250 пишем в D уставку
STD R 2001 записали уставку в память
NOP
LDD # 2000
STD R 2003 верхний уровень в памяти
NOP
LDD # 270
STD R 2005 текущий уровень в памяти
NOP
SUBD R 2001 определение начального состояния
BCS LESS «если D минус уставка больше 0, то:»
LDAA # 1 а) получили состояние 1
JMP ENDI б) переходим в конец ветки
LESS LDAA #2 ИНАЧЕ получили состояние 2
ENDI STAA R 2007 записали
CON RTS
ST1 LDAB # 1 СОСТОЯНИЕ 1
STAB O 021 индикатор нагревателя вкл
LDD R 2005
SUBD # 1
STD R 2005
LDAA #1
STAA R 2007
RTS
ST2 LDAB # 0 СОСТОЯНИЕ 2
STAB O 021 индикатор нагревателя выкл
LDD R 2005
ADDD # 1
STD R 2005
LDAA #2
STAA R 2007
RTS
ST3 LDAB #1 СОСТОЯНИЕ 3
STAB O 021 индикатор нагревателя вкл
LDD R 2005
ADDD #1
STD R 2005
LDAA #3
STAA R 2007
RTS
BEG NOP ТЕЛО
JSR INIT
IF1 LDAA R 2007 считываем тек состояние
SUBA # 1
SK0
JMP IF2
LDD R 2005
SUBD R 2001
BCS ELS1
JSR ST1
JMP END1
ELS1 JSR ST2
END1 JMP EXIT
NOP
IF2 LDAA R 2007
SUBA #2
SK0
JMP IF3
LDD R 2005
SUBD R2001
BHI ELS2
JSR ST2
JMP END2
ELS2 JSR ST3
END2 JMP EXIT
NOP
IF3 LDAA R 2007
SUBA #3
SK0
JMP EXIT
LDD R 2005
SUBD R 2003
BHI ELS3
JSR ST3
JMP END3
ELS3 JSR ST1
END3 NOP
EXIT NOP
END