КАТЕГОРИЯ:


Командване езици. Концепцията на езика на асемблер машина

По време на работа, микропроцесорът реагира на списък на операциите (команди), наречена програмата машинна обработка. Всеки отбор се състои от място в паметта, където е поставен, кодът за експлоатация (CPC), операнди (операнди или адреси) и условия за изпитване, които се използват за оценка на ефективността на управление и организация на преходи в рамките на програмата. Обикновено първата и втората операнди се използват като изходни материали, и трета операнд е резултат на операцията (фиг. 4.5).

Фиг. 4.5. Командна структура в Assembler

Съставът на екипите на микропроцесора (МП). MP може да изпълнява определен набор от команди, в състава на които се определят в своето развитие. Например, компанията MP INTEL 238 изпълнява команди, а стандартната депутат изпълнява само 67 от тях. Някои депутати са различен набор от команди, техните кодове, но принципът е един и изпълнението на свързаните с инструкция не се променя.

Модел MP съдържа предимно шестнадесетични регистри на разположение на програмиста. Но две от тези регистри са разделени всяка половина. Те обикновено са обозначени с буквите А, B, H и L. Обикновено осем-битов регистър А се използват като батерията регистър-в случая - като регистър на състоянието. Най-лявата бит в регистър се използва като индикатор на трансфер (ако има промяна в MSB в крачка, а след това малко щеше да бъде написана единица, ако прехвърлянето не е налице, нула). Десните екстремни бита е съответно - индикатор на нула. Други индикатори за бита в регистър микропроцесор обикновено не се използват.

Регистри H и L - универсални адресни регистри / данни. Те могат да се използват поотделно за съхраняване на информация, както и под формата на чифт регистри HL. В последния случай, те се използват за съхраняване на адреси.

Шестнадесетично програмния брояч се използва за определяне на следващата инструкция чрез добавяне на броя на единиците от предишната команда. показалеца стека съдържа адреса на стека, самата стека се намира в RAM (комин).

В експлоатация е необходимо да се знае къде операнди. Един от операндите винаги се поставя в батерията. Вторият операнд може да се изхвърлят или в екип или в предварително определен регистри или в паметта на посочения адрес. В зависимост от метода за определяне на втория операнд пространство разграничение между преки абонирайте косвени методи за адресиране.

С директен адресиране, вторият операнд се намира директно в екипа, в които той е ангажиран.

Когато адресът регистър на втория операнд е в регистър, което е индикация за отбора

Когато косвени насочени регистри в строго определени (обикновено регистрира H и L) е един адрес памет, в която има втори операнд.



Командите също може да съдържа адресите на една, две или всичките три от операнди. В зависимост от броя на операнди в адресите на екипа разграничи едно-, дву - и три-адрес команда. Три-адрес команда съдържа адреса на операнда, участващи в операцията. Две адрес команда съдържа само адреса на операнда източник, резултатът от операцията се поставя в предварително определено място (батерията), която обикновено е адреса на първия операнд източник. Командата е само единично разпръскване адрес на втория операнд, първи източник операнд е или вече са известни (предварително определения) адрес или оперативната област (обикновено в акумулатора), и в резултат на операцията се поставя, както е в случая на два адреса команда в акумулатора.

Отделните елементи на екипа се наричат полета. Обикновено излъчват поле инструкция адрес, област код на операция, област операнд (тя може да бъде от един до три адреси) и условия поле за изпитване. Различни MP (командна система) отделните елементи (полета) команда може да липсват. Но винаги в настоящ адрес областта на отбора (адрес) и опкодът.

Фиг. 4.6-а показва съдържанието на клетките на паметта, която е част от програмата на машинен език. Програмата започва на адрес 2000 г. и кода за работа 0011 1110 и приключва на адрес през 2004.

а) б)

Фиг. 4.6. Фрагмент от програмата в машинен език

