题目描述:编写一段子程序BINIHEX,完成十六进制的输出,需要输出的书在AX。
分析:数据在寄存器是二进制保存的,每四位对应一位十六进制,可以通过循环移位输出。
代码:
code segment start: assume cs:code main proc far mov ax,1256 call BINIHEX mov ah,4CH int 21h ret MAIN ENDP ;================================= BINIHEX proc near mov bx,ax mov cH,4 ;循环次数 L: MOV CL,4 rol bx,CL mov dl,bl and dl,0FH ;保留最低四位 cmp dl,10 ;判断是否小于10 jb next add dl,7H ;大于10(A..F),多加7 next: add dl,30H ;输出 mov ah,02h int 21h DEC CH JNZ L ret BINIHEX ENDP code ends end start