PORTB = $6000 PORTA = $6001 DDRB = $6002 DDRA = $6003 E = %10000000 RW = %01000000 RS = %00100000 .org $8000 reset: lda #%11111111 ; set all pins on port B to output sta DDRB lda #%11100000 ; set top 3 pins on port A to output sta DDRA ; init display lda #%00111000 ; set 8-bit mode, 2 line display, 5x8 font. sta PORTB lda #0 ; clear RS/RW/E bits sta PORTA lda #E ; set enable bit to send instruction sta PORTA lda #0 ; clear RS/RW/E bits sta PORTA ; turn display on lda #%00001110 ; set display and curson on, do not blink sta PORTB lda #0 ; clear RS/RW/E bits sta PORTA lda #E ; set enable bit to send instruction sta PORTA lda #0 ; clear RS/RW/E bits sta PORTA ; set entry mode lda #%00000110 ; set entry mode increment and display shift off sta PORTB lda #0 ; clear RS/RW/E bits sta PORTA lda #E ; set enable bit to send instruction sta PORTA lda #0 ; clear RS/RW/E bits sta PORTA lda #"H" sta PORTB lda #RS ; RS set sta PORTA lda #(RS | E) ; RS and E set sta PORTA lda #RS ; RS set sta PORTA lda #"e" sta PORTB lda #RS ; RS set sta PORTA lda #(RS | E) ; RS and E set sta PORTA lda #RS ; RS set sta PORTA lda #"l" sta PORTB lda #RS ; RS set sta PORTA lda #(RS | E) ; RS and E set sta PORTA lda #RS ; RS set sta PORTA lda #"l" sta PORTB lda #RS ; RS set sta PORTA lda #(RS | E) ; RS and E set sta PORTA lda #RS ; RS set sta PORTA lda #"o" sta PORTB lda #RS ; RS set sta PORTA lda #(RS | E) ; RS and E set sta PORTA lda #RS ; RS set sta PORTA lda #"," sta PORTB lda #RS ; RS set sta PORTA lda #(RS | E) ; RS and E set sta PORTA lda #RS ; RS set sta PORTA lda #" " sta PORTB lda #RS ; RS set sta PORTA lda #(RS | E) ; RS and E set sta PORTA lda #RS ; RS set sta PORTA lda #"w" sta PORTB lda #RS ; RS set sta PORTA lda #(RS | E) ; RS and E set sta PORTA lda #RS ; RS set sta PORTA lda #"o" sta PORTB lda #RS ; RS set sta PORTA lda #(RS | E) ; RS and E set sta PORTA lda #RS ; RS set sta PORTA lda #"r" sta PORTB lda #RS ; RS set sta PORTA lda #(RS | E) ; RS and E set sta PORTA lda #RS ; RS set sta PORTA lda #"l" sta PORTB lda #RS ; RS set sta PORTA lda #(RS | E) ; RS and E set sta PORTA lda #RS ; RS set sta PORTA lda #"d" sta PORTB lda #RS ; RS set sta PORTA lda #(RS | E) ; RS and E set sta PORTA lda #RS ; RS set sta PORTA lda #"!" sta PORTB lda #RS ; RS set sta PORTA lda #(RS | E) ; RS and E set sta PORTA lda #RS ; RS set sta PORTA loop: jmp loop .org $fffc .word reset .word $0000