Програма разбере в тази форма не може без специална подготовка. В нея, всяка операция е представена от код в двоично число система, което е доста трудно да се разбере, не забравяйте и да използвате. Тя е по-удобно, да не се използва бинарна операция, и напиши двоични числа, използвайки техните шестнадесетични еквиваленти. За удобство, данните на програмата в двоичен код се заменя всяка хапка шестнадесетичен цифрен. Програмата е по-лесно да се разбере, но за разбирането на един мъж е комплекс (фиг. 4.6-б).

А по-приемлива форма, когато всяко действие (операция) е съкращение от думи, например:

1) изтегляне на двоична стойност в акумулатора;

2) да се обръща всеки бит на акумулатора;

3) поставя резултата в адреса на акумулатор клетка.

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

Обикновено фраза или команда стойност, написани на език израз асемблер с дължина от един до три машина езикови байта (един байт е написана от поредица от осем двоични цифри - единици и нули).

Асемблер използва за запис на мнемонични команди, т.е. стенограмите, обикновено се състои от първите букви на изречението, или някои от буквите на думата, означаващи определен операцията на английски език. Когато стартирате двоичен командния събрание се превръща в обикновен двоично представяне на компютърен език (двоичен код).

Например, асемблер мнемоничен команда CMA е "обърнете съдържанието на батерията." По време на изпълнението на командата на неговата трансформация (превежда) на езика на машинен код, чрез специална програма (преводача) или оператор (фиг. 4.7). Кодове писмо мнемонични команди инвертират съдържанието на акумулатора, преводачът превежда в машинен код команди.

Фиг. 4.7. Предавания програма на езика на машинен код

писмо N The в машинен код, за да се обозначи, че символът се изразява с четири двоични цифри в шестнайсетична система, например, или 2FH 2F 16.

Програма на асемблер съдържа четири области:

1) На етикета на поле се използва в организацията на програмата за преход. не винаги се използва това поле, и програмата може да бъде празна;

2) поле съдържа операцията по мнемоника мнемоники се извършва;

3) областта на операторите съдържа информация за регистъра, данните и адресите, съчетани в определени операции;

4) поле Коментари ви позволява да се разбере логиката на програмата.

Използване само на мнемоничен областта и операнда, асемблер може да генерира команда код в машинен език. За организирането на програмата използва първите 3 полета. Полеви коментари монтажен не са взети под внимание и е дъщерно дружество на оператора, за да се улесни проследяването му на програмата и коригирането му. Програмата за проба на асемблер е показан в Таблица 4.1.

Таблица 4.1

марка мнемоника операнд Коментари
MUI А, В4 16 Изтегляне на В4 батерия (A) на данни 16, директно след екипа (за ченге)
CMA Обратните съдържание батерии (А)
SIA 2100 16 Добавяне на съдържанието на акумулатора (А) 16, 2100 в
HLT Stop микропроцесор

Изготвен от програмата на асемблер изисква превода му на езика на машинен код и възлагане на всеки код на операция и операнд памет места, съответстващи машинен код, който може да бъде направено ръчно от специален монтаж програма, наречена компилатор оператор или. По този начин, на изходния код е преведен на програма в машинен код, изчистване на компютъра и след това там тя може да бъде извършена. Програма таблица 4.1, излъчено в машинен код, даден в таблицата. 4.2.

Таблица 4.2

Адрес код 16 Съдържание 16 код марка Мнемоника-участника операнд Коментари
3E MUI А, В4 16 Изтегляне на В4 батерия (A) на данни 16, директно след екипа (за ченге)
B4
2F CMA Обратните съдържание батерии
SIA 2100 16 Добавяне на съдържанието на акумулатора (А) 16, 2100 в
HLT Stop микропроцесор

MUI Кодът се поставя в позиция в паметта (2000 16), операнда да бъдат натоварени - в него следния (2001 16). Буквата А означава батерията, когато сте изтегляне. Екипът AGR включва само СРС и се намира на същото място на паметта (2002 16). SIA отбор - CPC (2003, 16), но да записва адрес на паметта, където искате да поставите съдържанието на акумулатора (2100 16 - адрес, представена в шестнайсетична система, всяка цифра е представена от четири двоични цифри), изисква 2 памет клетка (2004, 16 и 2005 16), и първата от тях се поддържат ниски байт (00), а вторият - на високо байт (21) адреси.

