99的casl试题4

huangpengpeng 2003-09-13 05:11:18
本子程序是对15位二进位窜,求它得奇校验位,生成16位二进位窜,使16位二进位窜中有奇数个1。
进入此子程序,15位二进位窜在GR1的第1位至第15位,并假定GR1的第0位是0,求得的奇校验位装配在GR1的第0位上。
START
BEG PUSH 0,GR2
PUSH 0,GR3
LEA GR3,1

(1) LEA GR2,0,GR1

L1 SLL GR2,1

(2) JPZ L2

LEA GR3,1,GR3

L2 JZE L3
JMP L1

L3 (3) SLL GR3,15

ST GR3,WORK
ADD GR1,WORK
POP GR3
POP GR2
RET
WORK ds 1

END
(1)-(3)表示填空的内容,我不明白括号(2)那里怎么能实现统计1的个数。那个JPZ应该是对整个GR2的判定吧,不是对移出的那一位的判断阿,那既然整个gr2大于等于0就跳转,那LEA GR3,1,GR3怎么能统计出1的个数阿?
还有“GR1的第1位至第15位”这个第一位是从哪边数起的阿?左边第一位是第0位还是第15位阿?
...全文
31 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
huangpengpeng 2003-09-13
  • 打赏
  • 举报
回复
原来是这样改变fr的阿,很感谢阿!!!!加分的!
sb339 2003-09-13
  • 打赏
  • 举报
回复
SLL GR2,1 和 JPZ L2 一起实现1到15位是否为1的判断,因为往左移位会产生标志位,
如果是小于0,就是移位后的0位是1,也就是原数出现1个位为1,就执行LEA GR3,1,GR3
实现位为1的个数的统计。如果大于或等于0,则(2) JPZ L2 实现下一位的判断统计和退
出的判断。

“GR1的第1位至第15位”这个第一位是从左边数起的,左边第一位是第0位,最右边的是
第15位秘。

2,948

社区成员

发帖
与我相关
我的任务
社区描述
就计算机等级考试、软件初、中、高级不同级别资格考试相关话题交流经验,共享资源。
c1认证c4javac4前端 技术论坛(原bbs)
社区管理员
  • 软件水平考试社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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