КОДЫ КОМАНД МИКРОПРОЦЕССОРОВ i8080/i8085




1 \ 2 _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F
0_ NOP LXI B,& STAX B INX B INR B DCR B MVI B,# RLC __ DAD B LDAX B DCX B INR C DCR C MVI C,# RRC
1_ __ LXI D,& STAX D INX D INR D DCR D MVI D,# RAL __ DAD D LDAX D DCX D INR E DCR E MVI E,# RAR
2_ RIM LXI H,& SHLD* INX H INR H DCR H MVI H,# DAA __ DAD H LHLD * DCX H INR L DCR L MVI L,# CMA
3_ SIM LXI SP,& STA * INX SP INR M DCR M MVI M,# STC __ DAD SP LDA * DCX SP INR A DCR A MVI A,# CMC
4_ MOV B,B MOV B,C MOV B,D MOV B,E MOV B,H MOV B,L MOV B,M MOV B,A MOV C,B MOV C,C MOV C,D MOV C,E MOV C,H MOV C,L MOV C,M MOV C,A
5_ MOV D,B MOV D,C MOV D,D MOV D,E MOV D,H MOV D,L MOV D,M MOV D,A MOV E,B MOV E,C MOV E,D MOV E,E MOV E,H MOV E,L MOV E,M MOV E,A
6_ MOV H,B MOV H,C MOV H,D MOV H,E MOV H,H MOV H,L MOV H,M MOV H,A MOV L,B MOV L,C MOV L,D MOV L,E MOV L,H MOV L,L MOV L,M MOV L,A
7_ MOV M,B MOV M,C MOV M,D MOV M,E MOV M,H MOV M,L HLT MOV M,A MOV A,B MOV A,C MOV A,D MOV A,E MOV A,H MOV A,L MOV A,M MOV A,A
8_ ADD B ADD C ADD D ADD E ADD H ADD L ADD M ADD A ADC B ADC C ADC D ADC E ADC H ADC L ADC M ADC A
9_ SUB B SUB C SUB D SUB E SUB H SUB L SUB M SUB A SBB B SBB C SBB D SBB E SBB H SBB L SBB M SBB A
A_ ANA B ANA C ANA D ANA E ANA H ANA L ANA M ANA A XRA B XRA C XRA D XRA E XRA H XRA L XRA M XRA A
B_ ORA B ORA C ORA D ORA E ORA H ORA L ORA M ORA A CMP B CMP C CMP D CMP E CMP H CMP L CMP M CMP A
C_ RNZ POP B JNZ * JMP * CNZ * PUSH B ADI # RST RZ RET JZ * __ CZ * CALL * ACI # RST
D_ RNC POP D JNC * OUT N CNC * PUSH D SUI # RST RC __ JC * IN N CC * __ SBI # RST
E_ RPO POP H JPO * XTHL CPO * PUSH H ANI # RST RPE PCHL JPE * XCHG CPE * __ XRI # RST
F_ RPO POP PSW JP * DI CP * PUSH PSW ORI # RST RM SPHL JM * EI CM * __ CPI # RST

N - номер порта ввода-вывода (D8) ПРИМЕРЫ: Команда STAX D имеет код операции 12;

& - двухбайтовый операнд (D16) код операции CA соответствует команде JZ ADR.

* - двухбайтовый операнд (ADR) PSW включает аккумулятор A и регистр флагов F

# - однобайтовый операнд (D8) Команды SIM и RIM относятся только к i8085

ФОРМАТ РЕГИСТРА ФЛАГОВ F

D7 D6 D5 D4 D3 D2 D1 D0
S Z - AC - P - CY
знак нуль   вспомог. перенос   четность   перенос

 

ПРИЛОЖЕНИЕ 2 отладчики DDT и SID. Справочные данные

DDT

 

ddt загружается вместо ccp

Форматы команды:

ddt

ddt имя файла.hex

ddt имя файла.com

 

Управляющие символы:

rubout стирание последнего введенного символа

ctrl-u стирание введеной строки

ctrl-c перезагрузка cp/m

 

Команды:

as выдача ассемблерной мнемоники с операндами, s-стартовый адрес

d вывод содержимого памяти в шестнадцатеричных кодах; начиная с данного адреса; выводится 16 строк.

ds вывод содержимого памяти, начиная с адреса s

ds,f вывод содержимого памяти, начиная с адреса s и кончая f.

fs,f,c заполнить область памяти, начиная с адреса s и кончая адресом f шестнадцатеричной константой c.

g начать выполнение программы с текущего адреса

gs начать выполнение программы с адреса s.

