Here is what I think is a pretty good example of some different things I was able to do with MAC addresses and assignments with a configuration for dhcp version 3.05. This is the version I tested and implemented this config with:

authoritative;
ddns-update-style none;

option domain-name “domain.name”;
option domain-name-servers xxx.xxx.xxx.xxx;
option subnet-mask 255.xxx.xxx.xxx;
option routers xxx.xxx.xxx.xxx;
option netbios-name-servers xxx.xxx.xxx.xxx;
option netbios-node-type 8;
deny bootp;
default-lease-time 864000; # 10 days
server-name “dhcp.server.name”;

# To assign a particular range to certain NICs
group {
subnet xxx.xxx.xxx.xxx netmask 255.xxx.xxx.xxx {
class “TERMINALS” {
match substring (hardware,1,3);
}
subclass “TERMINALS” 00:80:64;
pool {
allow members of “TERMINALS”;
range xxx.xxx.xxx.1 xxx.xxx.xxx.254;
}
pool {
range xxx.xxx.yyy.1 xxx.xxx.yyy.254;
}

# To statically assign the an address to a particular MAC address
host hostname1 {
hardware ethernet XX:XX:XX:XX:XX:XX;
fixed-address xxx.xxx.zzz.1;
}
host hostname2 {
# hardware ethernet YY:YY:YY:YY:YY:YY;
fixed-address xxx.xxx.zzz.2;
}
}
}

# To offer addresses to remote subnets.
group {
# This is a generic example that will provide only one address.
# The range can be changed to provide more addresses.
subnet zzz.zzz.zzz.0 netmask 255.xxx.xxx.xxx {
range zzz.zzz.zzz.200 zzz.zzz.zzz.200;
}

# This example will only assign one address to a particular MAC address.
# This is the only NIC that will get an address. All others will not be
# offered an address on this subnet.
subnet aaa.aaa.aaa.0 netmask 255.xxx.xxx.xxx {
class “PC” {
match substring (hardware,1,6);
}
subclass “PC” ZZ:ZZ:ZZ:ZZ:ZZ:ZZ;
pool {
allow members of “PC”;
range aaa.aaa.aaa.203 aaa.aaa.aaa.203;
}
}

# This example will open up a range of addresses, and offer the same address
# each time to the NIC with MAC address described as hostname3
subnet bbb.bbb.bbb.0 netmask 255.xxx.xxx.xxx {
range bbb.bbb.bbb.200 bbb.bbb.bbb.210;
group {
host hostname3 {
hardware ethernet AA:AA:AA:AA:AA:AA;
fixed-address bbb.bbb.bbb.222;
}
}

}
}