Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Код программы для иллюстрированного процессора





Ячейка памяти Команда на машин­ном языке Команда в символической форме Комментарий
Программа-загрузчик
  7F JMS Обращение к подпрограмме ввода за ТАН
       
  1F 1F  
    MOV 0 to 1  
  7F JMS Обращение за ТАL
       
  1F 1F  
    MOV 0 to 2  
  7F JMS Обращение за КАН
       
000A 1F 1F  
000B   MOV 0 to 3  
000C 7F JMS Обращение за KAL
000D      
000E 1F 1F  
000F   MOV 0 to 4  
  7F JMS Начинается цикл ввода слов
       
  1F 1F  
  OF MOV 0 to F Передача слова в М[ТА]
  F5 IHL ТА + 1 — >ТА.
    MOV 0 from 4 Вычитание с двойной точностью ТА из КА
  A2 SUB 2 Устанавливается С=1, если ТА > КА
    MOV 0 from 3  
  Bl SBC 1  
  7C JCZ Проверка заема в С. Если нет заема
001A     ввод нового слова
001В      
001С 7B JMP Переход к операциям
001D      
001E      
001F FD INP Начало программы ввода. Ввод слова
      состояния.
  7A JAP Проверка разряда знака в слове состояния.
      Если 0, повторить проверку
  1F 1F  
  FD INP Ввод слова в аккумулятор из устройства
      ввода
  F8 RET Возврат из подпрограммы
Операция №5
008B   LDR 0 Загрузка первого аргумента в регистр 5
008С      
008D      
008E 0D MOV 0 to 5  
008F   LDR 0 Загрузка второго аргумента в регистр 6
       
       
  0D MOV 0 to 6  
    LDR 0 Загрузка третьего аргумента в регистр 7
       
       
  0D MOV 0 to 7  
  7F JMS Переход на подпрограмму в ячейку 00E7
       
  E7 E7  
Операция №3
009A   LDR 0 Передача 1го элемента из памяти в Асс
009B      
009C      
009D   LDR 1 Передача 2го из памяти в регистр 1
009E      
009F      
00A0 A1 SUB 1 Вычитание 2 эл. из 1эл. Триггер C устанавливается, если 2 эл. больше, чем 1
00A1   LDR 2 Передача 1числа в регистр 2, как возможно большего
00A2      
00A3      
00A4 7C JCZ Проверка С на наличие заема. Если нет заема, то 1 > 2, и следующая команда опускается
00A5      
00A6      
00A7   LDR 2 Передача 2 элемента массива в регистр 2, заменяющая 1, если 2 > 1
00A8      
00A9      
00AA   LDR 1 Передача 3 элемента массива из памяти в регистр 1
00AB      
00AC      
00AD   MOV 0 from 2 Передача наибольшего из 1го и 2го в аккумулятор из рег. 2
00AE A1 SUB 1 Вычитание 3его из наибольшего среди 1,2 чисел. С устанавливается, если 3 больше
00AF 7C JCZ Проверка С на наличие заема. Если заем есть, то 3 больше, в противном случае, следующая команда опускается.
00B0      
00B1 4C 4C  
00B2   LDR 2 Передача 3его в регистр 2, заменяющий наибольшее из 1 и 2 чисел, если 3 больше
00В3      
00В4      
00В5   LDR 1 Передача 4 элемента массива из памяти в регистр 1
00В6      
00В7      
00В8   MOV 0 from 2 Передача наибольшего из 1,2,3 чисел в аккумулятор из регистра 2
00В9 A1 SUB 1 Вычитание 4го из наибольшего среди 1,2,3. С устанавливается, если 4ый больше.
00BA JCZ Проверка С на наличие заема. Если заем есть, то 4
00BB     больше, в противном случае, следующая команда опускается.
00BC      
00BD   LDR 2 Передача 4ого в регистр 2, заменяющая наибольшее из массива 1,2,3 если 4 больше
00BE      
00BF      
00C0   LDR 1 Передача 5 элемента массива из памяти в регистр 1
00C1      
00C2      
00C3   MOV 0 from 2 Передача наибольшего из элементов массива 1,2,3,4 в аккумулятор из регистра 2
00C4 A1 SUB 1 Вычитание 5 из наибольшего среди 1,2,3,4. С устанавливается, если 5 больше
00C5 7C JCZ Проверка С на наличие заема, если заем есть, то 5 больше,
00C6     в противном случае, следующая команда опускается.
00C7      
00C8   LDR 2 Передача 5 в регистр 2, заменяющая наибольшее из 1,2,3,4, если 5 больше.
00C9      
00CA      
00CB   STR 2 Передача наибольшего элемента в ячейку 0108
00CC      
00CD      
Операция №4
00CE   LRI 1 Установка в регистрах H и L адреса
00CF     первого элемента
00D0   LRI 2  
00D1      
00D2   LRI 3 Установка начального значения
00D3     счетчика цикла равным 5
00D4   LRI 4 Установка частной суммы равной 0
00D5      
00D6   LRI 5 Загрузка константы 1 для уменьшения счетчика
00D7      
00D8   MOV 0 from 4 Прибавление числа
00D9 8F ADD F  
00DA   MOV 0 to 4  
00DB F5 IHL Увеличение H и L
00DC   MOV 0 from 3 Загрузка начального значения счётчика в Асс
00DD A5 SUB 5 Уменьшение счетчика на 1
00DE   MOV 0 to 3  
00DF 7D JAN Проверка конца цикла
00E0      
00E1 CB CB  
00E2   MOV 0 from 4 Загрузка данных из 4 регистра в Асс
00E3   STR 0 Передача содержимого Асс в ячейку 0110
00E4      
00E5      
Операция №6
    LRI 1 Установка в регистрах H и L адреса
      первого элемента
    LRI 2  
       
