关于去年casl一题

ymcymc 2003-09-29 09:17:59
本程序将80个ASCII编码的数字字符转换成BCD码(二十进制),并将每四个BCD码压缩在一个字中。见下面图示。
程序中约定原始数字字符存放在SJ开始的连续区中,转换和压缩结果存放在YS开始的连续存区中。

数字字符 压缩后的数据
________________ _________________
地址|ASCII 地址|BCD码
SJ |0033H ‘3’ YS |3682H
+1 |0036H ‘6’ .. |...
+2 |0038H ‘8’
。。|。。。


Y START
LEA GR1,0
_(a)LEA GR2,0_____
S0 LEA GR3,4
S1 LD GR0,SJ,GR2
_(2)AND GR0,CF___
ST GR0,WK
_(3)SLL GR4,4___ //请问在此之前,为什么没对GR4赋值
OR GR4,WK
LEA GR3,-1,GR3
JNZ S2
ST GR4,YS,GR1
LEA GR1,1,GR1
_(4)LEA GR3,4___
S2 LEA GR2,1,GR2
CPL GR2,C80
_(5)JNZ S1______
WL EXIT
SJ DS 80
WK DS 1
CF DC #000F
C80 DC 80
YS DS 20
END



...全文
25 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ymcymc 2003-09-29
  • 打赏
  • 举报
回复
明白了,不过在编程中这样使用是否算正常(不好的编程风格,还是一种技巧)
Sunonce 2003-09-29
  • 打赏
  • 举报
回复
因为GR4中不管是什么值,逻辑左移后,左移后的那些位补0,如果左移4次后则原来不管什么值,都没有了。

2,959

社区成员

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

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