阅读以下说明和x86汇编语言代码,根据要求回答问题1至问题3。表6-3所示为 x86系统指令及寄存器说明表。[说明]在计算机控制中,有些数据补偿、计算及转换等参数的计算非常复杂,编程难,程序长且运算费时,但是用数表却比较容易实现。设有256个字节的数据,已按从小到大的顺序存放在以BINTAB为首地址的数据区单元中,现要求查找其中值为126的数据,用对分查表法查询的汇编程序如下:[汇编程序代码]DATA SEGMENTBINTAB 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 256FLAG DW ?KEY EQU (1)DATA ENDSSTAK SEGMENTSTPN DB 20 DUP(?)STAK ENDSCODE SEGMENTASSUME CS,CODE, DS,DATA, ES:DATA, SS:STAKBINSEAT PROC FARSTART, MOV AX, DATAMOV DS, AXMOV ES, AXLEA SI, BINTABMOV CX, COUNTMOV DX, 1MOV AX, SIADD AX, CXMOV DI, AXMOV AL, KEYLOP0, MOV BX, SIADD BX, DISHR BX, 1CMP AL, [BX]JZ FOUNDPUSHF(2)JZ NFOUNDPOPFJL LESSMOV SI, BXJMP NEXTLESS, (3)NEXT, (4)JMP LOP0NFOUND: MOV AX, DX ;未找到,标志全1送DXFOUND: MOV AX, DXMOV FLAG, AXRETBINSEAT ENDPCODE ENDS(5)请根据试题的要求,将汇编程序代码中(1)~(5)空缺处的内容填写完整。
阅读以下说明和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)空缺处的内容填写完整。