Кіріспе
Процессордағы нәтижеге қатысты қосымша ақпарат беретін белгілерді қамтитын тіркелім. Статус тіркелімі, белгі тіркелімі немесе жағдай кодтары тіркелімі (CCR) – процессор үшін статус белгісі биттерінің жиынтығы. Мұндай тіркелімдерге мысал ретінде x86 архитектурасындағы FLAGS тіркелімі, IBM System/360 архитектурасының z/Architecture арқылы бағдарламалық күй сөзі (PSW) тіркеліміндегі белгілер және ARM Cortex A архитектурасындағы қолданбалық бағдарлама күйі (APSR) тіркелімі жатады. Статус тіркелімі – процессордың күйі туралы ақпаратты қамтитын аппараттық тіркелім. Жеке биттер процессорда орындалатын машиналық код нұсқауларымен ашық немесе жасырын түрде оқылады және/немесе жазылады. Статус тіркелімі нұсқаудың алдыңғы нұсқаудың нәтижесіне байланысты әрекет етуіне мүмкіндік береді. Әдетте, статус тіркеліміндегі белгілер арифметикалық және биттік операциялардың нәтижесінде өзгереді. Мысалы, Z биті операцияның нәтижесі нөлге тең болса қойылады, ал нөлден өзгеше болса тазартылады. Басқа нұсқаулар да күйін көрсету үшін белгілерді өзгерте алады. Мысалы, жол нұсқаулығы сәйкестік/сәйкессіздік табылуына немесе жолдың соңына жетуіне байланысты өзгертілуі мүмкін. Белгілер келесі шартты нұсқаумен оқылады, сонда көрсетілген әрекет (процессорға байланысты, секіру, шақыру, қайтару және т.б.) алдыңғы нұсқаудың көрсетілген нәтижесіне сәйкес болған жағдайда ғана орындалады. MIPS және Alpha сияқты кейбір процессор архитектуралары арнайы белгі тіркелімін қолданбайды. Ал кейбіреулері белгілерді автоматты түрде қоймайды және/немесе оқымайды. Мұндай машиналар нұсқаулар арасында жасырын күй туралы ақпаратты мүлдем өткізбейді немесе оны ашық түрде таңдалған жалпы мақсаттағы тіркелімде өткізеді. Статус тіркелімінде басқа да өрістер болуы мүмкін, мысалы, арнайы белгілер, үзіліске рұқсат беру биттері және осыған ұқсас ақпарат түрлері. Үзіліс кезінде, қазіргі уақытта орындалып жатқан үтірдің күйін, статус тіркелімінің ағымдағы мәнін бағдарламалық есептегішпен және басқа белсенді тіркелімдермен бірге машина стегіне немесе басқа арнайы жад аймағына сақтау арқылы сақтауға болады (кейіннен қайта шақыруға болады).
A status register, flag register, or condition code register (CCR) is a collection of status flag bits for a processor. Examples of such registers include FLAGS register in the x86 architecture, flags in the program status word (PSW) register in the IBM System/360 architecture through z/Architecture, and the application program status register (APSR) in the ARM Cortex A architecture. The status register is a hardware register that contains information about the state of the processor. Individual bits are implicitly or explicitly read and/or written by the machine code instructions executing on the processor. The status register lets an instruction take action contingent on the outcome of a previous instruction. Typically, flags in the status register are modified as effects of arithmetic and bit manipulation operations. For example, a Z bit may be set if the result of the operation is zero and cleared if it is nonzero. Other classes of instructions may also modify the flags to indicate status. For example, a string instruction may do so to indicate whether the instruction terminated because it found a match/mismatch or because it found the end of the string. The flags are read by a subsequent conditional instruction so that the specified action (depending on the processor, a jump, call, return, or so on) occurs only if the flags indicate a specified result of the earlier instruction. Some CPU architectures, such as the MIPS and Alpha, do not use a dedicated flag register. Others do not implicitly set and/or read flags. Such machines either do not pass implicit status information between instructions at all, or they pass it in an explicitly selected general purpose register. A status register may often have other fields as well, such as more specialized flags, interrupt enable bits, and similar types of information. During an interrupt, the status of the thread currently executing can be preserved (and later recalled) by storing the current value of the status register along with the program counter and other active registers into the machine stack or some other reserved area of memory.
Ортақ жалаулар
Бұл – дерлік барлық заманауи процессорларда қолданылатын ең көп таралған CPU күй тіркегінің флагтарының тізімі. FlagNameDescriptionZ Zero flag Арифметикалық немесе логикалық операцияның (немесе кейде жүктеудің) нәтижесі нөлге тең екенін көрсетеді. C Carry flag Сандарды бір сөзден үлкен мөлшерде қосу/азайту үшін, қажет болған жағдайда екілік цифрды кіші мағыналы сөзден жоғары мағыналы сөздің ең кіші битіне көшіруге мүмкіндік береді. Сонымен қатар, көптеген процессорларда біттерді жылжыту мен айналдыру операцияларын ұқсас түрде кеңейту үшін қолданылады (кейде арнайы X флагы арқылы). S / N Белгі / Теріс флаг Математикалық операцияның нәтижесі теріс екенін көрсетеді. Кейбір процессорларда N және S флагтары әртүрлі мағыналарға және қолданылуға ие: біреуі соңғы нәтиже теріс болғанын, ал екіншісі азайту немесе қосу операциясы орындалғанын көрсетеді. V / O / W Артық жүктеме флагы Операцияның таңбалы нәтижесі екілік толықтыру түрінде тіркегінің еніне сыймайтындықтан тым үлкен екенін көрсетеді.