Print1SpaceAnd1CHAR  and  Print1CHARAnd1Space

Purpose: Place an ASCII space ' ' (32 = 0x20) and one other printable character into the COM1 the Transmit Buffer.
The routines' names indicate the order of the characer output.
Assumes:  Nothing.
Passed: R24   CHAR   cValue   the character to print, 7 to 254.
Returns: Nothing.
Alters: R24, the FLAGs (SREG), and the COM1 Transmit buffer
Example:  
.ORG  0x1000

PrintSNDigits:
   LDI     R30, 14               ; Loop initializer
   MOV     R31, R26              ; Command line tail pointer (NULL or not)

Loop:
   MOV     R24, R30              ; Specify which Signature BYTE to read and
   INC     R30                   ;  pre-advance it to the next one
   CALL    AReadSignatureBYTE
   CPSE    R31, R1               ; See which print path to take - if there was
   RJMP    ACharacterMode        ;  ANY command line tail, do alternate logic

   CALL    APrint0xHexBYTE       ; Print the value returned in "0x##" format
   CPI     R30, 24               ; If it has already printed the last one
   BRSH    APrintSND_Finish      ;  desired, exit the loop
   LDI     R24, ','              ; Specify the character to print, then jump to
   CALL    APrint1CHARAnd1Space  ;  output the 2 chars and return to our caller
   RJMP    ALoop

CharacterMode:
   CALL    APrint1SpaceAnd1CHAR  ; Print the CHARACTER rather than HEX
   SBRS    R24, 7                ; Exit if the Signature BYTE's MSBit is set
   RJMP    ALoop

PrintSND_Finish:
   JMP     APrintNewLine
Test it:
m>@ 4096   ; Unique MCU Serial Number:
0x55, 0x34, 0x37, 0x31, 0x35, 0x30, 0xFF, 0x11, 0x26, 0x25
m>@ 4096   ; Anything, really
 U 4 7 1 5 0
m>                                                                              
Notes: Both of these routines utilize the PrintCHAR and PrintSpace System Functions.
"Printable" means a character with a value between 7 to 254, inclusive. (see PrintCHAR for details.)
Dropin: 
(setup
code)
;   Setup for the Print1CHARand1Space() call:
; Passed:  R24 CHAR cPrint character to print                                                
; Returns: Nothing.
; Alters:  R24, the FLAGs and the COM1 Transmit Buffer

;   Setup for the Print1SpaceAnd1CHAR() call:
; Passed:  R24 CHAR cPrint character to print
; Returns: Nothing.
; Alters:  R24, the FLAGs, and the COM1 Transmit Buffer
Also see:  The PrintCHAR and PrintSpace System Functions.