Das mit dem PullUp's passt schon soweit. Die internen PullUp's sind aktiviert. Damit genügt ein Taster genen GND um Low-Aktiv zu schalten (gedrückt = 0, losgelassen, Ruhestellung = 1).

Code:
Ddrd = &B11110000                                           'Pin PD4 bis PD7 als Ausgänge 
...
Portb.0 = 1                                                 'Taster 3 
Portd.2 = 1                                                 'Taser  1 
Portd.3 = 1                                                 'Taster 2
Nach dem Code sind die Pins PD0, PD2 und PD3 intern auf High gelegt mit dem internen Widerstand.

DDR = 0
PORT = 1

ist immer interner PullUp

DDR = 0
PORT = 0

ist immer ohne internen PullUp

Grüße Wolfgang