Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1 ИССЛЕДОВАНИЕ СИСТЕМЫ КОМАНД.doc
Скачиваний:
15
Добавлен:
22.11.2019
Размер:
447.49 Кб
Скачать

1000Н: 76 10 mov @r0, #10h Запись байта 10h в ячейку памяти данных, адрес которой содержится в регистре r0

Регистровая адресация (Register Instruction).

Данная адресация применяется для доступа к регистрам R0-R7 выбранного банка. Команды с регистровой адресацией содержат в байте кода операции 3-битовое поле, определяющее номер регистра. Выбор одного из 4 регистровых банков осуществляется программированием битов селектора банка (RS1, RS0) в PSW. Например:

1000H: a8 50 mov r0, 50h Пересылка содержимого ячейки встроенной памяти данных 50h в регистр r0

Непосредственная адресация (Immediate constants).

Операнд содержится непосредственно в поле команды вслед за кодом операции и занимает один или два байта (data8, data16). Например:

1000H: 75 10 08 mov 10н, #00001000b Загрузка числа 08н в ячейку с адресом 10н

Индексная адресация (Indexed Addressing).

Индексная адресация используется при обращении к памяти программ и только при чтении. 16-битовый регистр (DPTR или PC) указывает базовый адрес требуемой таблицы, а аккумулятор указывает на точку входа в нее. Адрес элемента таблицы находится сложением базы с индексом (содержимым аккумулятора). Например:

1000H: 93 MOVC A,@A+DPTR (A)  ((A)+(DPTR))

Другой тип индексной адресации применяется в командах "перехода по выбору". При этом адрес перехода вычисляется как сумма указателя базы и аккумулятора.

Неявная адресация (Register-Specific Instructions).

Некоторые инструкции используют индивидуальные регистры (например, операции с аккумулятором, DPTR), при этом данные регистры не имеют адреса, указывающего на них; это заложено в код операции.

В командах PUSH и POP используется указатель стека (SP).

2.4. Кроссассемблер-эмулятор Single-Chip Machine

Программный комплекс SCM (Single-Chip Machine) выполнен в виде независимого запускаемого модуля, работающего под управлением операционной системы MS Window 95/98/2000/NT/XP. В его состав входят два основных модуля: редактор-компилятор программ на ассемблере и эмулятор-отладчик полученного программного кода. Выполнение программы пользователя осуществляется с максимальным приближением к действительности с помощью имитационной модели (см. рис.1). Кроме того, пользователю предоставляется такие средства, как временные диаграммы внутренних и внешних сигналов, имитация внешних сигналов, возможность изменения значений регистров в процессе работы модели и др.

Для редактирования и компиляции программ на ассемблере используется встроенный текстовый редактор. При нажатии кнопки “компиляция” текст программы переводится в машинный код и записывается в одноименный с исходным текстом файл с расширением “.MPM” (Microcontroller Program Memory). SCM по умолчанию работает с MPM-файлами, но также может работать с файлами стандартного формата HEX. Скомпилированный программный модуль автоматический загружается в отладчик, где отображается содержимое ПЗУ в окрестностях ячейки соответствующей текущему состоянию счетчика команд, текущая команда подсвечивается синим курсором.

Программа имеет несколько режимов трассировки:

  • потактовый, в котором отображается каждый элементарный акт передачи адреса или данных по соответствующим шинам,

  • поцикловый, (каждая команда выполняется за 1-2 машинных цикла, умножение и деление – за 3);

  • пошаговый, выполняющий по одной инструкции процессора за один шаг;

  • с использованием точек останова;

  • а также режим отката с полным восстановлением состояния всех регистров и ячеек памяти в предыдущей точке.

Также возможна регулировка скорости выполнения программы от обычной и ускоренной до мгновенной, не выполняющей отображение хода выполнения программы.