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

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

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

寄存器作用:
GR1:地址指针
GR2:临时工作单元。先放 ai,后放 bi(绝对值)。
GR3:bi符号
GR0:ci---应发工资
分析:
1)从第 6 行 "LEA GR0,0,GR2" 及第 7 行 "JMI FINISH" 可知 GR0 开始时应是 ai,GR2 也应是ai,(从 LEA 指令功能分析)。所以第 5 行(1)应该是取数指令:
LD GR2,0,GR1
2)从第 8 行 "LD GR3,1,GR1" 及第 9 行 "LEA GR2,0,GR3" 可知 GR2 及 GR3 放的都是 bi(超额数或不足数),而从第 10 行 "AND GR2,C7FFF"(注意:C7FFF是 16 进制常量的标号(第 24 行)),可知 GR2 存放其绝对值。而且在该值为 0 时直接结束该职工处理(第 11 行 "JZE L3")。
3)从第 12 行 "SRL GR3,15" 可知 GR3 存放 bi 的符号(超额为 0,不足为 1)
4)从第 25、26 两行可知 BONUS 是每个超额或不足单位(4 件)的增加或扣除金额。从而得出最关键的第 14 行2应为 "ADD GR0,BONUS,GR3"。第 15、16 行指出这一加或减(GR3=1时,源操作数为负)是一循环过程,一直到 GR2<0。为防止 bi 为 4 的整数倍时多加减一次,在第 13 行中先将 GR 减 1。
5)第17、18、19行(L3)依次是该职工的应发工资回送、修改地址指针(指向下一职工)和跳到处理程序开始(L1):

ST GR0,2,GR1
LEA GR1,3,GR1
JMP L1

3、1999年试题四〖程序4.1〗
[程序4.1说明]
本子程序是对 15 位二进位串,求它的奇校验位,生成 16 位二进制位串,使 16 位二进制位串有奇数个 1。
进入此子程序时,15 位二进制位串在 GR1 的第 1 位至第 15 位,并假定 GR1 的第 0 位是 0,求得的奇校验位装配在 GR1 的第 0 位上。
[程序4.1]

  START   1
BEG PUSH 0,GR2 2
  PUSH 0,GR3 3
  LEA GR3,1 4
  __ (1) __   5
L1 SLL GR2,1 6
  __ (2) __   7
  LEA GR3,1,GR3 8
L2 JZE L3 9
  JMP L1 10
L3 __ (3) __   11
  ST GR3,WORK 12
  ADD GR1,WORK 13
  POP GR3 14
  POP GR2 15
  RET   16
WORK DS 1 17
  END   18

[分析]

1)从说明中已知,被转换的二进位串(一个字)放在 GR1 中。

2)第 6 行 "SLL GR2,1" 这条指令是处理奇偶校验用的,因此 GR2 也应该是工作单元,初始值为被处

网学推荐

免费论文

原创论文

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