ВУЗ:
Составители:
20
В результате трансляции должна быть получена карта памяти про-
грамм, где каждой ячейке памяти поставлен в соответствие хранящийся в
ней код.
В соответствии с форматом команд для представления их объектных
кодов отводятся одна, две или три ячейки памяти программ. В первой
ячейке всегда располагается код операции, во второй (а для МК
51 и в
третьей) – непосредственный операнд, адрес прямоадресуемого операнда,
адрес перехода внутри страницы памяти программ (для команд передачи
управления MK48) или смещение (для команд передачи управления
MK51). Для команд LСАLL. и LJMP во втором и третьем байтах объект-
ного кода указывается адрес передачи управления (во втором – старшая
часть, в третьем – младшая) .
Пример программы
на языке ассемблера приведен на рисунке 2.3.
EN I ;РАЗРЕШЕНИЕ ПРЕРЫВАНИЙ
JMP START
NOP ;АДРЕС 0003(ОБРАБОТКА ПРЕРЫВАНИЯ)
RETR ;ЗАВЕРШЕНИЕ ОБРАБОТКИ ПРЕРЫВАНИЯ
START: MOV A,#100B ;ПОДГОТОВКА ПОРТА Р4
ORLD P4,A ;К ВВОДУ (2-Й БИТ)
MOVD A,P4 ;ВВОД ИЗ ПОРТА Р4
JB2 START ;ПЕРЕХОД, ЕСЛИ ВО 2-М БИТЕ ЕДИНИЦА
MOV A,#7
MOVD P5,A ;ВЫВОД В ПОРТ Р5
ORL P1,#0FFH ;ПОДГ. ПОРТА Р1 К ВВОДУ
(ВСЕ БИТЫ)
IN A,P1 ;ВВОД ИЗ ПОРТА Р1
CALL PP
JMP MET
PP: INS A,BUS ;ВВОД ИЗ ПОРТА Р0
OUTL P1,A ;ВЫВОД В ПОРТ Р1
RET
MET: NOP
JMP START
Рис. 2.3
1.2.3 Кросс-ассемблер
Входным файлом для кросс-ассемблера является исходный текст
программы на языке ассемблера однокристальной микроЭВМ серии
К1816ВЕ48, записанный на диск в виде файла любым редактором текста
В результате трансляции должна быть получена карта памяти про- грамм, где каждой ячейке памяти поставлен в соответствие хранящийся в ней код. В соответствии с форматом команд для представления их объектных кодов отводятся одна, две или три ячейки памяти программ. В первой ячейке всегда располагается код операции, во второй (а для МК51 и в третьей) – непосредственный операнд, адрес прямоадресуемого операнда, адрес перехода внутри страницы памяти программ (для команд передачи управления MK48) или смещение (для команд передачи управления MK51). Для команд LСАLL. и LJMP во втором и третьем байтах объект- ного кода указывается адрес передачи управления (во втором – старшая часть, в третьем – младшая) . Пример программы на языке ассемблера приведен на рисунке 2.3. EN I ;РАЗРЕШЕНИЕ ПРЕРЫВАНИЙ JMP START NOP ;АДРЕС 0003(ОБРАБОТКА ПРЕРЫВАНИЯ) RETR ;ЗАВЕРШЕНИЕ ОБРАБОТКИ ПРЕРЫВАНИЯ START: MOV A,#100B ;ПОДГОТОВКА ПОРТА Р4 ORLD P4,A ;К ВВОДУ (2-Й БИТ) MOVD A,P4 ;ВВОД ИЗ ПОРТА Р4 JB2 START ;ПЕРЕХОД, ЕСЛИ ВО 2-М БИТЕ ЕДИНИЦА MOV A,#7 MOVD P5,A ;ВЫВОД В ПОРТ Р5 ORL P1,#0FFH ;ПОДГ. ПОРТА Р1 К ВВОДУ(ВСЕ БИТЫ) IN A,P1 ;ВВОД ИЗ ПОРТА Р1 CALL PP JMP MET PP: INS A,BUS ;ВВОД ИЗ ПОРТА Р0 OUTL P1,A ;ВЫВОД В ПОРТ Р1 RET MET: NOP JMP START Рис. 2.3 1.2.3 Кросс-ассемблер Входным файлом для кросс-ассемблера является исходный текст программы на языке ассемблера однокристальной микроЭВМ серии К1816ВЕ48, записанный на диск в виде файла любым редактором текста 20
Страницы
- « первая
- ‹ предыдущая
- …
- 18
- 19
- 20
- 21
- 22
- …
- следующая ›
- последняя »