m8rs232transmit07232026.asm

;; (c) david vajda
;; 07/13/2026
;; rs232 transmit m8

.include "m8def.inc"

ldi r16, HIGH (RAMEND)
out SPH, r16
ldi r16, LOW (RAMEND)
out SPL, r16

ldi r16, HIGH (25)
out UBRRH, r16
ldi r16, LOW (25)
out UBRRL, r16

;; ldi r16, (1 << URSEL) | (0 << UCSZ2) | (1 << USBS)
ldi r16, (1 << URSEL)
out UCSRC, r16
ldi r16, (1 << UPM0) | (1 << TXEN)
out UCSRB, r16


main002:
ldi r16, HIGH (msg001*2)
mov ZH, r16
ldi r16, LOW (msg001*2)
mov ZL, r16
main001:
lpm r16, Z+
subi r16, 0x00
breq main002
rcall rs232transmit
rjmp main002

msg001: .db "david@https://www.vajda-breadboard.de", 10, 13, 0x00

rs232transmit:
sbis UCSRA, UDRE
rjmp rs232transmit
out UDR, r16
ret