汇编语言如何将数值以十进制的形式输出到屏幕上

数值是二进制存贮的,但要用十进制转的形式化为ASCⅡ码才能输出到屏幕。但不知道怎么做才好?

设置一字符串sBuf长度为14满足最大长度就OK
看你的数值长度,如果2字节的,即0~65535的值,可以用以下代码。

要转换的放到AX里,字符串尾放SI里

MOV AX,VAL
XOR DX,DX
MOV BX,10
AGAIN: DIV BX
ADD AL,30H
MOV [SI],AL
DEC SI
XOR AX,AX
CMP DX,0
JNZ AGAIN:

之后把SI所指向的字符串输出就OK了。
温馨提示:内容为网友见解,仅供参考
无其他回答

汇编语言如何将数值以十进制的形式输出到屏幕上
JNZ AGAIN:之后把SI所指向的字符串输出就OK了。

...把BX寄存器中的数以十进制的形式显示在屏幕上。
每次循环环左移四位 MOV DX,BX AND DL,0FH ;每次取低四位,来表示一个十六进数 ADD DL,30H ;转化成为ASSIC码 CMP DL,3AH ;判断DL是否大于10的ASSIC码(A+30H) JB NEXT ADD DL,7 ;大于10再加上7 NEXT: MOV AH,2 INT 21H DEC CH JNZ LOP MOV DX,OFF...

...已知计数器CX内存放的数值是20 求:将CX中的数值以10进制的方式...
最简单的办法是用栈。因为这种算二进制、十六进制、十进制转换的,在数据结构里就是典型的栈操作。sseg segment stack dw 512 dup(?)sseg ends cseg segment assume cs:cseg, ss:sseg start:mov cx, 20012 ;为了更能看出效果,这里改成了一个较大的数。你直接改成20就行了。mov bx, 10 ...

汇编语言怎样将内存中的数据在屏幕上以十进制形式显示出来
STACKS ENDS ;DATAS SEGMENT ;数据段,num dw 12334 DATAS ENDS CODES SEGMENT ;代码段 ASSUME CS:CODES,DS:DATAS START: MOV AX,DATAS ;初始化 MOV DS,AX mov ax,num ;取内存数到AX call show ;显示十进制形式 mov ah,7 ;暂停 int 21h MOV AX,4C00H ;退出程序 INT 21H show:xo...

汇编语言如何显示10进制数,比如dl中存放了30这个10进制数,如何显示出 ...
在汇编语言中要以十进制数显示一个寄存器的内容,需要依次分离出它的万、千、百、十、个位数字并转换为对应的ASCII码才能显示。比如要以十进制显示DL中的内容的程序段为:MOVAL,DLXORAH,AHMOVBL,100DIVBL;AL中的商为百位数MOVDL,ALORDL,30H;转换为ASCII码MOVAL,AHMOVAH,02H;显示百位数INT21HXORAH...

[汇编]请问汇编语言中如何输出十进制计算结果?
一般汇编语言教材中都有这个问题的例题,建议去找本书参考一下。大体需要5个步骤,过程如下:1. 将AX中内容除以10000,得到的商是万位数,余数暂存起来。将所得的商转成ASCII码,输出显示。2. 将刚才的余数除以1000,得到的商是千位数,余数暂存起来。将所得的商转成ASCII码,输出显示。3. 将刚才的...

运用汇编语言怎样以2进制、8进制、10进制、16进制方式输出10进制的数...
本文阐述了如何运用汇编语言实现以2进制、8进制、10进制、16进制方式输出10进制数值的计算结果。首先,通过`assume`语句定义代码段`code`和数据段`data`,以及堆栈段`stack`。数据段用于存放待转换的十进制数,堆栈段用于临时存储中间结果。接下来定义了转换函数`dtoc`,用于将十进制数转换为各种进制表示。

汇编语言,怎么在电脑显示396这个十进制数字呀
START:push cs pop ds mov ax,num call show ;显示 10 进制结果 mov ah,7 int 21h exit:mov ah,4ch int 21h show: ;将双字Hex化为 N 进制并显示 mov bx,N xor cx,cx Q0:xor dx,dx div bx or dx,0e30h push dx inc cx cmp ax,0 jnz Q0 Q1:pop ax int 10h loop Q1 ret ...

谁能教我用汇编语言编一个从1加到100的程序,,并用十进制在屏幕输出
mov ax,data mov ds,ax mov ax,1 ;给ax赋初值 mov cx,99 ;总共循环99次 lop: inc ax ;ax增加1 add abc,ax ;相加,最终的结果就在变量abc里 loop lop ;循环 mov ah,4ch int 21h main endp code ends end main 不过本程序没有显示功能 ...

汇编语言:编一程序把键入的十六进制数转化 成十进制数。要求 1:在屏 ...
编一程序,把键入的十六进制数,在屏幕上用十进制数显示出来。键入的十六进制数,不限位数。如超出四位,只将最后四位做转换并显示。若键入非十六进制数,则不予显示,等待继续输入。键入回车符,结束输入。程序如下:

相似回答
大家正在搜