本文主要是介绍汇编语言程序设计 - 将BX中的无符号数以八进制形式输出,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
8086汇编习题
题目描述:将BX中的无符号数以八进制形式输出
思路:
1,往bx写入一个数
2,每三位bit合起来显示一个八进制数,16/3=5余1,所以先处理一位最高位,再循环5次处理
3,用循环移位的方法,先输出第一位(最高位
4,用循环移位的方法,每次移动3位到最右边,将BL复制到DL中操作,按位与最后3位,加上'0'对应的aciil码
5,中断输出DL的内容,继续循环。
DATAS SEGMENTVAR DW 6C3BH
DATAS ENDSSTACKS SEGMENTDW 100H DUP(?)TOP LABEL WORD
STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKS
START:MOV AX,DATASMOV DS,AXMOV AX,STACKSMOV SS,AXLEA SP,TOP ;初始化MOV BX,VAR ;往bx写入一个数;先输出第一位(最高位ROL BX,1 ;左移BX最高位到CF标志位MOV DL,0 ;清空DXADC DL,'0' ;将DL的acill码移动到0位置,加上CF判断位MOV AH,2 INT 21H ;中断输出DL内容MOV SI,5L1: MOV CL,3 ;每次移动3位到最右边ROL BX,CLMOV DL,BL ;将BL复制到DL中操作AND DL,7 ;按位与最后3位,7的二进制表示是111ADD DL,'0' ;加上'0'对应的aciil码MOV AH,2 INT 21H ;中断输出DL内容DEC SICMP SI,0JNZ L1MOV AH,4CHINT 21H
CODES ENDSEND START
;输入内容:6C3BH
;输出内容:066073
这篇关于汇编语言程序设计 - 将BX中的无符号数以八进制形式输出的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!