暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
Casl汇编语言辅导.docx
71
9页
0次
2024-08-12
25墨值下载
Casl 汇编语言辅导
三、试题解释
12002 年试题四 [程序说明]
本程序将 80 ASCII 编码的数字字符转换成 BCD (二十进制码),并将每四个 BCD 码压缩
在一个字中。见下面图示。
数字字符数据地址 ASCII  
+0 0033H '3'
+1 0036H '6'
+2 0038H '8'
+3 0032H '2'
... ...  
压缩后的数据地址 BCD
YS 3682H
... ...
程序中约定原始数字字符存放在 SJ 始的连续存区中,转换和压缩结果存放YS 开始
连续存区中。
[程序]
Y START 1
LEA GR10 2
__(1)__ 3
S0 LEA GR34 4
S1 LD GR0SJGR2 5
__(2)__ 6
ST GR0WK 7
__(3)__ 8
OR GR4WK 9
LEA GR3-1GR3 10
JNZ S2 11
ST GR4YSGR1 12
LEA GR11GR1 13
__(4)__ 14
S2 LEA GR21GR2 15
CPL GR2C80 16
__(5)__ 17
WL EXIT 18
SJ DS 80 19
WK DS 1 20
CF DC #000F 21
C80 DC 80 22
YS DS 20 23
END
程序说明中可知要80 ASCII 的数字字符转换成 BCD 码,并将每四BCD
缩在一个字中。必须有双重循环:内循环将每四个 BCD 码压缩在一个字中,外循环完成 80
ASCII 码转换(20 个内循环)。从第 4 LEA GR34 可看出,GR3 是内循环计数器S1
是内循环开始标号。
从第 2 行、第 5 行及第 15 行可知,GR2 是源地址指针(在第 2 行赋初值)GR1 目的地
址指针,应该在第 3 行赋初值。从而得到__(1)__空应为 LEA GR20
7 及第 9 知, 79 是将好的 BCD 装到字中GR4 缩字
WK 是放转换好的 BCD 码的暂存单元。由此得__(2)__是将十进制数的 ASCII 码转换成 BCD 码,
AND GR0CF。而 BCD 码拼装到压缩字前,应该将压缩字中原来的 BCD 码左 4 位,
所以__(3)__空应为 SLL GR44
1017 行应该是内外循环的控制语句,也是本程序的难点。
从第 1011 行可看出,第 1517 行应该内循环尚未结束的处理,但第 1617 行却是判断
外循环结束的语句。因此可知,此程序把内外循环的控制语句合在一起了__(5)__应是
JNZ S1 JMI S1,注意,应该是跳转到内循环的起点 S1,而不应该 S0因为此处内循环
尚未结束,不能给内循环计数器 GR3 重新赋值。
1214 行应该是内循环结束的理,即把拼装好的压缩字送回到目的地址(第 1213
)。__(4)__不应 JMP S0这样越过断外结束句第 1617
行。所以__(4)__应该是非跳转语句,而__(5)__JNZ S1看,内循环计数 GR3 应重
新赋值,所以__(4)__空应该是 LEA GR34
标号 S0 WL 没用的。另外压缩 GR4 不需赋初值 0因为 4 次移位,每次移 4 位,
原来不管是什么数都移出到外面了。
22001 年试题三[程序说明]
子程序 DEHZ 用来对 HZ 编码的字串做解码处理。
HZ 编码是海外华人创造的一种将含有高位为 1 的汉字双字节字串转换成易于在网络中传
ASCII 符串的变换方式。编码过程,被转换字符串中的原汉字子字符串各字节高位
清零处理,使之成ASCII 子字符,并在其前后两端分别添加 ~{ ~} 为标记;而对于
ASCII 子字符串,则将其中的 ~ 改写为 ~~,其余字符不变。
DEHZ 码子程序则HZ 编码的复原过程。复原 ASCII 子字符串过程中遇有 ~~ 字符则改写
为一个 ~ ,遇有 ~{ 将其后直至 ~} 标记前的各字节高位置 1,复原为汉字子字符串,同时删除
其前后标记。~的后续字符不属于以上情况均作为错误处理。
调用该子程序时, GR1 存放原始字符串首地址, GR2 放还原后的目标字符串首地址。工作
寄存器 GR3 用作处理汉字子字符串的识别标志,进入子程序时应初始化为处ASCII 子字符
串。程序按照 CASL 语言的标准约,字符串的每个字符只占用一个存储字的低八位。原
字符串和目标字符串均以 0 作为结束标志。
[程序]
START 1
DEHZ PUSH 0,GR3 2
PUSH 0,GR2 3
PUSH 0,GR1 4
LEA GR3,0 5
LOOP __(1)__ 6
CPA GR0,MARK0 7
JNZ GOON 8
LEA GR1,1,GR1 9
LD GR0,0,GR1 10
CPA GR0,MARK0 11
__(2)__ 12
CPA GR0,MARK1,GR3 13
JNZ ERROR 14
__(3)__ 15
LEA GR1,1,GR1 16
JMP LOOP 17
ERROR OUT ERS1R,ERLEN 18
JMP EXIT 19
GOON __(4)__ 20
ST GR0,0,GR2 21
LEA GR2,1,GR2 22
of 9
25墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