Команды передачи управления
JMP |
Безусловный переход |
11000011 |
3 |
10 |
3 |
- - - - - |
JC |
Переход при наличии переноса |
11011010 |
3 |
10 |
3 |
- - - - - |
JNC |
Переход при отсутствии переноса |
11010010 |
3 |
10 |
3 |
- - - - - |
JZ |
Переход при нуле |
11001010 |
3 |
10 |
3 |
- - - - - |
JNZ |
Переход при отсутствии нуля |
11000010 |
3 |
10 |
3 |
- - - - - |
JP |
Переход при плюсе |
11110010 |
3 |
10 |
3 |
- - - - - |
JM |
Переход при минусе |
11111010 |
3 |
10 |
3 |
- - - - - |
JPE |
Переход при четности |
11101010 |
3 |
10 |
3 |
- - - - - |
JPO |
Переход при нечетности |
11100010 |
3 |
10 |
3 |
- - - - - |
PCHL |
Занесение в счетчик команд содержимого регистра H—L |
11101001 |
1 |
5 |
1 |
- - - - - |
CALL |
Вызов подпрограммы |
11001101 |
3 |
17 |
5 |
- - - - - |
CC |
То же, но при переносе |
11011100 |
3 |
11/17 |
3/5 |
- - - - - |
CNC |
То же, но при отсутствии переноса |
11010100 |
3 |
11/17 |
3/5 |
- - - - - |
CZ |
Вызов подпрограммы при нуле |
11001100 |
3 |
11/17 |
3/5 |
- - - - - |
CNZ |
То же, но при отсутствии нуля |
11000100 |
3 |
11/17 |
3/5 |
- - - - - |
CP |
Вызов подпрограммы при плюсе |
11110100 |
3 |
11/17 |
3/5 |
- - - - - |
CM |
То же, но при минусе |
11111100 |
3 |
11/17 |
3/5 |
- - - - - |
CPE |
Вызов подпрограммы при четности |
11101100 |
3 |
11/17 |
3/5 |
- - - - - |
CPO |
То же, но при нечетности |
11100100 |
3 |
11/17 |
3/5 |
- - - - - |
RET |
Возврат |
11001001 |
1 |
10 |
3 |
- - - - - |
RC |
Возврат при переносе |
11011000 |
1 |
5/11 |
1/3 |
- - - - - |
RNC |
Возврат при отсутствии переноса |
11010000 |
1 |
5/11 |
1/3 |
- - - - - |
RZ |
Возврат при нуле |
11001000 |
1 |
5/11 |
1/3 |
- - - - - |
RNZ |
Возврат при отсутствии нуля |
11000000 |
1 |
5/11 |
1/3 |
- - - - - |
RP |
Возврат при плюсе |
11110000 |
1 |
5/11 |
1/3 |
- - - - - |
RM |
Возврат при минусе |
11111000 |
1 |
5/11 |
1/3 |
- - - - - |
RPE |
Возврат при четности |
11101000 |
1 |
5/11 |
1/3 |
- - - - - |
RPO |
Возврат при нечетности |
11100000 |
1 |
5/11 |
1/3 |
- - - - - |
RST |
Повторный запуск |
11NNN111 |
1 |
11 |
3 |
- - - - - |
Команды ввода-вывода и прочие команды
IN |
Ввод |
11011011 |
2 |
10 |
3 |
- - - - - |
OUT |
Вывод |
11010011 |
2 |
10 |
3 |
- - - - - |
CMA |
Инвертирование аккумулятора |
00101111 |
1 |
4 |
1 |
- - - - - |
STC |
Установка флага переноса в единицу |
00110111 |
1 |
4 |
1 |
- - - - 1 |
CMC |
Инвертирование флага переноса |
00111111 |
1 |
4 |
1 |
- - - - ØС |
EI |
Разрешить прерывание |
11111011 |
1 |
4 |
1 |
- - - - - |
DI |
Запретить прерывание |
11110011 |
1 |
4 |
1 |
- - - - - |
DAA |
Двоично-десятичная коррекция содержимого аккумулятора |
00100111 |
1 |
4 |
1 |
+ + + + + |
NOP |
Отсутствие операции |
00000000 |
1 |
4 |
1 |
- - - - - |
HLT |
Останов |
01110110 |
1 |
7 |
1 |
- - - - - |
Примечания:
1. DDD, SSS —3-разрядные поля в формате команды, адресующие один из регистров общего назначения или в качестве места назначения (D), или в качестве источника операнда (S);
2. RR — 2-разрядное поле в формате команды, адресующее один из парных регистров;
3. PSW — слово состояния программы, первый байт которого равен содержимому A, второй — содержимому F;
4. NNN — двоичное представление номера команды RST;
5. + — установка или сброс флага условия;
6. - — отсутствие влияния на флаг;
7. В знаменателе дроби указано число тактов при выполнении рассматриваемого в команде условия, в числителе — при невыполнении.
4. Программирование на машинном языке (в машинных кодах)
При программировании на машинном языке все элементы программы (коды операций, адреса, данные) представляются в 16-ричной форме, но внутри МП системы информация представляется в 2-ичной форме. Коды команд в 16-ричной форме см. табл. 6.
При программировании используется специальный бланк, имеющий следующий формат:
Адрес |
Код операции |
<B2> |
<B3> |
Пример. (Часть курсового проекта)
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.