Графичен асемблер

14 пъти ли са нараснали българите в MediaTek Labs? проект за създаване на устройства "Интернет на нещата" и "приспособления за носене"
Новото поколение Джобс или как MediaTek създаде свой собствен малък Kickstarter

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

Популярни материали

Коментари

Хората ще купуват транзистор kt 827A 0688759652

колко млади бяхме и колко бързо изтекоха годините на Кулотино най-щастливото ми време

LED е диод, който излъчва светлина. И ако диодът има IR излъчване, значи това е IR диод, а не "IR LED" и "IR LED", както е посочено на сайта.

Кажете ми 2t963a-2 гаранционен период

Първо, малко за мнемотехниката. Мнемониката е кратък набор от букви от латинската азбука, който уникално идентифицира съответната операция в ядрото на микропроцесора. Разбира се, разработчиците се опитаха да вложат в този набор от букви значението на извършваната операция, за да улеснят живота на програмиста възможно най-лесно. И в редица случаи те доста успяха, например MOV, CALL, ADD, JMP и т.н. Но има малко такива ситуации. И появилите се по-късно команди SBI, XTHL, BRBC, ADIW, XCHD и други започват да се конкурират с китайското писане. Разбира се, можете да се опитате да ги запомните, но и без това има достатъчно проблеми.

В допълнение, тези, които се занимаваха с различни микропроцесори, разбира се, забелязаха товаобщата мнемоника на техните асемблери е не повече от една трета. Сред присъстващите в почти всички асемблери можете да изброите MOV, ADD, SUB, CALL, AND, OR, INC, DEC, PUSH, POP и някои други. Основната маса от представяния е изключителна дори за редица напълно идентични операции. Например в един случай операцията "изключително или" се записва като XOR, в други - EOR. В единия случай записът на операциите за прескачане е изграден на базата на думата JUMP, в другия - на базата на BRАNCH. И има много такива примери. Но рядко някой успява да използва само един асемблер. В реалния живот "конете" трябва да се сменят и човек неизбежно се сблъсква с такова нежелано разнообразие.

Имайки предвид всичко това, в средата "Algorithm Builder" представянето на операциите на микроконтролера е изградено по различен начин - на визуално-функционалния принцип. Записът на операцията съдържа изображение на извършеното действие. Например:

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

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

Например, подпрограмата по-долу съдържа три от тези блокове:

Първият блок започва с оператора "LDI XL,$20" с етикета "SubName" и завършва с оператора за безусловно разклоняване "RJMP", другите два започват с оператора "SBI" с етикетите "Label1" и "Label2", съответно, и завършват с оператора "RET".

Визуалното разделяне на такива блокове на равнини е един от принципите на графичните методи. Друг принцип е възможността за графично показване на програмния алгоритъм. Благодарение на това е възможно да се въведе програма на равнина в две измерения под формата на алгоритъм с дървовидна структура, с визуално показване на посоката на условни и безусловни скокове. В резултат на това цялата логическа структура е в пълен изглед.

На фиг. 1 показва извеждането на горната програма в графичната среда "Algorithm Builder".

асемблер

Ориз. 1. Показване на програмата в среда "Algorithm Builder"

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

Графичната технология на асемблера в средата "Algorithm Builder" е реализирана чрез няколко основни обекта, от които се изгражда конструкцията на алгоритъма. Сред тях:

  • "Етикет" (етикет) - показва се като вертикална черта, разположена по оста на блока с изявления. Етикетът може да има незадължително име, което се появява отляво или отдясно на чертата. Етикетите са предназначени за захранване на краищата на преходни вектори;
  • "Vertex" (връх) се използва като начало на блока ипо своя дисплей и предназначение е подобен на етикет;
  • "Поле" (поле) е предназначено за запис на операторите на алгоритъма и е центрирана линия в блока;
  • „Условие“ (условие) е предназначено да обозначава изрази на условни скокове. Конструктивно най-сложният. Графично това е път, разположен в средата на блок, вътре в който се въвежда текст с условие за преход и възможен преходен вектор под формата на прекъсната линия, излизаща от един от краищата на контура, със стрелка в края, която трябва да завършва на етикет или връх. Едно действие се интерпретира като разклоняване, ако въведеното условие е изпълнено;
  • „JMP Vector“ е предназначен да представлява безусловен скок. Графично, това е прекъсната линия, излизаща от средата на блок от изявления, подобно на вектора на обекта "Условие".

който

който

Ориз. 3. Прозорец на програмиста

Като цяло тази среда за програмиране е самодостатъчна система. Той съдържа компилатор на алгоритъм, симулатор на микроконтролер и програматор в схемата, който гарантира, че компилираният алгоритъм се зарежда в чипа. Освен това е предвиден режим за отстраняване на грешки на монитора, при който към компилирания програмен код се добавя скрит код, което гарантира, че цялото вътрешно състояние на реалния микроконтролер в зададените точки на прекъсване се показва в съответните прозорци, както при работа в симулатор. По време на работа на дебъгера на монитора и програмиста, микроконтролерът е директно свързан към паралелния порт LPT с няколко вериги.

това

Ориз. 4. Прозорец за настройки на таймера

Допълнителните функции, които не са пряко свързани с графичните технологии, включват етикети симе на прекъсване по подразбиране. След като срещне такъв етикет, компилаторът автоматично ще вмъкне кода на необходимия безусловен скок в програмното място, съответстващо на вектора на прекъсване. Името на такива етикети може да бъде избрано чрез съответния елемент от менюто. Реализиран е и удобен интерфейс за настройка на таймери, което премахва необходимостта от запомняне на предназначението на всеки бит от контролния регистър и редица други сервизни функции.

графичен

Ориз. 5. Работа на симулатора

Средата "Algorithm Builder" е проектирана да работи в операционна система Windows 95/98.

На фиг. Фигура 6 показва по-сложен пример на програмен фрагмент. Отляво - в класическия асемблер, а отдясно - пълното му копие в средата "Algorithm Builder".

това

Ориз. 6. Асемблер: класика и графика

Разбира се, в рамките на една статия е невъзможно да се опишат достатъчно подробно всички характеристики на работата в графична среда.

В близко бъдеще средата "Algorithm Builder" ще бъде адаптирана към други типове микропроцесорни архитектури.

Преходът към използването на такава среда е труден психологически. Мисълта ще се промъкне през ума на мнозина: "може би асемблерът няма тези възможности, но аз съм много свикнал с него, добре ми е." Това е нещо подобно на прехода от командата (DOS) към графичната обвивка (Windows). Въпреки това, овладяването на този инструмент и последващата работа с него е значително по-просто от класическия асемблер. Във всеки случай тези, които вече го използват, не търсят път назад.