Главная    Почта    Новости    Каталог    Одноклассники    Погода    Работа    Игры     Рефераты     Карты
  
по Казнету new!
по каталогу
в рефератах

Программирование в двоичных кодах

                               Адреса памяти.
001         200        B2                    мл. байт памяти.
002         000        В3                    ст. байт памяти.
003         001        LXIB                  Запись исходных данных
                                             в регистры В и С
004         001        В2                    В2((С)
005         010        В3                    В3((В)
006         160        MOV M,B               Запоминание (В)
007         043        INX H                 Формирование следующего
                                             адреса памяти.
010         161        MOV M,C               Запоминание (С)
011         166        HLT                   Останов.

После выполнения  программы   сегмент
данных будет иметь следующий
вид:

Адрес       Содержимое
      200. 001
      201. 010


                                Программа №2


Позволяет занести содержимое  регистров  В  и  С  в  стек(выбранный  участок
памяти).

Адреса      Команды    Мнемоника команд      Комментарии
000         061        LXI SP                Установка указателя
                                             стека.
001         202        В2                    мл.байт адреса.
002         000        В3                    ст.байт адреса.
003         001        LXI B                 Запись исходных данных
                                             в регистры В и С.
004         001        В2
005         010        В3
006         305        PUSH B                Запоминание содержимого
                                             регистров В и С в стеке.
007         166        HLT                   Останов.

Содержимое ячеек после выполнения программы:

Адрес       Содержимое
      200. 001
      201. 010

                                Программа №3

Извлечение данных из стека, их изменение и занесение обратно в стек.
Запишем в стек (H=000, L=200 и H=000, L=201 ) числа 001 и 200 .

Адрес       Команды    Мнемоника команд Комментарии
000         061        LXI SP
001         200        В2
002         000        В3
003         301        POP B                 Извлечение данных
                                             из стека и загрузка их
                                             в регистровую пару В и С
004         004        INR B                 Увеличение на единицу
                                             регистра В
005         015        DCR C                 Уменьшение на единицу
                                             содержимого регистра С
006         305        PUSH B                Запоминание в стеке
007         166        HLT

Содержимое ячеек до выполнения программы:
|Адре|Содержимое|
|с   |          |
|200 |001       |
|201 |200       |

Содержимое ячеек после выполнения программы:

|Адре|Содержимое|
|с   |          |
|200 |000       |
|201 |201       |

                                Программа №4

Сложение содержимого регистра с содержимым ячейки памяти

|Адреса  |Команды |Мнемоника команд|Комментарии                      |
|000     |041     |LXI H           |                                 |
|001     |200     |B2              |                                 |
|002     |000     |B3              |                                 |
|003     |076     |MVI A           |Непосредственная  загрузка А     |
|        |        |                |одним                            |
|        |        |                |одним из слагаемых               |
|004     |010     |B2              |                                 |
|005     |206     |ADD M           |Сложение содержимого А с         |
|        |        |                |содержимым ячейки памяти         |
|006     |167     |MOV M,A         |                                 |
|007     |166     |HLT             |                                 |

Содержимое ячеек до выполнения программы:
|Адре|Содержимое|
|с   |          |
|200 |100       |

Содержимое ячеек после выполнения программы:
|Адре|Содержимое|
|с   |          |
|200 |110       |


                               Программа №4.1


Сложение двоично-десятичных чисел.

|Адреса  |Команды  |Мнемоника команд  |Комментарии       |
|000     |041      |LXI H             |                  |
|001     |200      |B2                |                  |
|002     |000      |B3                |                  |
|003     |076      |MVI A             |                  |
|004     |010      |B2                |                  |
|005     |206      |ADD M             |(A)+(M)((A)       |
|006     |047      |DAA               |Десятичная        |
|        |         |                  |коррекция         |
|007     |167      |MOV M,A           |                  |
|010     |166      |HLT               |                  |

Содержимое ячеек до выполнения программы:
|Адре|Содержимое|
|с   |          |
|200 |051 (29)  |

Содержимое ячеек после выполнения программы:
|Адре|Содержимое|
|с   |          |
|200 |067 (37)  |

                               Программа №4.2

Вычитание двоично-десятичных чисел

|Адрес|Команд|Мнемоника      |
|а    |ы     |команд         |
|000  |041   |LXI H          |
|001  |200   |B2             |
|002  |000   |B3             |
|003  |006   |MVI B          |
|004  |      |B2             |
|005  |076   |MVI A          |
|006  |231   |99             |
|007  |220   |SUB B          |
|010  |074   |INR A          |
|011  |206   |ADD            |
|012  |047   |DAA            |
|013  |167   |MOV M,A        |
|014  |166   |HLT            |

Содержимое ячеек до выполнения программы:
|Адре|Содержимое|
|с   |          |
|200 |045 (25)  |


Содержимое ячеек после выполнения программы:
|Адре|Содержимое|
|с   |          |
|200 |007 (07)  |

                                Программа №5

Логическая операция, сдвиг числа и запоминание слова состояния
|Адрес|Команды |Мнемоника команд |Комментарии                     |
|а    |        |                 |                                |
|000  |006     |MVI B            |                                |
|001  |200     |B2               |                                |
|002  |076     |MVI A            |                                |
|003  |001     |B2               |                                |
|004  |250     |XRA              |Сложение по mod2 содержимого А и|
|     |        |                 |В.                              |
|005  |027     |RAL              |Циклический сдвиг влево через   |
|     |        |                 |перенос.                        |
|006  |061     |LXI SP           |                                |
|007  |202     |B2               |                                |
|010  |000     |B3               |                                |
|011  |365     |PUSH PSW         |Запоминание в стеке Слова       |
|     |        |                 |Состояния Программы.            |
|012  |166     |HLT              |                                |


Анализ значений Слова Состояния Программы


|Мнемоника      |Значение PSW    |
|команды        |                |
|               |(A)    |РгF    |
|MVI B 200      |xxxxxxx|xx0x0x1|
|               |x      |x      |
|MVI A 001      |0000000|xx0x0x1|
|               |1      |x      |
|XRA B          |1000000|1000011|
|               |1      |0      |
|RAL            |0000001|1000011|
|               |0      |1      |
|LXI SP 202 000 |0000001|1000011|
|               |0      |1      |
|PUSH PSW       |0000001|1000011|
|               |0      |1      |
|HLT            |0000001|1000011|
|               |0      |1      |

Содержимое ячеек после выполнения программы:
|Адре|Содержимое|
|с   |          |
|200 |207       |
|201 |002       |

                                Программа №6

Обнуление области памяти. Программа  пересылает  нулевое  содержимое  какого
либо регистра в ячейку памяти.

|Адрес|Команды |Мнемоника команд |Комментарий                     |
|а    |        |                 |                                |
|000  |227     |SUB A            |Обнуление А                     |
|001  |041     |LXI H            |                                |
|002  |011     |B2               |                                |
|003  |000     |B3               |                                |
|004  |167     |MOV M,A          |Обнуление ячейки памяти по      |
|     |        |                 |адресу HL                       |
|005  |043     |INX H            |Адрес следующей ячейки          |
|006  |303     |JMP              |Безусловный переход по адресу   |
|007  |004     |B2               |мл.байт                         |
|010  |000     |B3               |ст.байт                         |

Содержимое ячеек до выполнения программы:
|Адре|Содержимое|
|с   |          |
|011 |Xxx       |
|... |Xxx       |
|040 |Xxx       |

Содержимое ячеек после выполнения программы:
|Адре|Содержимое|
|с   |          |
|011 |000       |
|... |000       |
|040 |000       |

                                Программа №7

Режим задания команд с клавиатуры
|Адреса  |Команды |Мнемоника команд |
|100 200 |166     |HLT              |



Задание с клавиатуры

|Команд|Мнемоника      |
|ы     |команд         |
|303   |JMP            |
|200   |B2             |
|100   |B3             |


                                Программа №8

Условные переходы. Программа позволяет изучить действие условных  переходов.
По адресу H=000,L=200  запишем  число  002(соответствует  нулевому  значению
всех флагов в регистре признаков), а по адресу H=000,L=004 –  число  302(код
команды условного перехода по ненулевому результату JNZ).

|Адрес|Команды |Мнемоника команд |Комментарии                          |
|а    |        |                 |                                     |
|000  |061     |LXI SP           |                                     |
1234
скачать работу

Программирование в двоичных кодах

 

Отправка СМС бесплатно

На правах рекламы


ZERO.kz
 
Модератор сайта RESURS.KZ