Cita:
Empezado por duilioisola
Es esto lo que quieres?
Código Delphi [-]
Function IsBitEnable(freg,bitnum:byte):boolean;macrolike;
begin
case bitnum of
1 : bitnum := 1;
2 : bitnum := 2;
3 : bitnum := 4;
4 : bitnum := 8;
5 : bitnum := 16;
6 : bitnum := 32;
7 : bitnum := 64;
8 : bitnum := 128;
result := (freg and bitnum) = bitnum;end
|
La idea es esa, pero en assembler. Otro dato, es que yo pondria:
Código Delphi
[-]
Function IsBitEnable(freg,bitnum:byte):boolean;macrolike;
begin
case bitnum of
1 : bitnum := $1;
2 : bitnum := $2;
3 : bitnum := $4;
4 : bitnum := $8;
5 : bitnum := $10;
6 : bitnum := $20;
7 : bitnum := $40;
8 : bitnum := $80;
result := (freg and bitnum) = bitnum;
end;
por la sencilla razón de conversión de datos. Es decir, el peso delbit 7 leido, será de 127 y no de 128, lo que trae conflictos a la horade jugar con máscaras.
__________________
Código Delphi
[-]
try
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;