Програмата, която се състои от символични команди (както е показано в таблица 4.1), често се споменава като оригиналната програма, а програмата е преведен на машина език код (виж таблица 4.2), - обектен код.

Всички микропроцесорни команди могат да бъдат разделени в седем категории: аритметични, логически, за трансфер на данни команди, браншови, подпрограма кол, на връщане от подпрограма, и др.

Аритметични операции. В аритметични операции обикновено включва два операнда, така че трябва да се уточни, командата. Първият операнд е акумулатора и неговия адрес, не се изисква да се уточни. При определянето на различните начини, за да се определи неговата адрес [54] може да се използва от втория операнд.

Помислете за добавяне екипи. Всички добавяне на команди са обобщени в Таблица 4.3. Първите две букви на мнемоничен за работа с код AD допълнение. Кодове операции, записани две шестнадесетични цифри, както е посочено в писмо H Кодът на.

Таблица 4.3

операция адресиране Мнемоника-участника CPC Бай ви команда Format символизъм
Fold A данни директен ADI C6H данни CPC (А) ¬ (А) + (2 байта)
Сгънете A до L регистър ADDL 85H CPC (А) ¬ (А) + (Ь)
Сгънете H с A регистър ADDH 84H CPC (А) ¬ (А) + (Н)
Сгънете LOC (HL) с A Непряко регистър ADDM 86H CPC (А) ¬ (А) + ((Н) (L))
Изваждане на данни от директен SUI D6H данни CPC (А) ¬ (а) - (2 байта)
Изваждане L на A регистър SUBL 95H CPC (А) ¬ (а) - (L)
Изваждане H на A регистър SUBH 94H CPC (А) ¬ (а) - (Н)
Изваждане LOC (HL) на A Непряко регистър SUBM 96H CPC (А) ¬ (а) - ((Н) (L))
нарастване A регистър ИНРА 3CH CPC (А) ¬ (А) 1
нарастване HL регистър INXH 23Н CPC (А) ¬ (А) 1
А снижаване регистър DCRA 3DH CPC (А) ¬ (А) -1
снижаване HL регистър DCXH 2BH CPC (HL) ¬ (HL) -1
Сравнението с данните директен CPI FEH данни CPC (А) ¬ (2 байта)
Едно сравнение с L регистър CMPL BDH CPC (А) ¬ (L)
Едно сравнение с H регистър ЦМФ CPC (А) ¬ (Н)
Едно сравнение с ЗЗД (HL) Непряко регистър CMPM CPC (А) ¬ ((Н) (L))

С директен адресиране развива съдържание акумулатор А с данните, съдържащи се в командата. Мнемоники ADI команда, командата се поставя в два байта: един байт е писано CPC (C6 в този случай 16), а вторият - на данните. Резултатът от операцията се поставя в батерия, която може да бъде представена символично

(А) ¬ (А) + (2 байта).

Този пост трябва да се разбира, както следва: да се прибират операнди, първият от които се намират в акумулатор (А), а вторият - на командата във втория байт (Byte 2) и резултатът е поставен в акумулатор (A).

Когато регистъра адресиране първия операнд се съхранява в акумулатора, а вторият - в един от регистрите - H или L, както е посочено от последната буква мнемоники команда, ако на втория операнд се намира в регистър L, командата мнемоничен ADDL (виж фигура 4.8 ..) Ако регистрирате H, мнемоники ADDH.

Съответно символично екипа рекордни външен вид

(А) ¬ (А) + (Ь) или (а) ¬ (А) + (Н)

В непряко адресиране на втория операнд е поставен в клетката памет, чийто адрес е посочен в H и L регистри. Тук брой регистри по себе си не се съхранява, но само адреса; необходимостта да се извлече от операнда памет показва буквата М в командните мнемоники - ADDM. Символичното нотация на операцията

(А) ¬ (А) + ((Н) (L))

