输入16位二进制数将其转换为10进制显示
以上是我编的一部分,但是到了46行,我只编了一个显示“=”,可是结果却显示了三个“=”,为什么?还有十六进制怎么转换为十进制显示呢,不太会啊,求助大神……
不是很懂哦,顶下,坐等大神 :lol:貌似我也不懂! 好厉害的样子。 我想把bcd变量中2个字节的bcd码转化为4个字节的bcd码,请懂的帮忙
code segment
assume cs:code
bcd db 12h,34h
bcd2 db 0,0,0,0
start: mov al,bcd
接下来怎么编? 本帖最后由 qq348093088 于 2013-11-27 16:13 编辑
;子程序
crlf:
mov ah,2
mov dl,0x0d
int 0x21
mov dl,0x0a
int 0x21
;-----------------
;你把0DH,0AH传给AL了,而DL还是= 1.直接用0nXX,不要用H后缀
2.16转10进制后,再加30,就可以显示了。
我没仔细看,只看了你的问题。
至于会出现===,可能是算法出错,但是它没显示出来,直接显示=号 qq348093088 发表于 2013-11-25 10:32 static/image/common/back.gif
;子程序
crlf:
mov ah,2
我也发现了,一时手误…… ravenhu13 发表于 2013-11-25 11:30 static/image/common/back.gif
1.直接用0nXX,不要用H后缀
2.16转10进制后,再加30,就可以显示了。
我没仔细看,只看了你的问题。
为什么呢?为什么一定要用0nXX的形式啊 ;关于16进制转10进制显示
;我是用的nasm,和masm区别不大
jmp _start:
_data_16:
dw 0xABCD
_data_10:
db 0,0,0,0,0
_start:
mov ax,_data_16
mov ds,ax
mov ax,_data_10
mov es,ax
mov ax,
mov bx,10
mov cx,5
mov si,cx
_rep:
dec si
xor dx,dx
div bx
mov ,dl
loop _rep
mov ax,0xB800
mov ds,ax
xor bx,bx
mov ah,7
mov cx,5
_show:
mov al,
add al,0x30
mov ,ax
inc si
inc dx
inc dx
loop _show
jmp $ 不懂顶下楼主 学习学习 强烈支持楼主ing……
页:
[1]