请根据试题的要求,将汇编程序代码中(1)~(5)空缺处的内容填写完整。 该汇编程序执行后,FLAG存储单元中的数值是什么?使用对分查表法查询位于这 256个字节数据表中的数据时,“CMPAL,[BX]”最多被执行几次?

admin2009-02-15  42

问题 请根据试题的要求,将汇编程序代码中(1)~(5)空缺处的内容填写完整。
该汇编程序执行后,FLAG存储单元中的数值是什么?使用对分查表法查询位于这 256个字节数据表中的数据时,“CMPAL,[BX]”最多被执行几次?

选项

答案FLAG存储单元中的数值是7(或其对应的二进制数形式) CMP AL,[BX]语句最多被执行的次数为9次 这是一道要求读者掌握汇编程序分析的综合理解题。本题的分析思路如下: ①“MOV AX,DX”、“MOV FLAG,AX”这两条语句实现将查找次数送入FLAG单元的功能。而题干关键信息“现要求查找其中值为126的数据”,在数据段定义伪指令程序段中: BINT AB DB 18,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个数据 由该定义可知,值为126的数据是数据表的第106个数据。 [*] 过程才能找到所查询的数据。因此,该汇编程序执行后,FLAG存储单元中的数值是7,即查询到值为126的数据的查找次数。 ③由于对分查表法对数据表的要求是元素按从大到小或从小到大的顺序排列,因此该算法对有序表的查找速度较快。假如数据表中有N个数据,则该算法最多的比较次数是 1b N+1。 ④比较语句“CMP AL,[BX]”,通过比较所查询的数据与中项数据两者的值,可判断是否已找到所要查找的数据值。 ⑤本试题要求查询位于这256个字节数据表中的数据,注意所查询的数据是数据表中的一个元素。因此“CMP AL,[BX]”语句最多被执行的次数为比N+1=1b256+1=8+1=9。

解析
转载请注明原文地址:https://jikaoti.com/ti/sgI7FFFM
0

相关试题推荐
最新回复(0)