参考答案和解析
正确答案:A
更多“所谓“可再入程序”是指下列哪一类程序?()A、纯代码程序,运行中不需要修改B、过程调用子程序,可被其他过程调用C、代码及堆栈,允许部分修改D、中断服务程序,与用户代码无关”相关问题
  • 第1题:

    下列关于宏指令与过程的区别,错误的描述是()

    A.过程调用会降低程序的执行速度,而宏调用有较快的执行速度。

    B.过程调用需要保留程序的断点和现场,待过程执行完毕还要恢复现场;宏汇编则不需要进行这些操作,因而有较快的执行速度。

    C.过程调用中不能有效地缩短目标代码的长度。宏调用能缩短目标代码的长度。

    D.每次宏调用时允许修改有关的参数。使得同一条宏指令在各次调用过程中可完成不同的操作,而过程一旦被定义,一般不允许修改


    参考答案:C

  • 第2题:

    对于可再入程序,描述正确的是( )。A.“纯”代码程序B.可以多次运行的程序C.源程序D.汇编语言写的程序


    正确答案:A
    一个能被多个用户同时调用的程序称做“可再入”的程序。 可再入程序必须是纯代码,即在执行时自身不改变

  • 第3题:

    数控机床中用()来调用子程序。

    • A、G代码
    • B、M代码
    • C、T代码
    • D、C代码

    正确答案:B

  • 第4题:

    宏指令和子程序的相同之处为()。

    • A、宏指令的目标代码与子程序的目标代码都是唯一的
    • B、都需要先定义后调用
    • C、执行宏指令的目标代码时与子程序时一样,都需要增加如保护、恢复现场类的额外开销
    • D、宏指令的目标代码与子程序的目标代码都不是唯一的

    正确答案:A

  • 第5题:

    系统调用与一般过程调用是不同的,下列对它们的调用程序和被调用程序的描述中,哪一个是正确的?()

    • A、过程调用和系统调用的调用程序和被调用程序均位于核心态
    • B、过程调用和系统调用的调用程序和被调用程序均位于用户态
    • C、过程调用时调用程序位于用户态,被调用程序位于核心态
    • D、系统调用时调用程序位于用户态,被调用程序位于核心态

    正确答案:D

  • 第6题:

    用数控程序表示调用子程序的代码是:()

    • A、M98
    • B、M99
    • C、G90

    正确答案:A

  • 第7题:

    G65代码是FANUC数控系统中的调用()功能(FANUC系统)。

    • A、子程序
    • B、宏程序
    • C、参数
    • D、刀具

    正确答案:B

  • 第8题:

    在程序运行过程中执行PC=0200H的一条指令LCALLaddr16,该调用子程序的返回指令是(),实施该调用指令时,压入堆栈保存的程序地址是()。


    正确答案:RET;0203H

  • 第9题:

    在G指令中,代码用于()。

    • A、主轴控制
    • B、换刀
    • C、辅助功能
    • D、子程序调用

    正确答案:B

  • 第10题:

    单选题
    中断过程与子程序之间的过程比较,下面哪一条是错误的(  )
    A

    中断过程与子程序调用过程都需保护断点

    B

    中断过程与子程序调用过程都需保护标志寄存器

    C

    中断过程与子程序调用过程都要改变程序执行方向

    D

    中断过程是随机的,而调用子程序是事先安置好的


    正确答案: C
    解析:

  • 第11题:

    单选题
    程序运行过程中,把函数(或过程)调用与相应调用所需要的代码相结合的过程称为()。
    A

    语义分析

    B

    代码连续

    C

    静态绑定

    D

    动态绑定


    正确答案: B
    解析: 静态绑定(又称为静态编联或静态装配)是指绑定在编译阶段完成,即绑定过程在程序运行之前完成。动态绑定是指绑定在程序执行阶段完成,即绑定过程在程序运行时才动态完成的。本题是在函数调用时把函数与代码结合起来,也就是说是在程序运行中进行绑定的。

  • 第12题:

    单选题
    主程序和所调用的子程序在同一代码段中,子程序的属性定义为()。
    A

    TYPE

    B

    WORD

    C

    NEAR

    D

    FAR


    正确答案: B
    解析: 暂无解析

  • 第13题:

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

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

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

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

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


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

  • 第14题:

    M98指令功能代码是()子程序,即将主程序转至子程序。

    • A、计算
    • B、调用
    • C、嵌套
    • D、返回

    正确答案:B

  • 第15题:

    下列关于子程序的叙述中正确的是()。

    • A、子程序可以调用其他主程序
    • B、子程序可以调用其他同层级的子程序
    • C、子程序可以调用自己的上级子程序
    • D、子程序可以调用自己本身

    正确答案:B

  • 第16题:

    程序运行过程中,把函数(或过程)调用与响应调用所需要的代码相结合的过程称为()。

    • A、语义分析
    • B、代码连接
    • C、静态绑定
    • D、动态绑定

    正确答案:D

  • 第17题:

    在程序中同样轨迹的加工部分,只需制作一段程序,把它称为(),其余相同的加工部分通过调用该程序即可。

    • A、循环程序
    • B、轨迹程序
    • C、代码程序
    • D、子程序

    正确答案:D

  • 第18题:

    M98指令功能代码是调用子程序,即将主程序转至()程序。

    • A、相应
    • B、段
    • C、宏
    • D、子

    正确答案:D

  • 第19题:

    设计一个程序:其功能是对被测试字中1的个数进行计数。本例作为子程序设计的一个例子,是程序与子程序不在一个代码段,和调用程序与子程序在一个代码段这两种情况都具备的应用实例,也是一个子程序嵌套结构的实例。


    正确答案: ;源模块 1
    PUBIC TWORD ,MASKS ;可供外部使用的公共变量及数据
    EXTRN WCNTIS :FAR,OPSYS:FAR ;用到的外部子程序及外部过程
    STACK SEGMENT STACK ;堆栈段
    DW 32 DUP(?) ;堆栈区
    STKE LABEL WORD
    STACK ENDS
    MAIND SEGMENT ;数据段
    MASKS DB 80H ,40H,20H,10H,08H,04H,02H,01H;测试用的屏蔽字
    TWORD DW 27A9H ;被测试数
    MAIND ENDS
    MAINC SEGMENT PUBIC ;主程序码段
    MCS:MAINC ,DS:MAIND ,SS:STACK,ES:MAIND 。
    MAIN : MOV AX ,STACK ;堆栈段寄存器初始化
    MOV SS,AX
    MOV SP,OFFSET STKE ;堆栈格外初始化
    MOV AX ,MAIND ;数据段初始化
    MOV DS,AX
    MOV ES,AX ;附加段初始他
    CALL FAR PTR WCNTIS ;调用计算 1 个数的外部子程序
    CALL FAR PTR OPSYS ;调用返回报作系统的外部过程
    MAINC ENDS
    END MAIN
    ;原模块 2
    ;子程序目的: WCNT 是计等一个字中 1 的个数
    ;出 口:AX 中放该字的 1 的个数
    ;所门用于程序: 调用 2 次计等一个字节中 1 个数的手程序 WCNTIS.调用前将
    阿 AX 中数分为高低两字节
    PUBIC WCNTIS ;可供外部使用的干程序
    EXTRN TWORD :WORD,MASKS :BYTE ;用到的外都变量及数据
    M SEGMENT PARA STACK ‘STACK’
    DB 20 DUP(?)
    CNTSEG SEGMENT PUBLIN ;子程序码段
    ASSUME CS:CNTSEG,SS:STACK;这里 CS 被赋予新值
    WCNTIS PROC FAR ;子程序 WCNTIS 开始
    MOV AX ,TWORD ;取入被测试数
    CALL NEAR PTR BCNTIS ;计算 AL 中 1 的个数,结果在 CX 中
    PUSH CX ;1 的个数人栈
    M0V AL ,AH
    CALL NEAR PTR BCNTS ;计算 AH 中 1 的个数
    POP AX ;取出低字节 1 个数
    ADD AX ,CX ;加上高字节 1 个数
    RET ;返回
    WCNIS ENDP ;子程序 WCNIS 结束
    BCNTIS PROC NEAR ;子程序 BCNTIS 开始
    ;子程序目的:计算字节中 1 的个数
    ;人口:字节数在 AL 中
    ;出口: 1 的个数在 CX 中
    MOV CX ,0 ;初始化
    MOV SI,0 ;第一个选位字节的变址
    BL00P:TEST AL,MASKS[SI] ;测试 1 位
    JZ BNEXT ;为零,转移
    INC CL ;为 1,计数加 1
    BNEXT: INC SI ;指向下一位
    CMP SI,8 ;测试完?
    JNE BL00P ;否,继续
    RET ;是,返回
    BCNIS ENDP
    CNG ENDS
    END
    ;源模块 3
    PUBIC OPSYS ;可供外部使用的公共过程
    CODE SEGMENT PUBIC
    ASSUME CS:CODE
    OPSYS PROC FAR
    MOV AH ,4CH ;返回 DOS
    INT 21H
    RET
    OPSY END
    CODE ENDS
    END
    被测试字 TWORD 被取入 AX 中,主程序 MAIN 调用于程序 WCNTIS 以计数 AX中 1 的个数 WCNTIS 又调用于程序 BCNTIS 两次, BCNIS 为计数字节中 1 个数的子程序,最后结果在 CX 中。

  • 第20题:

    执行CALL DWORD PTR[BX]指令的含义是()。

    • A、调用一个位于数据段的子程序,该地址由BX间接寻址得到
    • B、调用子程序的首地址保存于数据段内,该地址由BX间接寻址得到
    • C、调用一个堆栈段的子程序,该地址由BX间接寻址得到
    • D、调用一个代码段的子程序,该地址由BX间接寻址得到

    正确答案:B

  • 第21题:

    单选题
    所谓“可再入程序”是指下列哪一类程序?()
    A

    纯代码程序,运行中不需要修改

    B

    过程调用子程序,可被其他过程调用

    C

    代码及堆栈,允许部分修改

    D

    中断服务程序,与用户代码无关


    正确答案: A
    解析: 暂无解析

  • 第22题:

    判断题
    宏指令和子程序都可以被多次调用,而且子程序汇编成目标代码的过程也进行多次。
    A

    B


    正确答案:
    解析: 暂无解析

  • 第23题:

    单选题
    关于宏与子程序的异同点,下列说法中错误的是()。
    A

    宏调用实际上是用符号(一条假指令)替代一块代码;而子程序调用则需将程序指针转移到子程序所在位置去执行。

    B

    宏调用快速,但多次调用时,由于多次复制代码段而使占用存储器量较多;子程序调用时,由于代码模块只存在于一个地方,因此尽管速度有所减缓,但占用存储空间较少。

    C

    宏要优于子程序调用,因此应使用宏以简化编程并保持高速度。

    D

    在存储容量有限的场合,应牺牲速度(对时间不敏感的慢速情况),采用子程序调用的方法,以降低存储器的占用量。


    正确答案: A
    解析: 暂无解析