Основи на асемблер

1.1. Памет и процесор

Фиг. 1.1. Взаимодействие RAM и CPU.

Основи на асемблер

Фиг. 1.2. Байт, дума и двойна дума.

При обсъждането на съдържанието на мулти-байт е необходимо да се обърнете към съставните й байта; тези байтове са номерирани от нула и се намират (ако изображението върху хартията) във възходящ ред от дясно на ляво, така че левия завой байта с големи стаи, както и правото - байта с по-ниски числа. Левия байт нарича старейшините, а вдясно - най-младият. Тази заповед на байта, свързани с обичайните за нас, за да се образува номера на запис: в броя цифри в ляво показва значителни бита, както и правото - по-малкия. На следващия брой, ако тя е да се напише за предишния, ще започне отново с MSB и по-младото края. Въпреки това, при съхранение на компютърни данни се намира в по-естествен начин непрекъснато увеличаване на броя на байтовете, и по този начин, всяка дума или двойна дума в паметта започва с ниската си байт и завършва с най-високата (фиг. 1.3).

Основи на асемблер

Фиг. 1.3. Номерирането на байтове в данните многобайтовите.

Основи на асемблер

Основи на асемблер

1.3. регистри на процесора

Старши напред AX регистър байт в ниската байт се регистрирате BX, без това да повлияе на втория байта на тези регистри. Имайте предвид, че първия операнд определен приемник, а след десетичната запетая - .operand източник, т.е. отбор, тъй като работи от дясно на ляво.

Основи на асемблер

Фиг. 1.6. CPU регистри.

Основи на асемблер

Фиг. 1.7. знамена регистрират

държавните знамена са настроени да се възстанови след обработка всяка от следващата инструкция, и е възможно до известна степен да се прецени резултата от тази команда (например, независимо дали това е резултат, нула). контрол знамена ви позволяват да промените някои от условията на процесора, например, за да разрешите или забраните хардуерни прекъсвания. Помислете първо държавните знамена.
извършване CF флаг (Carry Flag) показва заем или прехвърляне при извършване на аритметични операции. Транспорт се отнася до ситуацията, когато в резултат на правилно, като цяло, е оформен на броя на командите, съдържащ повече от 16 бита и, следователно, не са поставени в регистър или памет клетка. Да предположим, например, в регистъра на AH съдържа номера 60000, и по-BX регистър - 40000. Когато добавяте инструкция

1.4. Сегмент структура на програми

Mov AX, данни Конфигуриране на ДС
Mov DS, AX; сегмент данни

Ключ / г позволява изход към програма изходния текст дисплей линии, в които асемблер намерени грешка (без този бутон търсене ще трябва да извърши грешка за предаването вписване).
Ключови / ZI контроли обръщат в досието с информация за обекта не се изисква, когато се изпълнява програмата, но се използва от дебъгер.
Ключ / п потиска обявата списъка символичен нотация в програмата, от която намалява до известна степен е информационен
в списъка, но намалява размерите си.
Облицовъчни допълнителни параметри определят имената на файловете на оригиналния (P.ASM), обект (P.OBJ) и в списъка (P.LST). Вие може да искате да се обадите в съответствие компилаторът да посочите трите имена на файлове с разширения си, но това не е необходимо, тъй като компилаторът по подразбиране използва име разширения, изброени по-горе.
Обадете Трасе на линията има следния вид:

Ключ / х листинг подреждане потиска образуването, които обикновено не е необходимо.
/ V превключвател предава досието с информация за зареждане използва от дебъгер. Облицовъчни допълнителни параметри указват имената на модула: обекта (R.OY) и багажника (R.EHE).
Както и в изучаването на тази книга, ще трябва да пишат и отстраняване на грешки на голям брой програми, е препоръчително да се създаде една партида файл (име, например, A.VAT), който автоматизира изпълнението на един и същ вид операции излъчване и оформление. Текст на партида файл в най-простата си форма може да бъде толкова (ако приемем, че пътят към директорията с пакета TASM е бил регистриран в командния параметър PATH):

TASM / Z / зи / п р, р, р
tlink / х / о р, р

Изпълнението на програмата се приготвя R.EHE .r.ehe или просто отбор
При изтегляне на програмата сегменти се поставят в памет, както е показано на фиг. 1.9.

Основи на асемблер

Фиг. 1.9. Образът на програмата в паметта.

Основи на асемблер

Фиг. 1.10. Организация на стека:
и - първоначалното състояние, б - след зареждане на елемента (в този пример - съдържание AX регистър) в - след зареждане на втори елемент (DS регистрират съдържанието) г - след изпълнение на един елемент, г - след разтоварване на двата елемента и нулиране състояние.

