INCLUDE EFR32MG12.inc ; CPU register definitions INCLUDE terminal.inc EXPORT main ;------------------------------------- ; DATA segment in RAM AREA RAM, DATA, NOINIT, READWRITE, ALIGN=3 buf SPACE 80 ; input string buffer ;------------------------------------- ; CODE segment in flash (ROM) AREA |.text|, CODE, READONLY main PROC ; main user code bl Terminal_setup ; setup TeraTerm communication loop ; read string demo ldr R0, =prompt1 ; pass prompt address bl WriteString ; print "Enter string: " ldr R0, =buf ; pass buffer address movs R1, #79 ; max accepted string length bl ReadString ; read string, R2 = string length ldr R0, =prompt3 ; pass prompt address bl WriteString ; print "You entered: " ldr R0, =buf bl WriteString ; control output of input string bl NewLine ; start new line ;----------------------------------------------------------- ; read char demo ldr R0, =prompt2 ; pass prompt address bl WriteString ; print "Enter character: " bl ReadChar ; get char from the user push {R0} ; save input character bl NewLine ldr R0, =prompt3 ; pass prompt address bl WriteString ; print "You entered: " pop {R0} ; R0 = save character bl WriteChar ; print input char bl NewLine ; start new line bl NewLine ; start new line b loop ; loop back ENDP prompt1 DCB "Enter string: ", 0 prompt2 DCB "Enter character: ", 0 prompt3 DCB "You entered: ", 0 ALIGN END