          .ORIG   x3400
TstAsgn5  LDR     R0,R5,#7       ;; value
          LDR     R1,R5,#6       ;; base
          LDR     R2,R5,#5       ;; type
          LDR     R3,R5,#4       ;; char

          LD      R4,MDecOff
          ADD     R2,R2,#-3
          BRnp    notHex
          ADD     R4,R4,#-7      ;; to -55
          LD      R2,LowMask
          AND     R3,R3,R2

notHex    ADD     R3,R3,R4       ;; R3 has adjusted character

          ADD     R1,R1,#-10
          BRn     Base8
          BRp     Base16
          ADD     R1,R0,#0
          ADD     R0,R0,R0       ;; double
          ADD     R0,R0,R0       ;; quadruple
          ADD     R0,R0,R1       ;; quintuple
          ADD     R0,R0,R0       ;; decituple
          BR      StoreR0
Base16    ADD     R0,R0,R0
Base8     ADD     R0,R0,R0
          ADD     R0,R0,R0          
          ADD     R0,R0,R0
StoreR0   ADD     R0,R0,R3
	  STR     R0,R5,#3
          RET

MDecOff   .FILL   #-48
LowMask   .FILL   xFFDF
          .END
