2025-07-18 ...before ...m820250705003rs232transmit.asm

;; (C/2) David Vajda
;; 2025-07-05
;; RS232-transmit


;; baudrate: 2200 - means 25, in UBBR(H/L)??

.include "m8def.inc"

.equ BAUDRATEVAL = 25

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

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

ldi r16, (1 << UCSZ1) | (1 << UCSZ0) | 1 << URSEL
out UCSRC, r16

ldi r16, (1 << TXEN)
out UCSRB, r16

rs232transmitloop1:
ldi r16, 'h'
rcall rs232transmit
ldi r16, 't'
rcall rs232transmit
ldi r16, 't'
rcall rs232transmit
ldi r16, 'p'
rcall rs232transmit
ldi r16, 's'
rcall rs232transmit
ldi r16, ':'
rcall rs232transmit
ldi r16, '/'
rcall rs232transmit
ldi r16, '/'
rcall rs232transmit
ldi r16, 'd'
rcall rs232transmit
ldi r16, 'v'
rcall rs232transmit
ldi r16, 'a'
rcall rs232transmit
ldi r16, 'j'
rcall rs232transmit
ldi r16, 'd'
rcall rs232transmit
ldi r16, 'a'
rcall rs232transmit
ldi r16, '.'
rcall rs232transmit
ldi r16, 'd'
rcall rs232transmit
ldi r16, 'e'
rcall rs232transmit
ldi r16, 10
rcall rs232transmit
ldi r16, 13
rcall rs232transmit
rjmp rs232transmitloop1

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