Следующий шаг в процессе генерации исполняемого машинного кода — это генерация объектного кода (файл interrupt.o) из рассмотренного ассемблерного исходного кода. После обработки программой Ассемблер среды ICC12 рассмотренного текста будет получен следующий объектный код:
XН
H4 areas 4 global symbols
M interrupt.c
А text size 3D flags 0
S _main Def0000
S _TOIISR Def001A
А memory size
В20 flags С
S _Timer_Overflow_interrupt_vector Def0B1E
А data size 1 flags 0
S _second Def0000
А idata size 1 flags 0
T 0В 1Е 00 1А
R 00 00 00 01 00 02 00 00
T 00 00 00
R 00 00 00 03
T 00 00 С6 80 7В 00 86 С6 80 7В 00 80 С6 80 7В
R 00 00 00 00
T 00 00 00 8F С6 FF 7В 00 02 10 EF 20 FE 3F 30 С6
R 00 00 00 00
T 00 1В 80 7В 00 8F F6 00 00 87 С3 00 01 7В 00 00
R 00 00 00 00 00 07 00 02 00 0E 00 02
T 00 29 F6 00 00 C1 7А 26 ОС F6 00 00 87 41 51 7B
R 00 00 00 00 00 03 00 02
Т 00 37 00 00 79 00 00 0B
R 00 00 00 00 00 05 00 02
Заметим, что в верхней половине представленного объектного кода, содержатся директивы для программы линковщика, а в нижней половине читатель может увидеть шестнадцатеричные коды инструкций ассемблера МК семейства 68HC12.
На заключительной стадии представленный выше объектный код обрабатывается программой линковщика. В результате формируются три файла: interrupt.lst, interrupt.map и interrupt.s19.
Файл листинга программы interrupt.lst представляет собой текстовый файл, который содержит команды ассемблера, машинные коды этих команд и абсолютные адреса в памяти микроконтроллера, в которых эти коды располагаются. Сгенерированный линковщиком файл листинга представлен ниже: