www.rtmj.net > [汇编语言]:将AX中的二进制数转换成ASCII码,并用9号功能显示结果。 给出的编程思路:将被

[汇编语言]:将AX中的二进制数转换成ASCII码,并用9号功能显示结果。 给出的编程思路:将被

假设,AX=3A4BH,显示十进制数 14923.并不是显示其 ASCII 码.程序如下:ASSUME CS:CC, DS:QWER;------------------------------------- QWER SEGMENT ;数据段 DATA DB ' $' QWER ENDS;------------------------------------- CC SEGMENT

首先,AX中有16个二进制数位,从ASCBUF开始的连续5个内存单元中存放不了全部,所以要改成“转换的结果放在从ASCBUF开始的连续16个内存单元中”方法很简单:将AX寄存器循环向左移位,有进位则是1(存入其ASCII码31H),否则是0(存入其ASCII码30H).MOV CX,16MOV BX,OFFSET ASSBUFNEXT:ROL AX,1JC BE1MOV DL,30HJMP L1BE1:MOV DL,31HL1:MOV [BX],DLINC BXLOOP NEXT

1.lea di,@@Temp_Save[6]的意思是数据存储区的第六字节,最前面(Temp_Save[1])放高位,后面(Temp_Save[6])放低位,实际上AX化成十进制只需要5位数.2.div bx ,AX是你要转换的十六进制数,除以BX(10)的目的是从低位到高位把十六进制数转换成十进制数.3.or dl,30h 是把转换成十进制的BCD码转换成能显示的ASCII码(0H->30H,1H->31H,..,9H->39H).4. test ax,0ffffh 测试AX是否为零,若为零则不用再做转换了5.@@Temp_Save db 7 dup(?)存放转换后的数据

start lea gr0,0 ; 转换结果寄存器清 0 lea gr2,5 ; 循环计数器 lea gr1,0 ;地址指针(偏移量) l1 sll gr0,1 ;转换结果*10, 先乘以 2 st gr0,reg ; 暂存 2*x sll gr0,2 ;2*x*4=8*x add gr0,reg ; 8*x + 2*x ld gr3,str,gr1 ; 取一位 ascii 码 and gr3,c000f ;

举个例子 数字1 的ASCII是 31 的二进制是“1111”; 而数字1的二进制只是 “1”; ASCII码是一种编码方式,如果取得一个“1111”的ASCII码,那么系统就会自动解析为数字1. 数据类型表示数字的类型如int,double 等类型在内存中是以换算

START LEA GR0,0 ; 转换结果寄存器清 0 LEA GR2,5 ; 循环计数器 LEA GR1,0 ;地址指针(偏移量) L1 SLL GR0,1 ;转换结果*10, 先乘以 2 ST GR0,REG ; 暂存 2*X SLL GR0,2 ;2*X*4=8*X ADD GR0,REG ; 8*X + 2*X LD GR3,STR,GR

现在玩汇编的不多了,鼓励一下;入口参数; AX:16位二进制码,范围:0~270FH,即0~9999; 出口参数; AX:4位BCD码,范围0~9999 BIN2BCD PROC PUSH BX PUSH CX PUSH DX PUSH DI ;现场保护 MOV AX,1234 RE: MOV CX,10

题目:将两个二进制数转换为二进制数码的ASCII码. 调用程序与子程序之间的任务分工是:调用程序提供待转换的数据,数据位数(8位,16位)和转换后存放ASCII码的首址等三个参量的地址,子程序完成二进制数的ASCII码转换. ------------

MOV BX,AX MOV CH,4 NEXT0: MOV CL,4 ROL,BX,CL MOV DL,BL AND DL,0FH CMP DL,09H JBE NEXT1 ADD DL,07H NEXT1: ADD DL,30H MOV AH,02H INT 21H DEC CH JNZ NEXT0

转化1个数为R进制字符串.字符串表示,采用除r取余法,重复的计算n % r的余数和n/r的商,依次得到R进制的各个字符,值得注意的是,得到的R进制的各个字符顺序是从低位到高位,这和我们平时书写的顺序是相反的,为了和书写顺序保持一致,在最后阶段需要将字符串首尾交换. 步骤1: 将缓冲区首地址p和head 步骤2: c取n除以r的余数,即c=n % r 将c存入p处 p前进一个位置, 即p=p+1; n取n除以r的商, 即n=n/r; 步骤3: 如果n大于0,继续重复执行步骤2 步骤4: 将字符串倒置,即末字符和第1个字符交换,倒数第2个字符和第2个字符交换,依次类推.

相关搜索:

网站地图

All rights reserved Powered by www.rtmj.net

copyright ©right 2010-2021。
www.rtmj.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com