Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kursovoy_proekt_1_-vychislitelnaya_i_mikroprots...doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
345.6 Кб
Скачать

Ассемблирование вручную

Ассемблирование — это процедура перевода программы на языке ас­семблера в программу на машинном языке. Обычно это осуществляется специ­альной ассемблерной программой, но если она отсутствует, приходится состав­лять программу на машинном языке вручную. При этом целесообразно вначале написать программу на ассемблере, а затем перевести ее в машинные коды, так как прямое написание программы в машинных кодах обладает рядом недостат­ков. В частности, ассемблирование вручную снижает количество ошибок.

При этом следует несколько расширить стандартный бланк ассемблера, добавив поле абсолютных 16-ричных адресов и поле машинного кода:

Адрес

Машинный код

Метка

Код

Операнд

Комментарий

Пример (фрагмент примера курсового проекта):

Ад­рес

Машин­ный код

Метка

Код

Операнд

Комментарий

ORG

0000H

0000

31 00 84

M0:

LXI

SP, 8400H

0003

21 0A 80

LXI

H, 800AH

0006

AF

M1:

XRA

A

0007

77

MOV

M, A

0008

3E 01

MVI

A, 01H

000A

2D

DCR

L

При ассемблировании вручную нужно учитывать, что каждая строка ас­семблера (кроме строк с директивами) соответствует одной машинной команде. Машинные команды могут иметь длину 1…3 байта (см. табл. 5), что необхо­димо учитывать при заполнении 16-ричными кодами столбца «машинный код», а затем «адрес».

Когда в строке имеется мнемоника команды, в столбец «машинный код» заносится значение, найденное по таблице кодов операций МП (см. табл. 6).

Если в поле операнда команды имеется числовой непосредственный опе­ранд, в столбец «машинный код» заносится его 16-ричный эквивалент.

Первым записывается код операции, а если команда содержит больше 1 байта, сначала записывается младший байт операнда, а затем — старший.

31