Знамена - компютърни науки, програмиране

И накрая, на компютъра има специален регистър знамена. Flag - това малко, като стойността 1 ( "флаг е установен"), ако дадено условие е изпълнено, и стойност 0 ( "изчисти флаг") по друг начин. Компютърът използва

9 използва флаговете, всеки от тях получава специфично наименование (ZF, CF, и т.н.). Всички те са сглобени в регистъра флагове (всеки флаг - е един от бита на регистъра, част от него зауствания не се използва):

Някои знамена се наричат ​​знамена на условия; те се променят автоматично при изпълнение на команди и да определи тези или други свойства на техния резултат (например, дали е нула). Други знамена са наречени флагове на държави; те променят програмата и да повлияе на поведението на допълнително процесор (например блокиране прекъсва).

CF (носене флаг) - носят флаг. Счита стойност 1, ако допълнение число единица има прехвърляне без "паузи" в мрежата на малко, или ако тя е по-малко от секунда, като се извади първите неподписани номера на тях. Промяната в командите CF се съхранява малко, излиза на мрежата от отговорност. CF определя също така разполага с команда умножение.

НА (преливник флаг) - флага за препълване. Разположен на 1, ако добавянето или чрез изваждане на числа с знак обърна резултат модул превишаване на допустимата стойност (мантиса преливане случило и да го "изкачи" в знаков бит).

ZF (нула флаг) - флаг е нула. Той е разположен на 1, ако резултатът от екип е бил равен на 0.

SF (знак знаме) - знак флаг. Разположен на 1, ако операции на подписани номера стана отрицателен.

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

AF (спомагателен пренос флаг) - допълнителната пренос флага. Той улавя характеристиките на операциите на номера на BCD.

IF (прекъсване флаг) - прекъсва флаг. Ако IF = 0 процесор престава да реагира, за да прекъсва, което получи, когато IF = 1 прекъсва ключалката е освободена.

TF (капан флаг) - следа флаг. Когато TF = 1 след всяка команда процесор прави прекъсне (номер 1), отколкото можете да използвате за отстраняване на грешки на програмата за нейното следа.

1.2. ОТЧИТАНЕ. аритметични операции

Шестнадесетични числа са написани с буквата ч в края двоичен

брой - с буквата Б (както е прието в MASM).

1.2.1 Представяне на числа.

Като цяло, в рамките на цяло число, може да приеме всяка брой байтове, но системата за PC команда поддържа само броя на байта и частично поддържа пода, а броят на двойна дума. Именно тези формати и ще бъдат взети под внимание.

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

Неподписани числа.

Тези цифри могат да бъдат представени като байтове, думи или двойни думи - в зависимост от големината им. В един байт означава цели числа от 0 до 255 (= 2 ^ 8-1), под формата на думи - цели числа от 0 до 65 535 (= 2 ^ 16-1), под формата на двойна дума - цели числа от 0 до 4294967295 ( = 2 ^ 32-1). Номерата са написани на двоична система, като всички битове на клетката. Например, броят 130 е написано като байт 10000010b (82H).

номера размер на думи се съхраняват в паметта в "обърната" форма mladschie (вдясно) 8-битово число, се поставят в първия байт на думата, и горните 8 бита - втори байт (16-матрични системи: два прави фигури - в първия байт, двете леви фигури - във втория байт). Например, броят 130 (= 0082h) под формата на думи, съхранени в паметта, както следва:
-----------
| 82 | 00 |
-----------
(Имайте предвид, обаче, че номерата се съхраняват в регистрите в нормален вид:
-----------
AX | 00 | 82 |
-----------
AH AL)

"Обърната" се използва представяне и когато се съхранява в паметта число двойна дума: в първия байт на долните 8 бита са поставени номера във втория байт - предишна 8 бита и т.н. Например, 12345678h номер се съхранява в паметта, както следва:

С други думи, първата дума на двойната думата са разположени по-ниско (вдясно) от 16 бита и втората дума - горните 16 бита, във всяка от две думи от своя страна използва "обърната" представяне.

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

Разбира се, "с главата надолу", гледката е неудобно за хората, но когато използвате асемблер това неудобство не се усеща: в MASM всички числа, съхранявани в един нормален необърнат форма (виж по-долу.).

Числа.

Тези числа също са представени под формата на байтове, думи или двойни думи. В редица от байтове, написани от -128 до 127, няколко думи от -32 768 до 32 767, както и под формата на двойни думи - номерата от -2147483648 до 2147483647. Числата записани в допълнителния код: неотрицателно число е написано като едно и също неподписан брой (т.е., в кода напред) и отрицателно число -x (х> 0) е представена от неозначено число 2 ^ 8-х (за байта), 2 ^ 16-х (думи) или 2 ^ 32-х (за двойни думи). Например, допълнителен код е броят байтове -6 FAH (= 256-6), думата, или двойна дума FFFAh FFFFFFFAh. Когато този байт 10000000b (= 80h) се третира като -128, а не като 128 (дума 8000h разбира като -32 678), така че най-левия бит допълнителния код винаги играе ролята на знак: за неотрицателни цели числа е 0 за отрицателен - 1.

Знакът на размера на думата и двойна дума, съхранявани в паметта на "обърната" форма (знаков бит е последния байт на клетката). Но MASM тези числа като неподписани, написани на нормална форма.

Понякога броя байтове, е необходимо да се разшири до думата, т.е. което трябва да се получи същата най-голям брой, но размерът на думата. Има два начина за това разширение - неподписани и подписани. Във всеки случай, първоначалният брой байтове, попада във втората (до "преобръщане") байт на думата, но първият байт е изпълнен по различни начини: разширяването неподписаните го записва нула бита (12h -> 0012h), както и разширяването на знака в първият байт на нули е писано, ако броят на байта е не-отрицателни и осем двоични записани по друг начин (81H -> FF81h). С други думи, в разширяване със знака в първия байт на думата е копиран, знак бита на най-байт.

По същия начин, има разширяване на броя на думите до двойния думата.

Информация за "езика Macroassembler IBM PC»

като името на макроса. последователност от команди, наречени "макро тяло" След тази линия се намира. Определение завършва с поредица от псевдо END. Ако се определя макро, след използването на името на съответния макро като мнемоничен код в програмата е еквивалентно на използването на съответната команда последователност. Ако се повтори.

Знамена - компютърни науки, програмиране
Знамена - компютърни науки, програмиране
Знамена - компютърни науки, програмиране

Знамена - компютърни науки, програмиране
Знамена - компютърни науки, програмиране

Циклите на процесора, ако tіlki vіn pratsyuє в primіschennyam rezhimі. Metoyu vikonannya danoї kursovoї робот Je otrimannya практичност navichok робот programuvannya movoyu asemblera. Pіdsumkom vikonannya kursovoї Je rozrobka контрол робот алгоритъм на масив parnіst danih Scho zberіgaєtsya в deyakіy oblastі pam'yatі аз затопляне movі asemblera, Yaky realіzuє ДАНИАН алгоритъм. 1. Zagalny rozdіl Nadіynіst.

Съхраняване на машинния код на програмата в ROM (може да се пропусне) Сега ние виждаме, блокова схема на нашата програма, това е, поръчаните действията ;. средствата по програмата десетични цифри, за да, двоична и шестнадесетична система; цифра .MODEL малък .STACK 64 .DATA; сегмент данни; ____________________________________________________________________ конверсията на маса "фигура - ASCII-код".