Перейти к содержанию
  • записи
    104
  • комментариев
    125
  • просмотров
    26 198

CE Lua. Делаем EFLAGS таблицу


MasterGH

725 просмотров

Таблица флагов нужна для определения срабатывания условного прыжка в пошаговой отладке

 

Скрытый текст

eflags.thumb.png.cd4bb3d8a741b766fc85ede

 

Скрытый текст

eflags2.thumb.png.a10c928ec7aa9aabd247f7

 

Скрытый текст

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 Комментариев


Рекомендуемые комментарии

Комментариев нет

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.