CE Lua. Делаем EFLAGS таблицу
Таблица флагов нужна для определения срабатывания условного прыжка в пошаговой отладке
Скрытый текст
function ToBits(num, bits)
local t = {}
for b = bits, 1, -1 do
rest = math.fmod(num,2)
t[b] = math.floor(rest)
num = (num-rest)/2
end
if num == 0 then
return t
else
return {'Not enough bits to represent this number'}
end
end
local bitsTable = ToBits(EFLAGS, 16)
local tableEFLAGS =
{
OF = bitsTable[17-12],
DF = bitsTable[17-11],
SF = bitsTable[17-8],
ZF = bitsTable[17-7],
AF = bitsTable[17-5],
PF = bitsTable[17-3],
CF = bitsTable[17-1]
}
for k,v in pairs(tableEFLAGS) do
print (k..' = '..v)
end
print(EFLAGS)
local s = ''
for i=1,#bitsTable do
s = s..bitsTable[i]
end
print(s)
0 Комментариев
Рекомендуемые комментарии
Комментариев нет
Пожалуйста, войдите, чтобы комментировать
Вы сможете оставить комментарий после входа в
Войти