когато се отнася до втория операнд в скоби се записват не само на регистри H и L, но техния съюз, което означава, че определянето на втория операнд трябва да се използва като съдържанието на адреса на регистър, до който информацията се поставят в паметта на втория операнд.

Фиг. 4.8. Операция допълнение към справянето регистър

Логически операции. Тази операция "и" (връзка) "или" (дизюнкция), "изключителен ИЛИ" (за сума по модул 2) "NO" (инверсия), се измести вляво или вдясно. Логическите операции могат да бъдат използвани всеки от обсъжданите адресиране видове. Извършване на логически операции, водещи до промяна в съдържанието на батерията в съответствие с резултата от изпълнението му. Булеви операции команди са дадени в Таблица 4.4.

Таблица 4.4

операция адресиране Мнемоника-участника CPC Бай ви команда Format символизъм
A > директен АНИ E6H данни CPC (А) ¬ (А) * (2 байта)
A > регистър АНАЛНО A5H CPC (А) ¬ (А) * (L)
А и с Н регистър Ана A4h CPC (А) ¬ (А) * (Н)
A > Непряко регистър Anam A4h CPC (А) ¬ (А) * ((Н) (L))
За данни или директен ORI F6H данни CPC (А) ¬ (А) * (2 байта)
A или L регистър ORAL B5H CPC (А) ¬ (А) * (L)
А с или Н регистър ORAH b4h CPC (А) ¬ (А) * (Н)
ИЛИ LOC (HL) Непряко регистър Орам B6H CPC (А) ¬ (А) * ((Н) (L))
A (или премахване) на данни директен XRI EEH данни CPC (А) ¬ (А) + (2 байта)
A (или изключи) A регистър XRAA AFH CPC (А) ¬ (А) + (А)
A (или изключи) L регистър XRAL ADH CPC (А) ¬ (А) + (Ь)
A (или изключи) H регистър XRAH ACH CPC (А) ¬ (А) + (Н)
A (или изключи) ЗЗД (HL) Непряко регистър XRAM AEH CPC (А) ¬ (А) + ((Н) (L))
А обратната косвен CMA 3CH CPC (А) ¬ (А)
А смяна на дясно косвен RAR 3DH CPC
А смяна на ляво косвен RAL 2BH CPC

Екипи на данни. Тези команди организира трансфер на данни от регистър за регистрация (вж. Фиг. 4.9) и поставянето им в паметта, на възстановените данни от паметта и регистрите в входно-изходни устройства (Таблица 4.5).

Фиг. 4.9. Прехвърляне на данни от регистъра в акумулатора A L

Таблица 4.5

операция адресиране Мнемоника-участника CPC Бай ви команда Format символизъм
Изпрати L, A регистър MOV A, L 7DH CPC (А) ¬ (L)
Изпрати H, A регистър MOV A, H 7DH CPC (А) ¬ (Н)
А пас в L регистър MOV L, A 6FH CPC (L) ¬ (А)
А пас в H регистър MOV M, A 57H CPC (Н) ¬ (А)
Свали A Data директен MVIA 3EH данни CPC (A) Екип 2 ¬bayt
L изтегляне на данни директен MVIL 2EH данни CPC (L) ¬bayt 2 отбора
H изтегляне на данни директен MVIH 36Н данни CPC (H) ¬bayt 2 отбора
Заредете LOC (HL) в A Непряко регистър MOV A, M 7EH CPC (А) ¬ ((Н) (L))
Свали HL Data представи отбора неправителствена директен LXIH 21Н КЗК мл. Член байта. байт (L) ¬bayt 2 (Н) ¬bayt 3 отбора

<== Предишна лекция | На следващата лекция ==>
| Командване езици. Концепцията на езика на асемблер машина

; Дата: 05.01.2014; ; Прегледи: 179; Нарушаването на авторските права? ;


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



ТЪРСЕНЕ:


Вижте също:



ailback.ru - Edu Doc (2013 - 2017) на година. Тя не е автор на материали, и дава на студентите с безплатно образование и използва! Най-новото допълнение , Al IP: 11.45.9.24
Page генерирана за: 0.054 сек.