发布于 2012-07-30 15:35:16
1楼
又碰上“出考题的老师”了,程序倒是写得挺干净的,但是什么故障描述也没有,这程序实现什么功能,出错的现象如何,都没说,只好猜一把了,猜得不对请勿吐槽。
指针倒没看出什么问题
不过一个比较明显的错误是
L DBD[MW4] //比较数据
L DBD[MW6] //比较数据
>=I
两个双字或实型数比较,却用了整型比较指令,除非两个高字都是零,不然结果多半是错的。
另外比较完了之后呢?
L DBW[MW20] //大于等于加一
从这句注释来看,是要比较结果大于等于的情况下,才加1的
但是程序里实际的情况是无论比较结果如何都会加1
如果要根据比较结果来执行的话要加跳转
L DBD[MW4] //比较数据
L DBD[MW6] //比较数据
>=I
JC lab1
L DBW[MW20] //大于等于加一
L 1
+I
T DBW[MW20]
lab1:L MW6 //排序存储数据 指针加一