.\" Copyright 2026 Andrew V.Kosteltsev (kx@radix-linux.su) .\" .\" .TH integer-flags 3 "September 15, 2026" "libmpu" "LibMPU Programmer's Manual" .SH NAME \fBinteger-flags\fP, \fB__mpu_clear_iflags\fP, \fB__mpu_clear_mflags\fP, \fB__mpu_gta\fP, \fB__mpu_gtc\fP, \fB__mpu_gto\fP, \fB__mpu_gts\fP, \fB__mpu_gtp\fP, \fB__mpu_gtz\fP, \fB__mpu_gtr\fP, \fB__mpu_gtv\fP, \fB__mpu_sta\fP, \fB__mpu_stc\fP, \fB__mpu_sto\fP, \fB__mpu_sts\fP, \fB__mpu_stp\fP, \fB__mpu_stz\fP, \fB__mpu_str\fP, \fB__mpu_stv\fP, \fB__mpu_cla\fP, \fB__mpu_clc\fP, \fB__mpu_clo\fP, \fB__mpu_cls\fP, \fB__mpu_clp\fP, \fB__mpu_clz\fP, \fB__mpu_clr\fP, \fB__mpu_clv\fP, \fB__mpu_cma\fP, \fB__mpu_cmc\fP, \fB__mpu_cmo\fP, \fB__mpu_cms\fP, \fB__mpu_cmp\fP, \fB__mpu_cmz\fP, \fB__mpu_cmr\fP, \fB__mpu_cmv\fP \- работа с флагами целочисленных операций \fBLibMPU\fP .SH SYNOPSIS .nf .B #include .PP .B "void __mpu_clear_iflags( void );" .B "void __mpu_clear_mflags( void );" .PP .B "int __mpu_gta( void );" .B "int __mpu_gtc( void );" .B "int __mpu_gto( void );" .B "int __mpu_gts( void );" .B "int __mpu_gtp( void );" .B "int __mpu_gtz( void );" .B "int __mpu_gtr( void );" .B "int __mpu_gtv( void );" .PP .B "void __mpu_sta( void );" .B "void __mpu_stc( void );" .B "void __mpu_sto( void );" .B "void __mpu_sts( void );" .B "void __mpu_stp( void );" .B "void __mpu_stz( void );" .B "void __mpu_str( void );" .B "void __mpu_stv( void );" .PP .B "void __mpu_cla( void );" .B "void __mpu_clc( void );" .B "void __mpu_clo( void );" .B "void __mpu_cls( void );" .B "void __mpu_clp( void );" .B "void __mpu_clz( void );" .B "void __mpu_clr( void );" .B "void __mpu_clv( void );" .PP .B "void __mpu_cma( void );" .B "void __mpu_cmc( void );" .B "void __mpu_cmo( void );" .B "void __mpu_cms( void );" .B "void __mpu_cmp( void );" .B "void __mpu_cmz( void );" .B "void __mpu_cmr( void );" .B "void __mpu_cmv( void );" .fi .SH DESCRIPTION \fBLibMPU\fP предоставляет восемь флагов целочисленных операций: .PP .nf \fBA\fP \- Auxiliary Carry Flag \fBC\fP \- Carry Flag \fBO\fP \- Overflow Flag \fBS\fP \- Sign Flag \fBP\fP \- Parity Flag (of lowest significant byte) \fBZ\fP \- Zero Flag \fBR\fP \- Major | Remainder \fBV\fP \- Invalid operation .fi .PP Функции для каждого флага сгруппированы по выполняемой операции: .nf .sp ┌───────—┬─────────────┬─────────────┬─────────────┬─────────────┐ │ \fBFlag\fP │ \fBGet\fP │ \fBSet\fP │ \fBClear\fP │ \fBComplement\fP │ ├───────—┼────────────—┼────────────—┼─────────────┼─────────────┤ │ \fBA\fP │ __mpu_gta() │ __mpu_sta() │ __mpu_cla() │ __mpu_cma() │ │ \fBC\fP │ __mpu_gtc() │ __mpu_stc() │ __mpu_clc() │ __mpu_cmc() │ │ \fBO\fP │ __mpu_gto() │ __mpu_sto() │ __mpu_clo() │ __mpu_cmo() │ │ \fBS\fP │ __mpu_gts() │ __mpu_sts() │ __mpu_cls() │ __mpu_cms() │ │ \fBP\fP │ __mpu_gtp() │ __mpu_stp() │ __mpu_clp() │ __mpu_cmp() │ │ \fBZ\fP │ __mpu_gtz() │ __mpu_stz() │ __mpu_clz() │ __mpu_cmz() │ │ \fBR\fP │ __mpu_gtr() │ __mpu_str() │ __mpu_clr() │ __mpu_cmr() │ │ \fBV\fP │ __mpu_gtv() │ __mpu_stv() │ __mpu_clv() │ __mpu_cmv() │ └────────┴─────────────┴─────────────┴─────────────┴─────────────┘ .fi .PP Функции \fBполучения\fP возвращают текущее значение соответствующего флага. Функции \fBустановки\fP устанавливают его, функции \fBсброса\fP сбрасывают, а функции \fBинвертирования\fP изменяют его текущее значение на противоположное. Все операции относятся к контексту \fBLibMPU\fP текущего потока. .PP Функция \fB__mpu_clear_iflags()\fP сбрасывает все целочисленные флаги: \fBA\fP, \fBC\fP, \fBO\fP, \fBS\fP, \fBP\fP, \fBZ\fP, \fBR\fP and \fBV\fP. .PP Функция \fB__mpu_clear_mflags()\fP сбрасывает весь регистр флагов \fBLibMPU\fP, включая целочисленные и вещественные/математические флаги. .SH RETURN VALUE Функции получения возвращают \fB0\fP, если запрошенный флаг сброшен, и \fB1\fP, если он установлен. Функции установки, сброса и инвертирования флагов не возвращают значения. .SH SEE ALSO .BR real\-flags(3), .BR libmpu(7).