005А   PUSH Передача в стек
005B   LRI 1 Установка в регистрах H и L адреса
005C     второго элемента
005D   LRI 2  
005E      
005F   PUSH Передача в стек
  7F JMS Переход к подпрограмме в ячейку 00F4
       
  F4 F4  
Операция №1
    LDR 0 Передача содержимого ячейки памяти
      0102 в Асс
       
002A   LDR 1 Передача содержимого ячейки памяти
002B     0103 в регистр 1
002C      
002D   ADD 1 Сложение 0 и 1 регистров, сумма Асс
002E   STR 0 Передача содержимого Асс в ячейку 0107
002F      
       
       
       
Операция №2
  0C 0C  
    LDR 0 Передача содержимого ячейки памяти
      0104 в Асс
       
    ADD 1 Сложение 3 числа с константой, сумма Асс
    STR 0 Передача содержимого Асс в ячейку 010D
       
  0D 0D  
    LDR 0 Передача содержимого ячейки памяти
      0105 в Асс
004A      
004B   ADD 1 Сложение 4 числа с константой, сумма Асс
004C   STR 0 Передача содержимого Асс в ячейку 010E
004D      
004E 0E 0E  
004F   LDR 0 Передача содержимого ячейки памяти
      0106 в Асс
       
    ADD 1 Сложение 5 числа с константой, сумма Асс
    STR 0 Передача содержимого Асс в ячейку 010F
       
  0F 0F  
Операция №7
    LRI 5 Установка нулевых значений в Rн и RL
       
    LRI 6  
       
    LRI 1  
       
    LRI 2 Установка на счетчике начального
006A     значения 8
006B   LDR 4 Загрузка множителя в регистр 4
006C      
006D      
006E   MOV 0 from 4 Загрузка множителя в Асс
006F F2 RTR Циклический сдвиг вправо, мл.бит Асс попадает в С
    MOV 0 to 4 Запоминание сдвинутого множителя
    MOV 0 from 5 Загрузка ст. части произведения в Асс
  JCZ Тест бита множителя. Переход при 0
       
  7B 7B  
    LDR 3 Загрузка множимого в регистр 3
       
       
    ADD 3 Сложение множимого со ст. частью произведения
  F2 RTR Сдвиг Рн вправо, мл. бит в С
007A   MOV 0 to 5 Запоминание сдвинутого Rн
007B   MOV 0 from 6 Загрузка мл. части произведения в Асс
007C F2 RTR Сдвиг С и мл. части произведения вправо
007D   MOV 0 to 6 Запоминание сдвинутого RL
007E F6 DHL Уменьшение счетчика на 1
007F   MOV 0 from 2 Загрузка счетчика в аккумулятор
  7D JAN Тестирование Асс. Повторение
      цикла, если не нуль
       
    MOV 1 from 5 Передача ст.части произведения в регистр 1
    MOV 2 from 6 Передача мл.части произведения в регистр 2
    SТR 1 Передача содержимого регистра 1 в ячейку 0109
       
       
    SТR 2 Передача содержимого регистра 2 в ячейку 010А
       
008A  
Завершение операций
00E6 FA HLT Остановка программы
00E7   MOV 0 from 5 Начало подпрограммы для операции №5. Передача содержимого регистра 5 в Асс
00E8   STR 0 Передача содержимого Асс в ячейку 0111
00E9      
00EA      
00EB   MOV 1 from 6 Передача содержимого регистра 6 в регистр 1
00EC   STR 1 Передача содержимого регистра 1 в ячейку 0112
00ED      
00EE      
00EF   MOV 2 from 7 Передача содержимого регистра 7 в регистр 2
00F0   STR 2 Передача содержимого регистра 2 в ячейку 0113
00F1      
00F2      
00F3 F8 RET Возврат из подпрограммы операции № 5
00F4   POP Начало подпрограммы для операции №6. Извлечение данных из стека
00F5   STR 1 Передача содержимого регистра 1 в ячейку 0114
00F6      
00F7      
00F8   STR 2 Передача содержимого регистра 2 в ячейку 0115
00F9      
00FA      
00FB   POP Извлечение данных из стека
00FC   STR 1 Передача содержимого регистра 1 в ячейку 0116
       
00FD      
00FE   STR 2 Передача содержимого регистра 2 в ячейку 0117
00FF      
       
  F8 RET Возврата из подпрограммы операции № 6
      1 элемент массива
      2 элемент массива
      3 элемент массива
      4 элемент массива
      5 элемент массива
      Результат сложения 2 чисел
      Результат нахождения наибольшего числа
      Результат умножения двух чисел (ст.часть)
010A     Результат умножения двух чисел (мл.часть)
010B     Результат сложения 1 числа с константой
010C     Результат сложения 2 числа с константой
010D     Результат сложения 3 числа с константой
010E     Результат сложения 4 числа с константой
010F     Результат сложения 5 числа с константой
      Результат сложения всех чисел
      Данные из регистра
      Данные из регистра
      Данные из регистра
      Данные из стека
      Данные из стека
      Данные из стека
      Данные из стека

 

 

Date: 2016-07-25; view: 420; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию