RD #11 ; включаем дисплей и устанавливаем
OUT 11 ; флаг автоинкремента;
RD #0 ; задаём начальный адрес
OUT 13 ; выводимого слова;
RD 50 ; с какого адреса читаем в памяти
WR R0 ; пишем как адрес начала R0
OUT 10 ; после каждого слова вывод на дисп.
RD #14
WR R2 ; R2 - как счетчик
CALL NEW
rd #0
WR R3 ;min positive number (0 not found)
RD #40
WR R0 ;R0 - address
RD #3 ; задаем счетчик
WR R2 ;R2 - колво повторов
;search first min
M1:RD @R0+ ;a = number
;JZ M2
OUT 10 ; вывод на дисп.
M2:JRNZ R2,M1 ;first
NEW:
; БЛОК ОЧИСТКИ ДИСПЛЕЯ
RD #101
OUT 11
RD #102
OUT 11
; КОНЕЦ БЛОКА ОЧИСТКИ
; БЛОК ПОДГОТОВКИ ДИСПЛЕЯ
RD #11 ; включаем дисплей и устанавливаем
OUT 11 ; флаг автоинкремента;
RD #0 ; задаём начальный адрес
OUT 13 ; выводимого слова;
RET ; возврат
; КОНЕЦ ПОДГОТОВКИ ДИСПЛЕЯ
CALL NEW
CALL ADDING_NUMS
;rd #0
;WR R3 ;min positive number (0 not found)
RD #40
WR R0 ;R0 - address
RD #3 ; задаем счетчик
WR R2 ;R2 - колво повторов
;search first min
M1:RD @R0+ ;a = number
;JZ M2
OUT 10 ; вывод на дисп.
M2:JRNZ R2,M1 ;first
NEW:
; БЛОК ОЧИСТКИ ДИСПЛЕЯ
;RD #101
;OUT 11
;RD #102
;OUT 11
; КОНЕЦ БЛОКА ОЧИСТКИ
; БЛОК ПОДГОТОВКИ ДИСПЛЕЯ
RD #11 ; включаем дисплей и устанавливаем
OUT 11 ; флаг автоинкремента;
RD #0 ; задаём начальный адрес
OUT 13 ; выводимого слова;
RET ; возврат
; КОНЕЦ ПОДГОТОВКИ ДИСПЛЕЯ
ADDING_NUMS:
; МОДУЛЬ ЗАПОЛНЕНИЯ ЧИСЕЛ ASCII (от 0-9)
RD #60 ; использ 40
WR R8 ;R0 - адресс
RD #10 ; задаем счетчик
WR R9 ;R9 - колво повторов
RD #48
WR R7;
;Процедура добавления в #40
ADD1:
WR R7
WR @R8+ ;a = number
ADD #1
JRNZ R9,ADD1 ;first
RET ; возврат
; КОНЕЦ ЗАПОЛНЕНИЯ
;finish
ENDING:
HLT
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.