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位阿?
...全文
29 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位秘。
CASL引入国内以后作为中国计算机软件专业技术资格和水平考试高级程序员级考试内容之一。使用虚拟的计算机目的为的是一个公平的考试环境,毕竟如果让每天和MC680X0打交道的朋友去和写PC驱动的朋友一起考i80X86汇编显然是不公平的。 CASL达到这一目的的同时却带来了一个麻烦:CASL程序无法在常见的PC或者其他任何计算机上运行。 我们有三条常见选择: 1)汇编器,将Casl汇编程序汇编成诸如80X86指令的程序,在PC上运行 2)解释器,解释执行每一条指令,有点像解释型高级语言,但是来的简单一些 3)忘记CASL,忘记高程考试 ;;;;-) 在选择了第二种方案以后我们开始了这个软件...... Nasl的设计主要目标便是简单易用,事实上在我能找到的所有CASL解释器中没有一个能很快上手运行起来的,当然这不包括Nasl本身。由于Comet是一个虚拟计算机,诸如复旦大学计算机科学系所设计的CASL汇编器的设计只能给使用者带来不必要的麻烦。鉴于它只能在Pure DOS下运行,Nasl诞生了,编写一个开放的人人可以得到的方便的CASL解释器是编写Nasl的初衷之一。 Nasl能对输入的CASL汇编程序解释运行,以此可以观察各个寄存器以及内存的变化情况,使得您可以熟悉CASL汇编并对汇编语言程序设计的思想有所了解,帮助通过高程考试。Nasl支持CASL汇编文件的编辑,但是请不要将它视作一个";;;开发环境";;;,CASL和Nasl都不值得您去那么做。 最后祝所有努力学习的朋友好运!

2,947

社区成员

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

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