The proposed new measures would "reduce the risk of people drinking excessive amounts of alcohol at home and then going out drunk and causing disorder", the Home Office said.
Asda branded the new code a "recipe for red tape" and raised concerns that decisions taken in individual licensing areas could distort competition.
"You could have a situation where a Morrisons that falls into one licensing area could continue to promote crates of beer, and an Asda on the other side of the road, in another licensing area, could not," said an Asda spokeswoman.
Morrisons also hit out at the proposals. "Why should a customer doing a weekly shop be unable to buy alcohol on promotion?" said Richard Taylor, corporate affairs director.
The government backed down on plans to charge a minimum price per unit of alcohol after it accepted the argument by retailers that such a move would punish sensible drinkers.
However, it will make retailers display the number of units of alcohol in the drinks it sells and will also make Challenge 21 mandatory in problem areas.