以binihex.asm为文件名,建立源程序如下:
; binihex.asm
prognam segment ; 定义代码段
main proc far
assume cs:prognam
start: ; 程序从此处开始执行
; 为正常返回DOS而设置堆栈
push ds
sub ax,ax
push ax
; 下面是程序的主要部分
mov ch,4 ; 4组二进制数
rotate: mov cl,4 ; 每组4个二进制位
rol bx,cl ; 把bx循环左移4位
mov al,bl ; 暂存bl到al中
and al,0fh ; 仅保留al的低4位
add al,30h ; 转换成ASCII码
cmp al,3ah ; 要显示的数大于9 ?
jl printit ; 如果数在0~9之间则显示
add al,7h ; 数在A~F之间则调整
printit:
mov dl,al ; 把要显示字符的ASCII码送dl
mov ah,2 ; 功能号2送ah
int 21h ; DOS功能调用
dec ch ; (ch)-1
jnz rotate ; 4组都处理完?否,循环处理下一组
ret ; 返回DOS
main endp ; 主程序main结束
prognam ends ;
代码段结束
end start ;
结束汇编