| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1900 人关注过本帖
标题:把二进制转十六进制????
只看楼主 加入收藏
shanshan
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-5-27
收藏
 问题点数:0 回复次数:2 
把二进制转十六进制????
我们的实验题目:把32位二进制转化成十六进制
;将32位二进制转化成十六进制
data segment
dat dw 0abcdh,1234h
data ends
code segment
assume cs:code,ds:data
start:
mov ch,8
mov ax,data
mov ds,ax
lea si,dat
again: mov cl,4
mov bx,[si]
rol bx,cl
mov al,bl
and al,0fh
cmp al,10
jl less_than10
add al,37h
jmp print
less_than10: add al,30h
print: mov dl,al
mov ah,02h
int 21h
inc si
dec ch
jnz again
ret
code ends
end start
运行时是死循环,我不知道错在哪儿.
各位帮帮忙了!!!!
谢谢!!
搜索更多相关主题的帖子: 二进制 十六进制 
2006-06-01 23:02
xxygdufs
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2006-5-11
收藏
得分:0 
data segment
dat dw 0abcdh,1234h
data ends
code segment
assume cs:code,ds:data
start:
mov ch,8
mov ax,data
mov ds,ax
lea si,dat
again: mov cl,4
mov bx,[si]
rol bx,cl
mov al,bl
and al,0fh
cmp al,10
jl less_than10
add al,37h
jmp print
less_than10: add al,30h
print: mov dl,al
mov ah,02h
int 21h
inc si
dec ch
jnz again
mov ah,4ch
int 21h

code ends
end start
正确的应该是这样.你没有退回DOS的指令,而且里面的RET不要用,它是用在子程序里面的,你里面根本没有子程序.

2006-06-03 07:56
shanshan
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-5-27
收藏
得分:0 

恩.我改了.
运行结果怎么是A3100000啊????

2006-06-03 22:14
快速回复:把二进制转十六进制????
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022180 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved