2 16 bytes

## ><>,39 16 bytes

"l2*0.|or|["090.


### Explanation

        BA
"l2*0.|or|["090.
"l2*0.|or|["     Pushes the quoted characters onto the stack
0    Pushes 0
90. Goes to A
[      Wipes the stack (requires the 0)
"          "090. Pushes the quoted characters onto the stack
l2*0.           Length is 4; goes to B
|or|       Reverses & prints the stack

A        B
""l2*0.|or|["090."
""                 No-op
l2*0.            Length is 0; goes to A
"l2*0.|or|["      Pushes the quoted characters onto the stack
0     Pushes 0
90.  Goes to B
|or|        Reverses & prints the stack


## ><>,39 16 bytes

"l2*0.|or|["090.


### Explanation

        BA
"l2*0.|or|["090.
"l2*0.|or|["     Pushes the quoted characters onto the stack
0    Pushes 0
90. Goes to A
[      Wipes the stack (requires the 0)
"          "090. Pushes the quoted characters onto the stack
l2*0.           Length is 4; goes to B
|or|       Reverses & prints the stack

A        B
""l2*0.|or|["090."
""                 No-op
l2*0.            Length is 0; goes to A
"l2*0.|or|["      Pushes the quoted characters onto the stack
0     Pushes 0
90.  Goes to B
|or|        Reverses & prints the stack


1

## ><>, 39 bytes

"!~l?!<r&[orl&"0[c2*&d0.>o<~~.!?@@0+1fl


Whew, this took a while. Can probably be golfed further.

### Explanation

             A
"!~l?!<r&[orl&"0[c2*&d0.>o<~~.!?@@0+1fl
"!~l?!<r&[orl&"                         Pushes the quoted characters onto the stack
0[                       Wipes the stack
c2*&                   Puts 24 into the register (&)
d0.                Goes to A
"             "0[c2*&d0.>o<~~.!?@@0+1fl Pushes the quoted characters onto the stack
!~l?!<                                 No-op (in this case)
r                                Reverses the stack
&[                              Wipes the stack, preserving the top &
o                             Outputs the top character on the stack
r                            Reverses the stack
l&                          Puts the current length of the stack into the register
Repeats until &=0, then errors

                B
""!~l?!<r&[orl&"0[c2*&d0.>o<~~.!?@@0+1fl"
""!~                                      No-op
l?!<                                  Reverses the IP direction
""!~l?!                                 " No-op
~~.!?@@0+1fl  If the length is 0, go to B
""!~l?!<r&[orl&"                        " Pushes the quoted characters onto the stack (backwards)
~~.!>@@0+1fl  No-op (length != 0)
>o<              Outputs all the characters on the stack, then errors


(Note: when I "wipe" the stack, it really creates a new stack; the old stack is still there and accessible)