我是新手,请各位高手看一下,二进制转十六进制数输出到屏幕
DATAS SEGMENT
    STRING DB 'HELLO WORLD$'
DATAS ENDS

STACKS SEGMENT
    ;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
    MOV AX,DATAS
    MOV DS,AX
    MOV BX,1011000111111010B
    PUSH DS
    SUB  AX,AX
    PUSH AX
    MOV  CH,4
ROTATE:
    MOV  CL,4
    ROL  BX,CL
    MOV  AL,BL
    AND  AL,0FH
    ADD  AL,30H
    CMP  AL,3AH
    JL   PRINTIT
    ADD  AL,7H//为什么A--F不用执行PRINTIT可以正常输出到屏幕
PRINTIT:
    MOV DL,AL
    MOV AH,2
    INT 21H
    DEC CH
    JNZ ROTATE
    LEA DX,STRING
    MOV AH,9
    INT 21H
    MOV AH,4CH
    INT 21H
CODES ENDS
    END START