In the barebones (which I have got working from a usb memory stick with Grub2 - hurrah!) there are the first lines that go
MODULEALIGN equ 1<<0 ; align loaded modules on page boundaries
MEMINFO equ 1<<1
Now I know that << means shift left, but since the first one means 1 shifted left by 0 places then isn't it just 1, so why not just write that.
And 1<<1 means 10 which is 2 so why not just write that?
And if you care to explain how this aligns the code on a page boundary I'd be pleased

Gordon