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

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

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/18
下载{$ArticleTitle}原创论文样式
理数,故第 5 行(1)应该是 "LEA GR2,0,GR1"。

3)从第 4、5 行看,GR3 是一个计数器(统计值为 1 的位的个数),初始值为 1,即当 GR2 一个 1也没有时,其值为 1(奇校验)。

4)第 6 行 "SLL GR2,1" 将被处理数左移一位,需要判断最高位是否为 1,若是,计数器加 1,否则跳过这条指令。因最高位也是符号位,所以可用 "JPZ L2"(2)。

5)第 9 行(L2)"JZE L3"是移位结束条件,即移到结果为 0 时结束。

6)第 11、12、13 行,是在计数器值为奇数(即实际 1 的个数为偶数)时把被处理字 GR1 最高位变成 1。而计数器 GR3 为奇数即其最低位为 1,因此需把 GR3 的最低位变成最高位,所以第 11 行(3)应该是:SLL GR3,15


4、1999年试题四〖程序4.2〗

[程序4.2说明]

子程序 SUM 是将存贮字 A 起的 n(n>0) 个字求和,并将结果存于存贮字 B 中。
调用该子程序时,主程序在 GR1 中给出存放子程序所需参数的起始地址。参数的存放次序如下图:

(GR1)+0

A

+1

n

+2

B

[程序4.2]

  START  
SUM LD GR2,0,GR1
  LD GR3,1,GR1
  LEA GR0,0
L5 ADD GR0,0,GR2
  LEA GR2,1,GR2
  _ (4) _  
  JNZ L5
L3 __(5)     
  ST GR0,0,GR3
  RET  
  END  

[分析]

1)GR1 为参数表起始地址

2)GR2 为数组地址指针,起始值为A

3)GR3 为计数器,初始值为数组长度 n。

4)GR0 为累加和工作单元

5)(  (4)  )应该是计数器减 1:LEA GR3,-1,GR3

6)(  (5)  )应把结果单元地址 B 赋给 GR3:LD GR3,2,GR1

4、1998年试题四

[程序说明]

本程序是统计字符串中数字字符"0"至"9"的出现次数。

字符串中的每个字符是用ASCII码存贮。一个存贮单元存放两个字符,每个字符占8位二进位。

程序中,被统计的字符串从左至右存放在STR开始的连续单元中,并假定其长度不超过200,字符串以''·''符作为结束。NCH开始的10个单元存放统计结果。

  START MIN 1
MIN LEA GR2,9 2
  LEA GR0,0 3
L1 _ (1) _   4
  LEA GR2,-1,GR2 5
  JPZ L1 6
  LEA GR4,0 7
  LEA GR1,0 8
L2 LD GR2,STR,GR1 9
  EOR GR4,C1 10
  JNZ RL 11
   _ (2) _    12
RL SR GR2,8 13
  LEA GR3,0,GR2 14
  SUB GR3,C9 15
  JNZ L4 16
L3 LEA GR3,0,GR2 17
  SUB GR3,CO 18
  JM1 L5 19
  LEA GR2,1 20
  _(3)_   21
  _(4)_   22
L4 LEA GR4,0,GR4 23
  JNZ L2 24
  _(5)_   25
  JMP L2 26
L5 SUB GR2,C 27
  JNZ L4 28
  EXIT   29
C1 DC 1 30
C DC ''·'' 31
C0 DC ''0'' 32
C9 DC ''9'' 33
STR DS 200 34
NCH DS 10 35
  END   36

[

网学推荐

免费论文

原创论文

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