Updates:
- moo now labels bit positions (from jsg@, see below)
- pledged.
- regress cleaned up

Port nits:
- moved to GitHub
- fix COMMENT

Labeled bit positions from jsg@:

This diff changes moo to print numbers seperated by newlines
rather than tabs so that the main part of the diff works properly.

That is printing out labels for bit positions, while the moo code
currently won't take a number with >= 100 binary digits the label
code should be able to deal with quite large numbers.

For example take the following FreeBSD code:

        pci_write_config(dev, 0x40, 0x80c0a131, 4);
        pci_write_config(dev, 0x80, 0x01200000, 4);

To figure out what the hell this is doing when looking at a datasheet
we can do:

$ ./moo -lb 2 0x80c0a131                                                
  33222222222211111111110000000000
  10987654321098765432109876543210
0b10000000110000001010000100110001

$ ./moo -l 0x01200000 
0x1200000
18874368
0110000000
  2222211111111110000000000
  4321098765432109876543210
0b1001000000000000000000000

$ ./moo 0x01200000           
0x1200000
18874368
0110000000
0b1001000000000000000000000

$ ./moo -lb2 "0b1011 << 4" 
  76543210
0b10110000

Reply via email to