首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和x86汇编语言代码,根据要求回答问题1至问题3。 【说明】 在某嵌入式安全监测系统中,对某任务的加工操作需通过数据采集(Collect_task)、计算(Calculate_task)这两个不同的程序段来完成,并且执行程序段Coll
阅读以下说明和x86汇编语言代码,根据要求回答问题1至问题3。 【说明】 在某嵌入式安全监测系统中,对某任务的加工操作需通过数据采集(Collect_task)、计算(Calculate_task)这两个不同的程序段来完成,并且执行程序段Coll
admin
2009-02-15
88
问题
阅读以下说明和x86汇编语言代码,根据要求回答问题1至问题3。
【说明】
在某嵌入式安全监测系统中,对某任务的加工操作需通过数据采集(Collect_task)、计算(Calculate_task)这两个不同的程序段来完成,并且执行程序段Collect_task和Calculate _task的顺序及次数有如下约定:
Collect_task(2次)→Calculate_task(1次)→Collect_task(5次)→Calculate_task(4次)→Collect_task(2次)→Calculate_task(2次)
表6-22 所示为x86系统部分指令及寄存器说明。
采用逻辑尺控制法实现以上要求的汇编程序如下:
【汇编程序代码】
N EQU (1)
RULE EQU (2)
CODE SEGMENT
ASSUME CS:CODE
START: MOV AX,RULE
MOV CL,N
LOP: SAL AX,1
JC (3)
Collect: CALL Collect_task ;执行Collect_task程序段
JMP (4)
Calculate:CALL Calculate_task ;执行Calculate_task程序段
NEXT: (5)
JNZ (6)
MOV AH,4CH ;功能号送入AH寄存器
INT (7) ;结束程序运行,中断返回
(8)
END START
选项
答案
(1)16或等价的二进制数“00010000B” (2)20F3H或等价的二进制数“0010000011110011B” (3)Calculate (4)NEXT (5)DEC CL (6)LOP (7)21H (8)CODE ENDS 这是一道要求读者利用逻辑尺控制法进行循环程序设计的程序分析题。本题的解答思路如下: ①在本案例的循环程序中,循环体又内嵌有多个不同的分支结构。每执行循环体一次,将根据事先规定好的标志位去执行具体的分支程序。试题要求采用逻辑尺控制法实现对于这种结构的循环程序设计。逻辑尺控制法首先应设计一把逻辑“尺”,即用字节、字、双字,甚至根据需要所设置的多字节中的各位表示不同的操作,如果需在循环中执行更多分支,也可采用多位组合。 ②题干中对执行程序段Collect_task和Calculate_task的顺序及次数做了如下约定: Collect_task(2次)→Calculate_task(1次)→Collect_task(5次)→Calculate_task(4次)→Collect_task(2次)→Calculate_task(2次) 由于程序只简单执行两种不同的程序段,因此用一位“0”或“1”来分别标志转向执行两种不同的分支操作。执行程序段Collect_task和Calculate_task共有16次,因此采用一个字(16位)来分别表示这两个程序段的执行顺序和次数。因此(1)空缺处可填人循环的总次数“16”,或者是等价的二进制数“00010000B”。 根据以上分析结果可设计出相应的逻辑尺,如图6-25所示。 [*] 图6-25中,阴影部分是程序段Collect_task执行的顺序和次数,其余是程序段 Calculate task执行的顺序和次数。注意,执行“Collect_task(2次)”中第1次执行的 Collect_task任务是放置在逻辑尺的最高位,还是放置在逻辑尺的最低位,由程序段中算术左移操作语句“SAL AX,1”决定。将图6-25所示的逻辑尺的参数定义转换成等价的十六进制数,0010 0000 1111 0011B=20F3H。因此(2)空缺处可填入“20F3H”,或者是等价的二进制数“0010000011110011B”。 ③程序中已给出代码(CODE)段定义伪指令“CODE SEGMENT”,由于段定义伪指令的格式是: <段名>SEGMENT[定位方式][连接方式工,类别名,] <段名>ENDS 因此在模块结束伪指令“END START”之前需安排一条“CODE ENDS”,即(8)空缺处需填入CODE段定义结束伪指令一“CODE ENDS”。 ④由于程序段中已给出“功能号送入AH寄存器”及“中断返回”等关键信息,由此可判断(7)空缺处需填入某一个中断类型码。由于软中断类型码通常取20H~27H,其中系统功能调用的通用格式是: 功能号送入AH寄存器 INT 21H 语句“MOV AH,4CH”中“4CH”就是相应的功能号,因此(7)空缺处需填入“21H”。 ⑤结合逻辑尺控制算法的设计思想和试题中给出的指令及寄存器说明表,仔细分析试题的程序段,先填写(3)、(4)、(6)空缺处的标号内容,最后完成(5)空缺处循环计数减1操作(DEC CL)的推理。以下给出该程序段的每条语句的详细解析。 N EQU 14 ;定义循环的总次数 RULE EQU 183CH ;定义逻辑尺 CODE SEGMENT ;CODE段定义伪指令 ASSUME CS:CODE ;段寄存器说明伪指令 START: MOV AX,RULE ;AX←逻辑尺标志 MOV CL,N ;CL←循环的总次数 LOP: SAL AX,1 ;算术左移操作,CF←逻辑尺最高位 JC Calculate ;当CF=1时,转至Calculate标号处 Collect: CALL Collect_task ;当CF=0时,执行Collect_task程序段 JMP NEXT ;无条件转至NEXT标号处 Calculate:CALL Calculate_task ;执行Calculate_task程序段 NEXT: DEC CL ;循环计数,CL←CL—1 JNZ LOP ;若CL≠0,转至LOP标号处,继续循环 MOV AH,4CH ;若CL=0,结束程序运行,返回 INT 21H ;系统功能调用 CODE ENDS ;CODE段定义结束伪指令 END START ;模块结束伪指令
解析
转载请注明原文地址:https://kaotiyun.com/show/pmWZ777K
本试题收录于:
嵌入式系统设计师下午应用技术考试题库软考中级分类
0
嵌入式系统设计师下午应用技术考试
软考中级
相关试题推荐
DBS的体系结构,按照ANSI/SPARC报告分为(1);在DBS中,DBMS的首要目标是提高(2);为了解决关系数据库的设计问题,提出和发展了(3);对于DBS,负责定义DB结构以及安全授权等工作的是(4)。
嵌入式SQL实现时,采用预处理方式是______。
有关概念结构设计,下列说法正确的是(15)。
某软件项目的活动图如下图所示,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,边上的数字表示活动的持续天数,则完成该项目的最少时间为(27)________________天。活动EH和IJ的松弛时间分别为(28)________________天。
计算机运行过程中,遇到突发事件,要求CPU暂时停止正在运行的程序,转去为突发事件服务,服务完毕,再自动返回原程序继续执行,这个过程称为(1)________________,其处理过程中保存现场的目的是(2)________________。
数据库的并发操作可能带来的问题包括(51)________________。
下列网络互连设备中,属于物理层的是(29)________________。
在网络安全管理中,加强内防内控可采取的策略有(14)________________。①控制终端接入数量②终端访问授权,防止合法终端越权访问③加强终端的安全检查与策略管理④加强员工上网行为管理与违规审计
将具有特定功能的一段SQL语句(多于一条)在数据库服务器上进行预先定义并编译,以供应用程序调用,该段SQL程序可被定义为()。
随机试题
机械设备灌浆分为一次灌浆和二次灌浆,大型机械设备一次灌浆应在()进行。
单一配送中心的选址依据是()
下列属于特异性感染的是【】
下列哪项肺功能试验指标不支持支气管哮喘的诊断
未成熟儿护理应特别重视()。
交易磋商的一般顺序是()。
转移性支出所占比重大,表明财政具有较强的()。
乖乖兔母婴用品有限公司成立于1995年,是一家专门经销孕妇、母婴相关系列产品的企业。在乖乖兔公司成立之初的90年代中期,该公司是国内少数经营国产品牌,同时率先从国外进口母婴产品的公司之一。乖乖兔公司以其产品种类丰富、货源稳定质量可靠、价格公道合理、服务热情
根据下面材料,回答问题。根据国家统计局数据,2016年年末全国民用汽车保有量19440万辆(包括三轮汽车和低速货车881万辆),比上年末增长12.8%,其中私人汽车保有量16559万辆,增长15.O%。民用轿车保有量10876万辆,增长14
学生伤害事故应当遵循()的原则,及时、妥善地处理。
最新回复
(
0
)