diff --git a/boot0.s b/boot0.s index a71c5d3..001c056 100644 --- a/boot0.s +++ b/boot0.s @@ -104,12 +104,11 @@ main: ; - If each entry is smaller than a sector, an integer number of them will fit into a sector. or eax, eax ; Test size != 0 because 128 * 2^n != 0 jz panic - and eax, 127 ; Test size is a multiple of 128 + test eax, 127 ; Test size is a multiple of 128 jnz panic ; Use the (n & (n - 1)) == 0 trick to test if the entry size is a power of 2. Since we already ; know it's a nonzero multiple of 128, if size is a power of 2 then size = 128 * 2^n holds. ; Therefore we don't need to bother dividing by 128 first (shr 7), which saves a couple of bytes. - mov eax, ebx mov ecx, ebx dec ecx and ecx, eax