汇编语言程序设计

CALL指令和JMP指令的区别是()。A、CALL指令使程序转移B、子程序名可以是标号C、CALL指令将断点地址保存D、CALL指令可以段间调用

题目

CALL指令和JMP指令的区别是()。

  • A、CALL指令使程序转移
  • B、子程序名可以是标号
  • C、CALL指令将断点地址保存
  • D、CALL指令可以段间调用
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下列关于子程序描述正确的是( )

A.子程序只能被调用程序调用一次

B.子程序返回指令RET可以用一条退栈指令POP代替

C.子程序调用指令CALL执行后只需保护断点的偏移地址

D.子程序完成确定功能的程序段,可被其他程序调用,完成确切功能后,可自动返回到调用程序


正确答案:D
解析:子程序可以被主程序连续多次调用,选项A的说法是错误的;主程序把控制转向子程序的调用过程是通过CALL指令来实现的。当子程序执行完毕后,通过RET指令实现返回,这时又把控制交给主程序。不可以用退栈指令代替RET,选项B的说法是错误的;子程序指令CALL执行后,要进行保护现场,并不只是保护断点的偏移地址,所以选项C的说法也是错误的。子程序完成确定功能的程序段,可以被其他程序调用。要使子程序既可以被本地代码段使用,又可被其他代码段使用,该子程序必须用过程定义语句定义,而且必须注明为FAR属性,它的返回指令被定义为远返回,可自动返回到调用程序。所以选项D的说法是正确的。

第2题:

调用指令CALL可以分为______、段内间接调用、段间直接调用和段间间接调用等四种调用。


正确答案:段内直接调用
段内直接调用

第3题:

执行段间调用指令CALL时,首先保护断点的:( )

A.段地址和偏移地址

B.段地址

C.偏移地址


参考答案:A

第4题:

S7-200系列PLC的子程序调用指令和子程序条件返回指令分别是()。

  • A、ATCH、RETI
  • B、CALL、CRET
  • C、CALL、RETI
  • D、DTCH、CRET

正确答案:B

第5题:

若一个子程序起始地址为3K,调用指令CALL的内存地址为K+1,则执行CALL指令所要执行指令的地址为( )。

A.3K

B.3K+1

C.3K-1

D.K+2


正确答案:A

第6题:

假设由CALL指令调用的某子程序使用段内返回指令RET4,问该予程序执行到 RET4指令时( )实现返回操作?

A.返回到CALL指令下面一条指令继续执行主程序

B.按照(SP)和(SP+1)中存放的地址执行返回操作

C.按照(SP+4)和(SP+5)中存放的地址执行返回操作

D.返回到CALL指令下面第4条指令继续执行主程序


正确答案:B

第7题:

假设某子程序使用的返回指令是RET4,则返回地址为( )。

A.CALL指令下面第二条指令的地址

B.(SP+1)和(SP)中存放的地址

C.SP+5)和(SP+4)中存放的地址

D.CALL 指令下面第四条指令的地址


正确答案:B
解析:返回指令。一种方式是段内返回。先将栈顶的字送入IP,然后SP增2。若带立即数,SP再加立即数(丢弃一些在执行CALL之前入栈的参数)。二是段间返回。栈顶的字送入IP后(SP增2),再将栈顶的字送入CS,SP再增2。若带立即数,则SP再加立即数。

第8题:

若一个子程序起始地址为2K,调用指令CALL的内存地址为K+2,则执行CALL指令所要执行指令的地址为

A.2K

B.2K+I

C.2K-1

D.K+3


正确答案:A

第9题:

CALL指令是在被调用的子程序执行完成后,才能运行CALL指令之后的程序。


正确答案:正确

第10题:

CALL指令和RET指令对堆栈操作,正确的说法为()。

  • A、CALL指令从堆栈中取出子程序的地址
  • B、RET指令从堆栈中取出子程序的地址
  • C、CALL指令从堆栈中取出断点的地址
  • D、RET指令从堆栈中取出断点的地址

正确答案:D

更多相关问题