2002年casl试题疑问
在 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的语句?