A fluid ejection assembly comprising: an address line for communicating a set of addresses; a set of data lines; a number of primitives, each primitive including a plurality of controllable activation devices, each activation device being coupled to the address line, each activation device corresponding to at least one address of the set of addresses, each address corresponding to a primitive function, wherein each activation device of a primitive is coupled to the same data line, and each primitive is coupled to a different data line; the fluid ejection assembly characterized by comprising: a buffer to: receive a series of data packets, each data packet including address bits representative of one address of the set of addresses and a set of print data bits, direct the address bits of the data packet to address logic, and place the data bits from print data portion of the data packets onto corresponding data lines; and address logic to receive the address bits from the buffer, wherein, for each data packet, the address logic is to encode the address represented by the address bits onto the address line, and wherein the at least one activation device corresponding to the encoded address is to activate the primitive function corresponding to the address based on the encoded address being on the address line, print data being present on the corresponding data line and a fire pulse being active. an address line for communicating a set of addresses; a set of data lines; a number of primitives, each primitive including a plurality of controllable activation devices, each activation device being coupled to the address line, each activation device corresponding to at least one address of the set of addresses, each address corresponding to a primitive function, wherein each activation device of a primitive is coupled to the same data line, and each primitive is coupled to a different data line; the fluid ejection assembly characterized by comprising: a buffer to: receive a series of data packets, each data packet including address bits representative of one address of the set of addresses and a set of print data bits, direct the address bits of the data packet to address logic, and place the data bits from print data portion of the data packets onto corresponding data lines; and address logic to receive the address bits from the buffer, wherein, for each data packet, the address logic is to encode the address represented by the address bits onto the address line, and wherein the at least one activation device corresponding to the encoded address is to activate the primitive function corresponding to the address based on the encoded address being on the address line, print data being present on the corresponding data line and a fire pulse being active. a buffer to: receive a series of data packets, each data packet including address bits representative of one address of the set of addresses and a set of print data bits, direct the address bits of the data packet to address logic, and place the data bits from print data portion of the data packets onto corresponding data lines; and receive a series of data packets, each data packet including address bits representative of one address of the set of addresses and a set of print data bits, direct the address bits of the data packet to address logic, and place the data bits from print data portion of the data packets onto corresponding data lines; and address logic to receive the address bits from the buffer, wherein, for each data packet, the address logic is to encode the address represented by the address bits onto the address line, and wherein the at least one activation device corresponding to the encoded address is to activate the primitive function corresponding to the address based on the encoded address being on the address line, print data being present on the corresponding data line and a fire pulse being active.