PDA

Просмотр полной версии : Проверка бита регистра PSW в функции



GrAMm.78
03.06.2015, 16:09
Может, где-то на форуме данная проблема и описана, но подскажите, пожалуйста. В общем, мне нужно в моей функции опросить состояние бита регистра PSW. То есть, в условии

if (GetPSBStatus(256))
SetPSB(356);
else
ResetPSB(356);

вместо PSB необходимо проверять бит регистра PSW. Как это сделать?

petera
03.06.2015, 22:08
Может, где-то на форуме данная проблема и описана, но подскажите, пожалуйста. В общем, мне нужно в моей функции опросить состояние бита регистра PSW. То есть, в условии

if (GetPSBStatus(256))
SetPSB(356);
else
ResetPSB(356);

вместо PSB необходимо проверять бит регистра PSW. Как это сделать?
Операции AND еще никто не отменял:rolleyes:


if (PSW[256] & 0x01) //проверить бит 0
SetPSB(356);
else
ResetPSB(356);

if (PSW[256] & 0x02) //проверить бит 1
SetPSB(357);
else
ResetPSB(357);

if (PSW[256] & 0x04) //проверить бит 2
SetPSB(358);
else
ResetPSB(355);
//и т.д.

//----------------------------
//или так
if (PSW[256] & (1<<0)) //проверить бит 0
SetPSB(356);
else
ResetPSB(356);

if (PSW[256] & (1<<1)) //проверить бит 1
SetPSB(357);
else
ResetPSB(357);

if (PSW[256] & (1<<2)) //проверить бит 2
SetPSB(358);
else
ResetPSB(358);

if (PSW[256] & (1<<3)) //проверить бит 3
SetPSB(359);
else
ResetPSB(359);
//и т.д.

GrAMm.78
04.06.2015, 07:49
Спасибо за ответ. Еще, где можно найти список команд (SetPSB, ResetPSB и т.д.) для функций СП270?

petera
04.06.2015, 09:54
Спасибо за ответ. Еще, где можно найти список команд (SetPSB, ResetPSB и т.д.) для функций СП270?
18457
Скачать можно здесь http://www.owen.ru/forum/showthread.php?t=14173&p=103061&viewfull=1#post103061

ЗЫ. Некоторые функции, с примерами использования, описаны здесь http://www.owen.ru/forum/showthread.php?t=14173