2002年casl试题疑问

Leohe2002 2003-09-23 05:17:33
在 COMET 型计算机上可以使用试卷上所附的 CASL 汇编语言。阅读程序说明和 CASL 程序,将应填入__(n)__处的字句,写在答题纸的对应栏内。
[程序说明]

本程序将 80 个 ASCII 编码的数字字符转换成 BCD 码(二十进制码),并将每四个 BCD 码压缩在一个字中。见下面图示。

程序中约定原始数字字符存放在 SJ 开始的连续存区中,转换和压缩结果存放在 YS 开始的连续存区中。

数字字符数据

地址
ASCII

SJ 0033H '3'
+1 0036H '6'
+2 0038H '8'
+3 0032H '2'

压缩后的数据

地址 BCD码
YS 3682H


[程序]

Y START
LEA GR1,0
__(1)__
S0 LEA GR3,4
S1 LD GR0,SJ,GR2
__(2)__
ST GR0,WK
__(3)__
OR GR4,WK
LEA GR3,-1,GR3
JNZ S2
ST GR4,YS,GR1
LEA GR1,1,GR1
__(4)__
S2 LEA GR2,1,GR2
CPL GR2,C80
__(5)__
WL EXIT
SJ DS 80
WK DS 1
CF DC #000F
C80 DC 80
YS DS 20
END
**********************************
标准答案:
(1) LEA GR2,0 (2) AND GR0,CF
(3) SLL GR4,4 (4) LEA GR3,4
(5) JNZ S1

************
疑问:
(4)LEA GR3,4
(5)JNZ S0
有何不妥?事实上,我觉得4可以填写任何不影响GR2的语句?
...全文
36 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Leohe2002 2003-09-24
  • 打赏
  • 举报
回复
是这样的,谢谢!
banping 2003-09-24
  • 打赏
  • 举报
回复
我记得当时应该是做对了的。也不知道今年有没这么好的运气了!!
pebble 2003-09-24
  • 打赏
  • 举报
回复
注意(4)的LEA GR3,4 的上面还有一条判断,
LEA GR3,-1, GR3
JNZ S2
也就是说,只有当GR3被减一 等于0的时候,才会重新给GR3赋值为4,
(5)直接改成JNZ S0,那么每次循环都会给GR3赋值为4
这样,GR3每次减一都不会为0,那么每次都会执行JNZ S2,这样JNZ S2下面的语句就永远不能被执行了,
Leohe2002 2003-09-23
  • 打赏
  • 举报
回复
左移的时候,最右边四位已经清0了;
谁能回答我的问题阿?是不是分数太低了?
kbsoft 2003-09-23
  • 打赏
  • 举报
回复
我对(3) SLL GR4,4 不是很理解。
GR4不用赋初始值么?

2,959

社区成员

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

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