Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Подпрограммы




Макрокоманды

Пременные

Определение символьного имени

Формат оператора

Каждый оператор языка ассемб заним отдельн строку и имеет формат

Поле_метки (:,)) поле_операции операнды коммент (Имя) (,) (;)

Операции делятся на 2 группы

1) машиннные команды вход в сост сист команд процессора

2) псевдокоманды ассемб (директивы) в общем случ псевдоком не имеют машиннного кода они использ для управл процес трансляции

 

Нужно различать символьные имена и цифры.

Если использ 16-ая СС в котор задейств буквы от A до F то перед этой цифрой надо постав 0 (01А8В)

Имена начин с букв и разреш символов.

Когда запис цел числа то в конце став условный знак СС: 12d – в 10СС принято по умолчанию(28о-в 8СС, 3Вh-в 16СС, 101b-2CC)

Для определ символ имен использ выраж:

Имя EQU выражение (число, строкасимволов, псевдоним)

В качестве выражен может использ такие выраж, кот на этопе трансляц выр в число

X equ 5
mes equ ‘сообщение’

Addr x equ dword ptr[bp+6]

Вместо equ можно использ = для числен выражен котор не измен.

Имена опред через equ можно переопределить.

 

- именованные области памяти для хранения данных.

Переменные имеют след атрибуты: сегмент, смещение, тип

Для опред псевдоимен: имя (db,dw,dd,…) выражение

Array x db 5,6,7,8,9

Messag db ‘error’

X db? – резерв памяти под переменн

z db 10 dup (0)

y dw 1,2,3

0 рост ад ресов→

| 1|0|2|0|3|0

Тип переменной можно изменит 2-мя способами

1) x dd 1234h
mov al, byte ptr x

2) x byte lable byte

x dd?

для изменения сегмента использ префиксы замены сегмента

mov al, es:[bx] mov cx, ss[bp+4]

 

последовательность команд которая объявл специальн образом имеет имя и может иметь формальные парамет

объявление макроком машинного кода не имеет

в исх тексте прогр принеобход использ указ ее имя с фактич параметр. На этапе трансляции ассембл производ макрорасшир, т.е. вставляет вместо макрообращ последов команд и замен формальн парам фактич

имя macro формальные парам

local метки

последов команд

endm

– память ↑, + быстро работ

Если в макроком использ метки то они должны быть объявлены локальными. При объявл меток локальн ассембл созд новые метки

 

– хранятся в памяти только 1 раз в отлич от макроком. Вызов и возврат из подпрогр производ во время выполн программы

Имя proc тип (near, far)

Послед команд

Имя endp

Для передачи парам в подпрогр испрольз след способы

1) через регистр процессора (при выз MS DOS и BIOS) 2) через общую память 3)через стек (использ при выз функц Windows и в языках выс уровня)

Пример far(F+)

(a:byte,b:word, c:string): string

Тест проц:

push bp

mov bp sp…

pop bp

ret 8

 




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


Дата добавления: 2014-01-06; Просмотров: 313; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.