当前位置: 网学 > 编程文档 > 汇编语言 > 正文

Casl汇编语言辅导:三、试题解释

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/18
下载{$ArticleTitle}原创论文样式

三、试题解释(试题来自软件考试的软件设计师考试以前也称为高级程序员考试)

1、2001年试题三

[程序说明]

程序 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
  LEA GR1,1,GR1 23
  CPA GR0,VO 24
  __(5)__   25
EXIT P0P GR1 26
  P0P GR2 27
  P0P GR3 28
  RET   29
V1 DC 1 30
V0  DC O 31
  DC #0080 32
MARK0 DC  ''~ '' 33
MARK1 DC ''{ }'' 34
ERSTR DC ''ERROR!'' 35
ERLEN DC 6 36
  END   37

[

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号