汇编排序输出的问题

JY00876789 2009-11-19 12:50:45
初学汇编,有一个10个数进行排序后输出。(升序)
a dw FFFFh,97,1,53,1024,47,-2000,0,-3,7FFFh

汇编这个程序怎么写?(化成10进制输出,化成16进制输出,不做修改输出)

例如:
输出:
16进制:FFFF,F830,FFFD,0000,0001,002F,0035,0061,0400,7FFF
10进制:-32768,-2000,-3,0,1,47,53,97,1024,32767
原数列:FFFFh,-2000,-3,0,1,47,53,97,1024,7FFFh
...全文
121 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
JY00876789 2009-11-20
  • 打赏
  • 举报
回复
是我的错误!对那个补码混乱。
nanlingcg 2009-11-19
  • 打赏
  • 举报
回复
FFFFh,97,1,53,1024,47,-2000,0,-3,7FFFh
输出是完全可能的。。。
问题是你那要求有点问题。。。

输出:
16进制:FFFF, F830,FFFD,0000,0001,002F,0035,0061,0400,7FFF
10进制:-32768,-2000,-3,0,1,47,53,97,1024,32767
原数列:FFFFh,-2000,-3,0,1,47,53,97,1024,7FFFh

看你的意思,FFFFHh是有符号原码咯,那也不等于-32768D啊,应该等于-323767D啊,是补码更是-1了。。。十六位有符号原码:-32767~-0,+0~+32767 (D),十六位补码可以表示出-32768 (D),用的是8000H.

排除你的一点错误之外,就你的意思是可以实现的,只不过要先转换成同一种表示法再排序再转来转去,最后输出。有时间耗是完全可以的!

大熊猫侯佩 2009-11-19
  • 打赏
  • 举报
回复
可以将它们一致视为有符号数,这样0ffffh的表示就没有歧义了。
你可以调用C库中的排序和显示代码,也可以自己写算法,我相信
你的课本里一定有讲解,so see book...(就不说RTFM了 :) )
JY00876789 2009-11-19
  • 打赏
  • 举报
回复
有没有可以按这个要求实现这个输出呢?
大熊猫侯佩 2009-11-19
  • 打赏
  • 举报
回复
你要求的功能有问题.
0ffffh和-3在其为有符号数或无符号数时ascii表示是不同的,
按你的要求将0xffffh显示为"-1"也不错。

21,453

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