У комп'ютерних процесорах, прапор переносу (біт переносу у регістрі стану процесора), який зазвичай позначається як CF (англ. Carry flag) — спеціальний прапор, який вказує на випадок арифметичного перенесення або запозичення під час зсуву старшого біта арифметико-логічним пристроєм (АЛП). Це дозволяє виконувати дії з довшими числами, ніж ті, що використовуються в АЛП.
Прапор переносу встановлюється в «1» у двох випадках:
- коли виконується перенесення одиниці до знакового розряду (7, 15, 31-го) і перенесення за межі розрядної сітки (з 7, 15, 31-го розряду до 8, 16, 32-го, які не існують за даної розрядності)
- коли виконується ЛИШЕ перенесення одиниці за межі розрядної сітки
Використання
Застосовується для виконання операцій над числами більшої розрядності.
Приклад використання для 8-бітової архітектури
- (прапор не встановлений)
- (прапор встановлений)
Таким чином, під час операції арифметичного додавання прапор можна розглядати як дев'ятий біт результату.
У процесорах Intel 8086 прапор «CF» також використовується для відображення операції порівняння та індикації результату множення (спільно з (прапором переповнення) «OF»).
Приклад для 16-бітової архітектури
Зазвичай під час виконання арифметичних операцій на зразок додавання або віднімання процесор Intel 8088 може працювати з не більш ніж 16-бітовими числами. Проте в деяких випадках доводиться маніпулювати з числами які перевищують 216. Наприклад, для додавання двох 32-бітових чисел програмі доведеться додати спочатку молодші частини чисел, а потім — старші. Розглянемо додавання 32-бітових чисел 22224444H і 3333EEEEH:
друге додавання перше додавання --------------------------------------- 2222 4444 3333 EEEE 1 (перенос від першого) ---- ---- 5556 13332 --------------------------------------- 32-бітове додавання з перенесенням
Перше 16-бітове додавання 4444H і EEEEH дає результат 13332H. Оскільки результат має довжину 17 біт, він не поміститься в 16-бітовий регістр. Прапор перенесення регістра станів отримає цей додатковий біт арифметичної інформації. Під час другого 16-бітового додавання додаються не тільки числа 2222H і 3333H, але й значення прапора переносу. Існує дві форми команди додавання: команда ADD додає два 16-бітових числа, даючи 17-бітовий результат, а команда додавання з перенесенням ADC додає два 16-бітових числа і значення прапора переносу, даючи також 17-бітовий результат.
Команди керування прапором переносу CF
- CLC скидає прапор CF
- STC встановлює прапор CF в одиницю
- CMC інвертує значення прапора CF
Ці команди не мають операндів і результатом є тільки зміна значення відповідного прапора.
Література
- Л. Скэнлон. Флаги // Персональные ЭВМ IBM PC и XT: Программирование на языке ассемблера = IBM PC & XT Assembly Language: A guide for Programmers. Enchanced and Enlarged / пер. с англ. И. В. Емелин. — 2-е изд., стереотипное. — М. : Радио и связь, 1991. — С. 24—26. — 50 000 екз. — .
- П. Абель. Язык Ассемблера для IBM PC и программирования = IBM PC Assembler Language and programming / пер. с англ. Ю. В. Сальникова. — М. : Высшая школа, 1992. — С. 24—26.
Посилання
- Команди керування прапорами [ 24 червня 2013 у Wayback Machine.]
- [1] [ 12 травня 2013 у Wayback Machine.]
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
U komp yuternih procesorah prapor perenosu bit perenosu u registri stanu procesora yakij zazvichaj poznachayetsya yak CF angl Carry flag specialnij prapor yakij vkazuye na vipadok arifmetichnogo perenesennya abo zapozichennya pid chas zsuvu starshogo bita arifmetiko logichnim pristroyem ALP Ce dozvolyaye vikonuvati diyi z dovshimi chislami nizh ti sho vikoristovuyutsya v ALP Prapor perenosu vstanovlyuyetsya v 1 u dvoh vipadkah koli vikonuyetsya perenesennya odinici do znakovogo rozryadu 7 15 31 go i perenesennya za mezhi rozryadnoyi sitki z 7 15 31 go rozryadu do 8 16 32 go yaki ne isnuyut za danoyi rozryadnosti koli vikonuyetsya LIShE perenesennya odinici za mezhi rozryadnoyi sitkiVikoristannyaZastosovuyetsya dlya vikonannya operacij nad chislami bilshoyi rozryadnosti Priklad vikoristannya dlya 8 bitovoyi arhitekturi 011111112 000000012 0 100000002 displaystyle 01111111 2 00000001 2 0 10000000 2 prapor ne vstanovlenij 111111112 000000012 1 000000002 displaystyle 11111111 2 00000001 2 1 00000000 2 prapor vstanovlenij Takim chinom pid chas operaciyi arifmetichnogo dodavannya prapor mozhna rozglyadati yak dev yatij bit rezultatu U procesorah Intel 8086 prapor CF takozh vikoristovuyetsya dlya vidobrazhennya operaciyi porivnyannya ta indikaciyi rezultatu mnozhennya spilno z praporom perepovnennya OF Priklad dlya 16 bitovoyi arhitekturi Zazvichaj pid chas vikonannya arifmetichnih operacij na zrazok dodavannya abo vidnimannya procesor Intel 8088 mozhe pracyuvati z ne bilsh nizh 16 bitovimi chislami Prote v deyakih vipadkah dovoditsya manipulyuvati z chislami yaki perevishuyut 216 Napriklad dlya dodavannya dvoh 32 bitovih chisel programi dovedetsya dodati spochatku molodshi chastini chisel a potim starshi Rozglyanemo dodavannya 32 bitovih chisel 22224444H i 3333EEEEH druge dodavannya pershe dodavannya 2222 4444 3333 EEEE 1 perenos vid pershogo 5556 13332 32 bitove dodavannya z perenesennyam Pershe 16 bitove dodavannya 4444H i EEEEH daye rezultat 13332H Oskilki rezultat maye dovzhinu 17 bit vin ne pomistitsya v 16 bitovij registr Prapor perenesennya registra staniv otrimaye cej dodatkovij bit arifmetichnoyi informaciyi Pid chas drugogo 16 bitovogo dodavannya dodayutsya ne tilki chisla 2222H i 3333H ale j znachennya prapora perenosu Isnuye dvi formi komandi dodavannya komanda ADD dodaye dva 16 bitovih chisla dayuchi 17 bitovij rezultat a komanda dodavannya z perenesennyam ADC dodaye dva 16 bitovih chisla i znachennya prapora perenosu dayuchi takozh 17 bitovij rezultat Komandi keruvannya praporom perenosu CFCLC skidaye prapor CF STC vstanovlyuye prapor CF v odinicyu CMC invertuye znachennya prapora CF Ci komandi ne mayut operandiv i rezultatom ye tilki zmina znachennya vidpovidnogo prapora LiteraturaL Skenlon Flagi Personalnye EVM IBM PC i XT Programmirovanie na yazyke assemblera IBM PC amp XT Assembly Language A guide for Programmers Enchanced and Enlarged per s angl I V Emelin 2 e izd stereotipnoe M Radio i svyaz 1991 S 24 26 50 000 ekz ISBN 5 256 00956 7 P Abel Yazyk Assemblera dlya IBM PC i programmirovaniya IBM PC Assembler Language and programming per s angl Yu V Salnikova M Vysshaya shkola 1992 S 24 26 PosilannyaKomandi keruvannya praporami 24 chervnya 2013 u Wayback Machine 1 12 travnya 2013 u Wayback Machine