一起答
主观

阅读以下说明和x86汇编语言代码,根据要求回答问题1至问题3。表6-3所示为 x86系统指令及寄存器说明表。

 [说明]

 在计算机控制中,有些数据补偿、计算及转换等参数的计算非常复杂,编程难,程序长且运算费时,但是用数表却比较容易实现。

 设有256个字节的数据,已按从小到大的顺序存放在以BINTAB为首地址的数据区单元中,现要求查找其中值为126的数据,用对分查表法查询的汇编程序如下:

 [汇编程序代码]

DATA  SEGMENT

BINTAB DBl8,25,32,46,56,78,…      ;第1~100个数据

    DB 90,95,99,100,106,126,…    ;第101~200个数据

    DB 189,195,197,202,206,216,…   ;第201~256个数据

COUNT  EQU  256

FLAG   DW    ?

KEY   EQU  (1) 

DATA  ENDS

STAK  SEGMENT

STPN  DB 20 DUP(?)

STAK  ENDS

CODE  SEGMENT

    ASSUME CS,CODE, DS,DATA, ES:DATA, SS:STAK

BINSEAT PROC FAR

START, MOV  AX, DATA

    MOV  DS, AX

    MOV  ES, AX

    LEA  SI, BINTAB

    MOV  CX, COUNT

    MOV  DX, 1

    MOV  AX, SI

    ADD  AX, CX

    MOV  DI, AX

    MOV  AL, KEY

LOP0,  MOV  BX, SI

    ADD  BX, DI

    SHR  BX, 1

    CMP  AL, [BX]

    JZ  FOUND

    PUSHF

   (2) 

    JZ  NFOUND

    POPF

    JL  LESS

    MOV  SI, BX

    JMP  NEXT

LESS,  (3) 

NEXT,  (4) 

    JMP  LOP0

NFOUND: MOV  AX, DX     ;未找到,标志全1送DX

FOUND: MOV  AX, DX

   MOV  FLAG, AX

   RET

BINSEAT ENDP

CODE ENDS

      (5)

请根据试题的要求,将汇编程序代码中(1)~(5)空缺处的内容填写完整。

参考答案
查看试卷详情
相关试题
  1. 编译器对程序进行一定的优化是非常有必要的,高级语言的程序可以被转化为汇编语言的指令形式。通常优化的方法有(1)、循环优化、废代码的清除等。

     对嵌入式系统进行性能测试可以衡量系统的实时性,分析嵌入式软件的优劣,同时分析程序的执行时间可以帮助分析CPU功耗等特性。最坏执行时间是指(2)。

  2. 在嵌入式系统中,由于软/硬件资源有限,且系统对实时性和可靠性要求较高,因此在进行嵌入式软件开发时,要注意对执行时间、存储空间和开发/维护时间这三种资源的使用进行优化。请具体说明在编写代码时,需要做到哪几点编码准则?

  3. 在一台采用S3C44BOX微处理器(32位RISC结构)的嵌入式系统中,将图6-22所示的(a)、(b)程序段分别重复11 000次,(a)程序段需要2.13 ms;(b)程序段需要1.01 ms。

     由此可见,在进行算术运算编码时遵守哪些编码准则?

  4. 假如加油机内油量足够,油价为5元/升,用户的账户金额为800元,那么在基本流 A4输入油量的过程中,请运用边界值分析方法为A4选取合适的输人数据(即油量,单位为升)。

  5. 图6-22所示的(a)、(b)程序段的功能是完全一样的,都是对一个结构体数组的各个元素进行初始化,但采用两种不同的方法来实现。请在200字以内归纳这两个算术运算程序段所采用的实现方法。

  6. 阅读以下关于嵌入式操作系统软件编码优化的技术说明,根据要求回答问题1至问题5。

     【说明】

     由于嵌入式系统对实时性的要求较高,因此一般要求对代码的性能进行优化,使代码的执行速度越快越好。图6-22给出了两个算术运算的程序段(a)、(b)。

    在嵌入式系统设计过程中,给定一份软件设计规格说明书后,下一步的工作就是编写代码。通常编码工作包含哪些步骤?

  7. 对于基本流A来说,表6-6所示中哪些测试用例属于正面测试用例,哪些测试用例属于负面测试用例。请用表6-6中相应的“测试用例ID号”回答问题。

  8. 请在150字以内简要说明以表6—6所示的方法创建测试用例矩阵的优点。

  9. 场景中的每一个场景都需要确定测试用例,一般采用矩阵或决策表来确定和管理测试用例。表6-5是一种通用格式,表中各行代表各个测试用例,而各列代表测试用例的信息。本例中的测试用例包含测试用例ID号、场景(或说明/条件)、测试用例中涉及的所有数据元素(作为输人或已经存在于数据库中)以及预期结果等项目。

     测试用例的设计步骤通常是:首先确定执行用例场景所需的数据元素(本例中包括账号、是否黑名单卡、输入油量、账面金额以及加油机油量),然后构建矩阵,最后确定包含执行场景所需的适当条件的测试用例。在表6-6的测试矩阵中,V表示有效数据元素,I表示无效数据元素,n/a表示不适用,例如CW01表示“成功加油”基本流。请按上述规定为其他应用场景设计测试用例矩阵。

  10. 编译程序的功能是什么?解释程序与编译程序的主要区别是什么?请在150字以内简要说明。