прехвърляне на стека за положението, показано на фиг. 1,10 инча Купчината сега ще се съхраняват два елемента, които ще бъдат на разположение само на върха, което показва стека показалка SP на. Ако след известно време, ние трябва да се възстановява оригиналните съдържанието на регистрите, записани в стека, ние трябва да изпълни командата освобождаване от поп стека (тласък):

Купчината след първата команда е показано на фиг. 1.10 гр, и след втората - на фиг. . 1.10 и т.н. За правилното възстановяване на съдържанието на разтоварването на регистър стек трябва да бъдат реализирани по начин, противоположен тежко натоварени - незареден първия елемент е зареден последно, а след това на предишния елемент и т.н.
Това не е необходимо, когато възстановяването на данни, за да ги пуснат обратно, където те са били преди да я запазите. Например, стека може да бъде поставена в ДС съдържание, и я извадете от там до другия сегмент регистър - ES;

натиснете DS
поп ES; Сега СЕ = DS и стека е празен

1.6. система за прекъсване

Системата прекъсва всеки компютър е неговата най-важна част, която позволява да се реагира бързо на събития, обработката да бъде изпълнено незабавно :. Сигналите от таймерите на машината, натиснете клавиатура или мишка бутони, неуспехите на паметта и т.н. Нека разгледаме като цяло компонентите на тази система.
хардуерни прекъсвания сигнали, произхождащи от устройства, включени в компютъра или свързан към него се подава към процесора не директно, а чрез две прекъсват контролери, една от които се нарича олово, а вторият - роб (фигура 1.11).

Основи на асемблер

Фиг. 1.11. Хардуерно прекъсване организация.

Две контролери се използват за увеличаване на допустимия брой на външни устройства. Фактът, че всеки прекъсване контролер може да обслужва само сигнали за 8 устройства. За да служат повече контролер устройства могат да бъдат комбинирани, за да образуват един ветрилообразна структура. В съвременните машини, две групи от администратора, което води до повишаване на възможния брой входни устройства 15 (7 в господар и роб на администраторите на 8).
За да IRQ1 на входните терминали. IRQ7 и IRQ8. IRQ15 (IRQ - съкращение на заявка за прекъсване, заявка за прекъсване) са свързани изходно устройство, в които се прекъсне сигнали. Добив майстор контролер, свързан към вход INT на микропроцесора, и на изхода на роб - IRQ2 вход на майстора. Основната функция на контролер - сигнализация прекъсване искания от външни устройства към един прекъсне вход на микропроцесора. По този начин, с изключение на INT сигнал се предава към контролера на микропроцесора чрез вектор линии данни номер, който се генерира в контролера чрез добавяне на основа номер съхранява в един от своите регистри, номера на запис, в който прекъсване искане пристигнали. Стаите са основни вектори са вписани в контролера автоматично по време на времето за първоначалното зареждане. За майстор контролер база вектор винаги е равно на 8, за роба - 70 h. По този начин, броят на вектори, които са присвоени хардуерни прекъсвания, са 8h на диапазони. Fh и 70 h. 77H. Очевидно е, че броят на вектор хардуерно прекъсване е уникално свързана с номера или за нивата на IRQ, а чрез тях - със специфични компютърни устройства. Фиг. 1.11 показва някои от стандартните компютърни устройства, работещи в режим на прекъсване.
Процесорът получаване на прекъсване сигнал, извършва серия от стандартни операции, обикновено се нарича прекъсване процедура. Ще подчертая, че въпросът тук е само за реакцията на процесора, за да прекъсне сигнала, не алгоритми за обработка на прекъсване, предвидени за потребителя да прекъсне съчетания.
Обекти изчислителна система участва в прекъсване на производството и взаимодействието им са показани на Фиг. 1.12.

Основи на асемблер

Фиг. 1.12. програмата за прекъсване на услуги.

1.7. входно-изходна система

входно-изходна система, т.е.. д. комплекс за обмен на информация средства с външни устройства, е съществена част от архитектурата на процесора и машините по принцип. За вход-изход система, и може да включва начини за свързване към системната шина на различните оборудване и процедурата по процесор взаимодействие с това оборудване, както и инструкциите за процесори за обмен на данни с външни устройства.
Непрекъснато подобряване на микропроцесори и желанието да постигане на максимална производителност на цялата компютърна система е довело до значително усложняване на вътрешната организация на компютрите: увеличаване на битови линии, появата на вътрешните високоскоростни комуникационни данни магистрали, използвайте кеш буфери, за да се ускори обмяната на памет и дискове, и така нататък. Ако, обаче, отвлича вниманието от важните от гледна точка на производителността, но не и от съществено значение за подробности за програмиране, логиката на съвременния компютър може да бъде представен по конвенционален начин, като системна шина (ред), които свързват самия микропроцесор и всички компютърни устройства (фиг. 1.13) ,

Основи на асемблер

където MEM - символично обозначение на памет клетки, принадлежащи към сегмента на данни на програмата.
Ако процесорът изпълнява команда като