gs,b начать выполнение программы с адресаs и остановиться по адресу b.

gs,b,c здесь заданы две точки остановки: b и c.

g,b начать выполнение программы с текущего адреса с остановкой по адресу b.

g,b,c начать выполнение программы с текущего адреса с остановкой по адресу b или c.

i имя файла занести в управляющий блок файла заданное имя файла.

i имя файла.тип файла занести в управляющий блок файла заданное имя и тип файла.

l распечатать 12 строк дизассемблированных машинных кодов, начиная с текущего адреса.

ls распечатать 12 строк, начиная с адреса s.

ls,f распечатать строки дизассемблирования, начиная с адреса s и кончая адресом f.

ms,f,d переслать в область памяти, начинающуюся с адреса s и кончающуюся адресом f, область памяти начинающуюся с адреса d.

r[b] считать с диска файл с заданным в fcb именем (см. Команду i) в tpa; b-необязательный параметр смещения.

ss просмотр и модификация области памяти, начиная с адреса s.

t трассировать один шаг программы.

tn трассировать n шагов программы.

x вывести на консоль содержимое всех регистров.

xr вывести на консоль (и возможно изменить) содержимое регистра r.

 

 

SID

A Assemble M Move

C Call P Pass Point

D Display R Read

F Fill Memory S Set Memory

G Go T Trace

H Hex U Untrace

I Input Line X Examine

L List Mnemonics

 


 

ПРИЛОЖЕНИЕ 3 Ассемблер ASM и макроассемблер MAC. Справочные данные

ASM

 

Вызов двухпроходного ассемблера и трансляция файла с заданным именем.

Вызов команды:

asm имя файла (1)

asm имя файла.p1p2p3 (2)

 

В любом случае файл должен иметь тип asm.

 

p1 - диск,содержащий исходный файл

p2 - диск,на который будет записываться hex файл

(если p2=z,то hex файл не создается)

p3 - диск,на который будет записываться prn файл,

т.е. файл с листингом (если p3=x,то листинг

выводится на консоль;если p3=z,то prn файл

не создается)

 

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

 

номер метка операция операнд;примечания

 

типы меток: идентификатор или

идентификатор:

 

Идентификатор состоит из букв и цифр и начинается с буквы, длина

идентификатора не должна превышать 16 знаков. Знак * игнорируется.

 

типы констант:

b двоичная константа

q восьмеричная константа

d десятичная константа

h шестнадцатеричная константа

 

Строковые константы представляют собой набор знаков ascii,

заключенный в апострофы.

 

Зарезервированные имена:имена всех регистров,имена машинных

инструкций и директив ассемблера.

 

Арифметические и логические операторы:

 

a+b беззнаковое сложение a и b

a-b беззнаковое вычитание b из a

+b унарный плюс

-b унарный минус

a*b беззнаковое умножение a на b

a/b беззнаковое деление a на b

a mod b остаток от деления a на b

not b логическая инверсия b

a and b логическое ''и''

a or b логическое ''или''

a xor b логическое ''исключающее или''

a shl b сдвиг а влево на в битов, дополнение нулями

a shr b сдвиг а вправо на в битов, ополнение нулями

 

Приоритет операторов

* / mod shl shr - + not and or xor

 

Директивы ассемблера

 

org установить значение счетчика адреса

end конец программы, может присутствовать стартовый адрес

equ числовое ''приравнять''

set числовое ''установить''

if начало условного ассемблирования

endif конец условного ассемблирования

db задать байт данных

dw задать слово данных

ds отвести область памяти

 

Список инструкций совпадает со списком инструкций микропроцессора

intel 8080

 

Сообщения об ошибках:

 

d ошибка в данных: элемент данных не может быть помещен

в указанную область памяти

e неверное выражение: выражение неверно образовано и не

может быть вычислено в процессе ассемблирования

l неверная метка: метка не может появиться в данном

контексте(может быть двойное определение)

n не реализовано:возможности, которые будут присутство-

вать в следующих версиях asm

o переполнение: очень сложное выражение

p ошибка фазы: метка получает разные значения при двух

последовательных проходах по программе

r регистровая ошибка: значение заданное в качестве ре-

гистра, не соответствует коду инструкции

v ошибка значения: операнд, вычисленный в выражении, не-

верно образован

 

no source file present файл заданный в команде asm, не существует на диске

no directory space каталог диска заполнен

source file name error неверно задано имя файла asm

source file read error ошибка при чтении исходного файла

output file write error ошибка при записи выходного файла

cannot close file выходной файл не может быть закрыт

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: