Программа 3 на языке Ассемблера

 

Ниже приведена таблица, в которой дано подробное описание программы 3 на языке Ассемблера в машинных кодах, а также мнемокод, описание и комментарий к каждой команде.


Таблица 4.

Метки Адрес Данные Мнемокод Описание команды Комментарий к команде
М6 0800 0801 DB 01 IN 01  (A)  (01) Ввод в порт по адресу 01h входных данных  
  0802 47 MOV B,A  (B)  (A) сохранение аккумулятора в регистре В  
  0803 0F RRC СДВИГ ВПРАВО сдвиг аккумулятора вправо на один разряд
  0804 0805 0806 D2 23 08 JNС M1 JMP if С=0 Переход при выполнении условия С=0
  0807 0F RRC СДВИГ ВПРАВО сдвиг аккумулятора вправо на один разряд
  0808 0809 080А D2 28 08 JNС M2 JMP if С=0 Переход при выполнении условия С=0
  080В 0F RRC СДВИГ ВПРАВО сдвиг аккумулятора вправо на один разряд
  080С 080D 080E D2 23 08 JNС M1 JMP if С=0 Переход при выполнении условия С=0
  080F 0F RRC СДВИГ ВПРАВО сдвиг аккумулятора вправо на один разряд
  0810 0811 0812 DA 28 08 JС M2 JMP if С=1 Переход при выполнении условия С=1
  0813 0F RRC СДВИГ ВПРАВО сдвиг аккумулятора вправо на один разряд
  0814 0F RRC СДВИГ ВПРАВО сдвиг аккумулятора вправо на один разряд
  0815 0F RRC СДВИГ ВПРАВО сдвиг аккумулятора вправо на один разряд
  0816 0817 0818 DA 23 08 JС M1 JMP if С=1 Переход при выполнении условия С=1
  0819 07 RLC СДВИГ ВЛЕВО сдвиг аккумулятора влево на один разряд
  081A 07 RLC СДВИГ ВЛЕВО сдвиг аккумулятора влево на один разряд
  081B 07 RLC СДВИГ ВЛЕВО сдвиг аккумулятора влево на один разряд
  081C 081D 081E D2 28 08 JNС M2 JMP if С=0 Переход при выполнении условия С=0
  081F 0F RRC СДВИГ ВПРАВО сдвиг аккумулятора вправо на один разряд
  0820 0821 0822 DA 28 08 JС M2 JMP if С=1 Переход при выполнении условия С=1
М1 0823 0824 16 00 MVI D,00h  (D) 00hзапись данных 00h в аккумулятор  
  0825 0826 0827 C3 2A 08 JMP M3 JMP Безусловный переход на метку М3
М2 0828 0829 16 01 MVI D,01h  (D) 01hзапись данных 10h в аккумулятор  
M3 082A 78 MOV A,B  (A)  (B) загрузка данных с регистра В в аккумулятор  
  082B 07 RLC СДВИГ ВЛЕВО сдвиг аккумулятора влево на один разряд
  082C 07 RLC СДВИГ ВЛЕВО сдвиг аккумулятора влево на один разряд
  082D 07 RLC СДВИГ ВЛЕВО сдвиг аккумулятора влево на один разряд
  082E 07 RLC СДВИГ ВЛЕВО сдвиг аккумулятора влево на один разряд
  082F 0830 0831 D2 57 08 JNС M4 JMP if С=0 Переход при выполнении условия С=0
  0832 07 RLC СДВИГ ВЛЕВО сдвиг аккумулятора влево на один разряд
  0833 0834 0835 DA 42 08 JС M5 JMP if С=1 Переход при выполнении условия С=1
  0836 07 RLC СДВИГ ВЛЕВО сдвиг аккумулятора влево на один разряд
  0837 0838 0839 D2 42 08 JNС M5 JMP if С=0 Переход при выполнении условия С=0
  083A 083B 3Е 02 MVI A,02h  (A) 02hзапись данных 02h в аккумулятор  
  083C B2 ORA D  (A)  (A)  (D) логическое сложение аккумулятора и данных в D  
  083D 083E D3 80 OUT 80  (80)  (A) Вывод в порт по адресу 80h выходных данных  
  083F 0840 0841 C3 00 08 JMP M6 JMP Безусловный переход на начало программы
M5 0842 78 MOV A,B  (A)  (B) загрузка данных с регистра В в аккумулятор  
  0843 0F RRC СДВИГ ВПРАВО сдвиг аккумулятора вправо на один разряд
  0844 0F RRC СДВИГ ВПРАВО сдвиг аккумулятора вправо на один разряд
  0845 0846 0847 D2 57 08 JNС M4 JMP if С=0 Переход при выполнении условия С=0
  0848 0F RRC СДВИГ ВПРАВО сдвиг аккумулятора вправо на один разряд
  0849 0F RRC СДВИГ ВПРАВО сдвиг аккумулятора вправо на один разряд
  084A 0F RRC СДВИГ ВПРАВО сдвиг аккумулятора вправо на один разряд
  084B 0F RRC СДВИГ ВПРАВО сдвиг аккумулятора вправо на один разряд
  084C 084D 084E DA 57 08 JС M4 JMP if С=1 Переход при выполнении условия С=1
  084F 0850 3Е 02 MVI A,02h  (A) 02hзапись данных 02h в аккумулятор  
  0851 B2 ORA D  (A)  (A)  (D) логическое сложение аккумулятора и данных в D  
  0852 0853 D3 80 OUT 80  (80)  (A) Вывод в порт по адресу 80h выходных данных  
  0854 0855 0856 C3 00 08 JMP M6 JMP Безусловный переход на начало программы
М4 0857 0858 3Е 00 MVI A,00h  (A) 00hзапись данных 00h в аккумулятор  
  0859 B2 ORA D  (A)  (A)  (D) логическое сложение аккумулятора и данных в D  
  085A 085B D3 80 OUT 80  (80)  (A) Вывод в порт по адресу 80h выходных данных  
  085C 085D 085E C3 00 08 JMP M6 JMP Безусловный переход на начало программы




Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: