Код:.TITLE TEST
.MCALL .EXIT,.PRINT
START:: MOV #DATA,R5
CALL PRDAT
.EXIT
PRDAT:: CALL @PC ;PROPAGATE CODE TWO TIMES
MOV #BUFF,R0 ;BUFFER ADDRESS
MOV @R5,R1 ;VALUE
MOV #16.,R2 ;BIT COUNT
10$: CLR -(SP) ;INIT CHAR
ROL R1 ;SHIFT OUT
ROL @SP ;SHIFT IN
BIS #'0,@SP ;CONVERT TO ASCII
MOVB (SP)+,(R0)+ ;PUT INTO BUFFER
SOB R2,10$ ;TO NEXT BIT
MOVB #<' >,(R0)+ ;SPACE
MOV (R5)+,R1 ;VALUE
CLR R2 ;SUPPRESS LEADING ZEROS
CALL $CBOMG ;CONVERT TO ASCII
CLRB @R0 ;MAKE ASCIZ
.PRINT #BUFF ;PRINT
RETURN ;RETURN
DATA: .WORD 64152,164377
BUFF: .BLKB 80.
.END START
Подпрограмма $CBOMG есть в родном SYSLIB от RT-11. Если вместо CLR R2 сделать перед вызовом MOV PC,R2, то ведущие нули подавляться не будут.Код:.EX TEST
0110100001101010 64152
1110100011111111 164377
.

