![](https://lstatic.shangxueba.com/jiandati/h5/images/m_q_title.png)
下面的程序段是利用寄存器传送参数的子程序调用程序结构,其功能是计算DAT变量中N个字节数据的累
DAT DB 75,125,1,2,68,4
RESULT DW______
LEA BX, DAT
CALL SUBP
MOV RESULT,AX
SUBP: PUSHSI
XOR AX,AX
MOV SI,0
NEXT: ADD AL,[BX+SI]
ADC AH,1
INC SI
LOOP NEXT
POP SI
RET
DAT DB 75,125,1,2,68,4
RESULT DW______
LEA BX, DAT
CALL SUBP
MOV RESULT,AX
SUBP: PUSHSI
XOR AX,AX
MOV SI,0
NEXT: ADD AL,[BX+SI]
ADC AH,1
INC SI
LOOP NEXT
POP SI
RET
A.数据传送指令的源操作数和目标操作数可以同时为存储单元。
B.利用CALL指令调用子程序时,需要用新的CS和IP取代当前CS和IP。
C.数据传送指令的源操作数和目标操作数不能同时为段寄存器。
D.串传送指令的目标操作数必须为ES:DI,但是可以段超越为DS:DI。
试编写一个工作在16位空间的486段内调用子程序,实现取16位有符号数x绝对值的操作。要求:
(1)子程序入口地址(标号):ABSX
(2)入口参数:AX=x
(3)出口参数:AX=|x|
另外,再编写一个程序段,利用这个子程序,将数据段内首地址为1000H数据区的100个16位有符号数取绝对值,并将结果存放到数据段内首地址为1100H的数据区中
执行下面的程序段后,AX寄存器中的数据是______。
MOV AX, 0034H
MOV BL, 16
MUL BL
A.保证调用程序和子程序之间的参数传递
B.保证调用程序正确转入子程序
C.保证子程序正确返回调用程序
D.避免调用程序和子程序之间的产生公用寄存器冲突
A.若子程序参数不多于四个,使用R0-R3传递
B.使用R0寄存器存放返回值
C.若要使用R4-R12寄存器,不需要保存,可直接使用
D.子程序末尾要使用LR寄存器中的值返回
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!