1. Команды перемещения данных
1.1. Команды регистрового обмена (пересылка данных из регистра в регистр МП)
Функция |
Перевод |
Мнемоника |
Число байт |
Q-код |
H-код |
Объектный код |
Число тактов |
Переместить |
Move |
MOVR1,R2 |
1 |
1DS |
40+ 8R1+R2 |
01dddsss |
5 |
Примечание.
1. Под R1 понимается регистр приемник, а под R2 регистр передатчик.
2. Под R понимаются регистры A, B, C, D, E, H, L и M.
3. М – ячейка памяти, адрес которой находится в паре регистров Н,L.
MOV R1, R2 (R1 ¬ R2).
А,А |
7f |
B,A |
47 |
C,A |
4f |
D,A |
57 |
E,A |
5f |
H,A 67 |
L,A 6f |
M,A 77 |
A,B |
78 |
B,B |
40 |
C,B |
48 |
D,B |
50 |
E,B |
58 |
H,B 60 |
L,B 68 |
M,B 70 |
A,C |
79 |
B,C |
41 |
C,C |
49 |
D,C |
51 |
E,C |
59 |
H,C 61 |
L,C 69 |
M,C 71 |
A,D |
7a |
B,D |
42 |
C,D |
4a |
D,D |
52 |
E,D |
5a |
H,D 62 |
L,D 6a |
M,D 72 |
A,E |
7b |
B,E |
43 |
C,E |
4b |
D,E |
53 |
E,E |
5b |
H,E 63 |
L,E 6b |
M,E 73 |
A,H |
7c |
B,H |
44 |
C,H |
4c |
D,H |
54 |
E,H |
5c |
H,H 64 |
L,H 6c |
M,H 74 |
A,L |
7d |
B,L |
45 |
C,L |
4d |
D,L |
55 |
E,L |
5d |
H,L 65 |
L,L 6d |
M,L 75 |
A,M |
7e |
B,M |
46 |
C,M |
4e |
D,M |
56 |
E,M |
5e |
H,M 66 |
L,M 6e |
Пример команды: MOV С,D – переслать число из регистра D в регистр С. Код команды – 4а.
1.2. Команды перемещения данных с непосредственной адресацией (пересылка второго байта во внутренний регистр)
Функция |
Перевод |
Мнемоника |
Число байт |
Q-код |
H-код |
Объектный код |
Число тактов |
Переслать (переместить) непосредственно |
Move Immediate |
MVI R N0 |
2 |
0D6 |
06+8R |
00ddd110 |
7 |
Примечание.
1. Под R понимается регистр приемник, а под N0 байт данных.
2. Под R понимаются регистры A, B, C, D, E, H, L и M.
А |
байт |
3e |
ХХ |
C |
байт |
0e |
ХХ |
E |
байт |
1e |
ХХ |
L |
байт |
2e |
ХХ |
B |
байт |
06 |
ХХ |
D |
байт |
16 |
ХХ |
H |
байт |
26 |
ХХ |
M |
байт |
36 |
ХХ |
Пример команды:
MVI С,h’15 – переслать число h’15 в регистр С. Код команды – 0е 15.
1.3. Команды загрузки аккумулятора и запоминания данных
Функция |
Перевод |
Мнемоника |
Число байт |
Q-код |
H-код |
Объектный код |
Число тактов |
Загрузить |
Load Accumulator |
LDA N0 N1 |
3 |
072 |
3А |
00111010 |
13 |
Запомнить |
Store Accumulator |
STA N0 N1 |
3 |
062 |
32 |
00110010 |
13 |
Загрузить с непосредственной адресацией |
Load Accumulator Extended |
LDAXR |
1 |
0R2 |
0A+8R |
00rrr010 |
7 |
Запомнить с непосредственной адресацией |
Store Accumulator Extended |
STAX R |
1 |
0R2 |
0A+8R |
00rrr010 |
7 |
Примечание.
1. Под R понимается регистр приемник, а под N0 первый байт данных, под N1 второй байт данных.
2. Под R понимаются регистры A, B, C, D, E, H, L и M.
1.3.1. Команды загрузки памяти (3 байта)
LDA (адр) 3a XX YY |
Содержимое ячейки памяти, адрес которой указан в команде, пересылается в аккумулятор. |
STA (адр) 32 XX YY |
Содержимое аккумулятора пересылается в ячейку памяти, адрес которой указан в команде. |
Пример команды:
1. LDAh’0124 – загрузить в аккумулятор число находящееся в ячейке памяти №0124. Код команды – 3а 24 01.
2. STAh’0124 – переслать число из аккумулятора в ячейку памяти с №0124. Код команды – 32 24 01.
1.3.2. Пересылка в память и из памяти(1 байт)
LDAX B 0a LDAX D 1a |
Cодержимое ячейки памяти, адрес которой указан в паре регистров BC (DE), пересылается в аккумулятор (регистр А) |
STAX B 02 STAX D 12 |
Содержимое аккумулятора пересылается в ячейку, адрес которой указан в паре регистров BC (DE). |
Пример команды:
1. LDAXD – загрузить в аккумулятор число находящееся в ячейке памяти, адрес которой находится в регистрах DE. Код команды – 1a.
2. STAXB – содержимое аккумулятора (число находящееся в аккумуляторе) переслать в ячейку памяти, адрес которой находится в регистрах BC. Код команды – 02.
1.4. Команды загрузки указателей памяти и запоминания данных
Функция |
Перевод |
Мнемоника |
Число байт |
Q-код |
H-код |
Объектный код |
Число тактов |
Загрузить в непосредственном представлении |
Load Extended Immediate |
LXI R N0 N1 |
3 |
0D1 |
01+8R |
00ddd001 |
10 |
Загрузить в непосредственном представлении |
Load Extended Immediate |
LXI SP N0 N1 |
3 |
061 |
31 |
00110001 |
10 |
Загрузить в пару регистров H,L |
Load HL Direct |
LHLD N0 N1 |
3 |
052 |
2А |
00101010 |
16 |
Запомнить содержимое пары регистров H,L |
Store HL Direct |
SHLD N0 N1 |
3 |
042 |
22 |
00100010 |
16 |
1.4.1. Пересылка второго и третьего байтов в пару внутренних регистров или указатель стека
LXIr1, 2 байта
B |
2 байта |
01 |
XX |
УУ |
D |
2 байта |
11 |
XX |
УУ |
Н |
2 байта |
21 |
XX |
УУ |
SP |
2 байта |
31 |
XX |
УУ |
Пример команды:
LXID,h’0124 – загрузить в регистр D число 0124. Код команды – 11 24 01.
1.4.2. Пересылка в память и из памяти по адресу, указанному в команде
LHLD (адр.) 2a XX YY |
Содержимое ячейки памяти, адрес которой указан в команде, пересылается в регистр L, а содержимое следующей ячейки – в регистр Н. |
SHLD (адр.) 22 XX YY |
Содержимое регистра L пересылается в ячейку памяти, адрес которой указан в команде, а содержимое регистра Н – в следующую ячейку. |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.