Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Структура программы на языке ассемблера. Трансляция, компоновка, исполнение программы. Использование библиотек




;-------------------------------------------------------------------------------------------------------------------------------------------

 

data segment; сегмент данных

message db ‘Hello, world!$’; определение строки текста,

; символ ‘$’ – признак конца

; печати при выводе на экран

data ends

stk segment stack; сегмент стека

db 256 dup (?); отводим место под стек

stk ends

code segment; сегмент кода

main:; метка начала программы

assume cs:code,ds:data,ss:stk

mov ax,data; заносим в регистр ax сегментную компоненту

; адреса сегмента data

mov ds,ax; копируем содержимое регистра ax в регистр

; ds, напрямую загрузить информацию в ds в

; данном случае невозможно – это следует из

; режимов адресации

lea dx,message; загружаем в dx смещение переменной

; message, это делает команда lea

mov ah,09h; заносим в ah число 9 – для прерывания 21h в

; этом регистре хранится номер функции,

; которую необходимо выполнить; девятая

; функция означает вывод строки, смещение

; которой хранится в регистре dx

int 21h; вызывается прерывание, происходит вывод

; строки текста

mov ah,4ch; функция 4ch означает завершение работы

; программы и возврат в систему DOS

int 21h; вызов прерывания с номером 21h

code ends

end main

;-------------------------------------------------------------------------------------------------------------------------------------------

.model small; модель памяти small

.data; сегмент данных

message db ‘Hello, world!$’

.stack 256; сегмент стек занимает 256 байтов

.code; сегмент кода

main:

mov ax,@data; занесение адреса сегмента данных в

; регистр ax

mov ds,ax

lea dx,message

mov ah,09h

int 21h

mov ah,4ch

int 21h

end main;конец программы с точкой входа main

;-------------------------------------------------------------------------------------------------------------------------------------------

Turbo Assembler (TASM) — программный пакет компании Borland, предназначенный для разработки программ на языке ассемблера для архитектуры x86. По умолчанию TASM работает в режиме совместимости с другим распространённым ассемблером — Microsoft Macro Assembler, то есть TASM умеет транслировать исходники, разработанные под MASM. Кроме того, TASM имеет режим IDEAL, улучшающий синтаксис языка и расширяющий его функциональные возможности.

Трансляция

Процесс преобразования программы, написанной на одном языке программирования, в программу на другом языке.

Как правило, трансляция – это создание программы в машинных кодах, которую можно выполнять. Трансляция обеспечивает включение библиотечных подпрограмм, модулей, процедур в итоговую программу на машинном языке.

Различают два вида трансляции:

компиляцию, при которой результат получается в виде готовой программы, выполняемой независимо от исходного текста программы;

интерпретацию, при которой трансляция и выполнение программы происходит покомандно.





Поделиться с друзьями:


Дата добавления: 2015-10-01; Мы поможем в написании ваших работ!; просмотров: 788 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Даже страх смягчается привычкой. © Неизвестно
==> читать все изречения...

2502 - | 2194 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.012 с.