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

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

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

[解]

这是一个典型的二化十汇编语言题例,其算法是将被转换的二进制数依次被 10i(i为 4、3、2、1、0)除,所得的商即为该十进制数位的值,其余数再被下一个 10i 除。一般用减法代替除法,即一边减10i,一边计数器加 1,直到不够减再进行下一位 10i-1

1)寄存器分配:GR0:被转换数;GR2:存放五位十进整数数字字符的起始地址。

GR1:数位计数器(兼作SNO内存数组的下标)

GR3:在初始化时放空格的ASCII码(48),在转换时作某一位的数码计数器(初始值为 0 的 ASCII 码 48)

2)SNO 内存变量依次存放 104、103、102、101、100

3)第 2~9 行为初始化程序,在 GR0<10i 时,对应的十进整数数字字符单元放空格(当结果小于五位时,左边用空白符替换),此过程一直进行到 GR0≥10i 或 GR1= 4(个位)。因此____(1)____应为 "CPL GR0,SNO,GR1"。

4)L2 开始进行除法(减法)。GR3 作某一位的数码计数器。从 L4 可看出,该计数值直接放到结果单元 [GR2],而按题意所放的是 ASCII 码,所以其初始值应为 0 的 ASCII 码 48。因此___(2)___为:

LEA GR3,48

5)根据算法,GR0≥10i 才做减法,故____(3)____还是 "CPL GR0,SNO,GR1"。

6) ___(4)___是 "JMP L3",即继续做这一位的减法,直至 GR0<10i

7)L4 后 3 行是某一位结束处理:结果送到地址指针 GR2 所指的存放单元;地址指针 GR2 加 1;SNO 内存数组的下标 GR1 加 1。

8)___(5)___应该是判断除法是否做到个位结束。即下标 GR1=5,因此这一句为:

LEA GR3,-5,GR1

6、1996年试题四

[程序说明]

子程序 OFFSET 用二分法,查找无符号整数 M 在一个长度为 N 的有序(升序)无符号整数列表NTABLE 中的位置。程序中标号为 LOW 和 UP 的两个存储字分别用作存放查找空间的上下限。

进入子程序时,在 GR1 中中给出存放子程序所需参数的起始地址。参数的存放次序如下图:

(GR1)+0 

M

1

N

2

NTABLE的首址

从子程序返回时,GR0 中存放查找结果,即 M 在此有序表中的位置序数,如表中找不到 M,则 GR0 中返回 0,其它寄存器的内容保持不变。
[程序]

  START     1
OFFSET PUSH 0,GR2   2
  PUSH 0,GR3   3
  LD GR0,0,GR1   4
  LEA GR2,0   5
  ST GR2,LOW   6
  ___(1)___     7
  ___(2)___     8
  ST GR2,UP   9
LOOP ADD GR2,LOW   10
  SRL GR2,1   11
  LEA GR3,0,GR2   12
  ___(3)___     13
  ___(4)___     14
  JZE FOUND   15
  JPZ INCLOW   16
  LEA GR2,-1,GR2 ;M<NTABLE(K) 17
  ST GR2,UP   18
  JMP CMPLU   19
INCLOW LEA GR2,1,GR2 ;M> NTABLE(K) 20
  ST GR2,LOW ;K+1→LOW 21
  ___(5)___     22
CMPLU CPL GR2,LOW   23
  ___(6)___     24
  ___(7)___     25
FOUND LEA GR0,1,GR2   26
  POP GR3   27
  POP GR2   28
  RET     29
LOW DS 1   30
UP DS 1   31
  END     32

[

网学推荐

免费论文

原创论文

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