niusouti.com

在PC/XT系统中,已知中断类型号为08H,中断入口地址为0883:0408H。试用DOS功能调用设定其中断向量,请填写下列程序段完成指定功能。ORG 100HPUSH DSMOV DX,()MOV AX,()MOV(),AXMOV AL,()MOV AH,()INT 21HPOP DSINT 3

题目

在PC/XT系统中,已知中断类型号为08H,中断入口地址为0883:0408H。试用DOS功能调用设定其中断向量,请填写下列程序段完成指定功能。ORG 100HPUSH DSMOV DX,()MOV AX,()MOV(),AXMOV AL,()MOV AH,()INT 21HPOP DSINT 3


相似考题
参考答案和解析
正确答案: 0408H;0883H;DS;08H;25H
更多“在PC/XT系统中,已知中断类型号为08H,中断入口地址为0883:0408H。试用DOS功能调用设定其中断向量,请填写下列程序段完成指定功能。ORG 100HPUSH DSMOV DX,()MOV AX,()MOV(),AXMOV AL,()MOV AH,()INT 21HPOP DSINT 3”相关问题
  • 第1题:

    执行下列程序后

    MOV AL,87

    MOV CL,4

    HOV AM,AL

    AND AL,0FH

    OR AL,30H

    SHR AH, CL

    OR AH,30H

    上述程序段运行后,(AX)=______。


    正确答案:3537H
    3537H 解析:该程序将87的16进制数57H转换成对应的ASCII代码和37H存放在AH和 AL寄存器中,故AX中的内容是3537H。

  • 第2题:

    下列MOV指令都是错误的,请指出错误原因。

    (1)MOV ES, 1234H

    (2)MOV AL, 300

    (3)MOV [SP], AX

    (4)MOV AX, BX+DI

    (5)MOV 20H, AH


    正确答案:(1)立即数不能直接赋给段寄存器。 (2)立即数300超过8位不能赋给8位寄存器AL。 (3)SP不能作为间接寻址寄存器寻址。 (4)两个寄存器不能相加。 (5)立即数不能作为目标操作数。
    (1)立即数不能直接赋给段寄存器。 (2)立即数300超过8位,不能赋给8位寄存器AL。 (3)SP不能作为间接寻址寄存器寻址。 (4)两个寄存器不能相加。 (5)立即数不能作为目标操作数。 解析:本问题主要考查汇编语言的基础知识。在8086的指令系统中,应用通用传送指令时,需要注意以下几点:
    传送指令可传送8位数据,也可传送16位数据,具体取决于指令中涉及的寄存器是8位还是16位,也取决于立即数的形式。
    传送指令中总是即含源操作数,又含目的操作数,两者之中至少有一个是用寄存器来指出的,这可减少指令长度。因此,一个立即数不能直接送直接寻址的内存单元。交换指令(XCHG)两个操作数都不能是立即数。
    传送指令不能在两个内存单元之间直接传送数据。
    在传送指令中,寄存器即可以作为源操作数,也可以作为目的操作数,但CS寄存器不能作为目的操作数,换句话说,这个寄存器的值不能随意修改。而IP寄存器即不能作源操作数,也不能作为目的操作数。
    用BX、SI、DI来间接寻址时,默认的段寄存器位DS,而用BP来间接寻址时,默认的段寄存器为SS。
    8086系统规定,凡是遇到给SS寄存器赋值的传送指令时,系统会自动禁止外部中断,等到本条指令和下条指令执行后,又自动恢复对SS寄存器赋值前的中断开放状态。这样做是为了允许程序员连续用两条指令分别对SS和SP寄存器赋值,同时又防止堆栈空间变动过程中出现中断。了解这点后,就应注意在修改SS和SP的指令之间不要插入其他指令。
    除了一些直接影响FLAGS的指令外,一般传送指令不改变标志寄存器的内容。
    立即数不能直接送段寄存器DS、ES以及SS,要用通用寄存器或存储单元作桥梁。
    因此,指令“MOVES,1234H”的错误在于立即数直接赋给了段寄存器;指令“MOV AL,300”的错误在于立即数300超过8位,不能赋给8位寄存器AL;指令“MOV[SP],AX”的错误在于SP不能作为间接寻址寄存器寻址:指令“MOV AX,BX+DI”的错误在于两个寄存器不能相加;指令“MOV 20H,AH”的错误在于立即数不能作为目标操作数。

  • 第3题:

    当一个程序使用DOS系统功能调用退出用户程序时,在编写INT21H指令前,应选择的指令是

    A.MOV AL,01H

    B.MOV AL,4CH

    C.RET

    D.MOV AH,4CH


    正确答案:D
    解析:本题考查DOS系统功能调用的方法的使用。在用指令INT21H时,应该先把调用的功能号存入AH寄存器中。

  • 第4题:

    有20个单字节的有符号数,存放在以内存NUM1单元为首地址的存储区中,要求将其取绝对值后,存人到以内存NUM2为首地址的存储区中。请填写下面程序,完成指定功能。 MOV SI,OFFSET NUM1;置源地址指针 MOV DI,OFFSET NUM2;置目的地址指针 MOV CX,() LP:MOV AL,() AND AL,() JNS() NEG() NEXT:MOV[DI],AL ()SI INC() LOOP() INT 3


    正确答案:14H;[SI];AL;NEXT;AL;INC;DI;LP

  • 第5题:

    设8251的数据口地址为200H,控制口地址为201H,已完成初始化。要求用查询的方式接收8251串行口字符数据,并把该字符显示出来。试填空完善该程序段。 LOOP:MOV DX,() IN AL.DX TEXT AL.02 JZ LOOP MOV DX,() IN AL, () MOV DL,() MOV AH,() INT 21H JMP LOOP


    正确答案:201H;200H;DX;AL;02

  • 第6题:

    设8255A的控制端口地址分别为103H,若要从PC口的PC7位连续输出周期为2秒的方波,写出相应指令序列(已知1秒延迟子程序名为SECSUB,可直接调用,忽略其它指令执行时间)。请填写下列程序段完成指定功能。 LOOP:MOV AL, () MOV DX,103H OUT DX,() ()SECSUB MOV AL() OUT DX.AL CALL SECSUB ()LOOP


    正确答案:OFH;AL;CALL;OEH;JMP

  • 第7题:

    指出下列指令中源操作数的寻址方式,并说明指令操作的结果。 (1)MOV  BX, ‘BC’  (2)MOV  AX, DATA  (3)MOV  DX, [BX]  (4)MOV  AL, [BX+DI]  (5)MOV  CL, LIST[BX]  (6)MOV  AX, FILE[BX+DI+200H]  (7)DAA  (8)XLAT  (9)IN  AX, DX  (10)INT  21H


    正确答案: (1)立即寻址。操作结果是把ASCII码CB(4342H)传送到BX.
    (2)使用AX的直接寻址。操作结果是把数据段存储单元DATA1与DATA1+1的字内容复制到AX中。
    (3)寄存器间接寻址。把数据段由BX间接寻址的存储单元的字内容复制到DX中。
    (4)基址加变址寻址的寻址方式。操作结果是把由BX+DI寻址的数据段存储单元的字的内容复制到AL。
    (5)寄存器相对寻址。操作结果是把数据段由LIST+BX寻址的字节内容送CL。
    (6)相对基址加变址的寻址方式。操作结果是把由BX+DI+200H寻址的数据段存储单元的字内容送入AX。
    (7)源操作数为寄存器(AL)寻址。它是把AL中的两位BCD码加法运算的结果调整为两位压缩型十进制数,仍保留在AL中。
    (8)源操作数为寄存器(BX)相对寻址。操作结果是把由BX+AL指定的内容表格中的字节代码内容送AL。
    (9)源操作数为寄存器(DX)间接寻址。它是把DX和DX+1所指定的两个端口地址的字的内容送入AX。
    (10)源操作数为直接寻址,直接寻址地址为21H×4, 21H×4+2。操作结果是把21H×4~21H×4+3内存单元中的双字分别送到IP与CS。

  • 第8题:

    指出以下指令中,哪些指令是非法的,并说明为什么(8086系统)。 (1) PUSH 1234H (2) MOV CS,AX (3) IN AX, 300 (4) MOV AX,[DX+12] (5) MOV BX,[BX] (6) MOV DS,1000H (7) XCHG AL,AL (8) MOV AL,100H (9) MOV DX,AL (10)LEA BL,[BX+5] (11)LEA DX,BX (12)MOV [1000H],12H (13)ADD AX,DS (14)SUB [0100H],BYTE PTR [0001] (15)SHL BL,2 (16)SHR CL,CL (17)MUL AL,BL (18)INT 400


    正确答案: (1)非法,8086系统不允许PUSH指令的操作数为立即数;
    (2)非法,MOV指令中CS不能作为目的操作数;
    (3)非法,端口号大于0FFH;
    (4)非法,DX不能出现在中括号[]内;
    (5)合法;
    (6)非法,不能把立即数赋给段寄存器;
    (7)合法;
    (8)非法,源操作数大于0FFH,不能赋给8位寄存器AL;
    (9)非法,源操作数是8位寄存器,目的操作数却是16位寄存器,不匹配;
    (10)非法,LEA指令得到的是16位偏移量,但目的操作数是8位寄存器;
    (11)非法,LEA指令的源操作数只能是存储器操作数;
    (12)非法,指令存在歧义,无法确定传送的是字节还是字;
    (13)非法,段寄存器不能参与算术运算;
    (14)非法,源和目的寄存器不能同为存储器操作数;
    (15)非法,在8086系统中,移位次数大于1时需要将移位次数存放到CL中;
    (16)合法;
    (17)非法,在8086系统中MUL指令没有双操作数的用法;
    (18)非法,中断类型号大于0FFH。

  • 第9题:

    源程序如下: MOV AX,SEG TABLE;TABLE为表头 MOV ES,AX MOV DI,OFFSET TABLE MOV AL,"0" MOV CX,100 CLD REPNE SCASB 该段程序完成什么功能?


    正确答案: 从目的串中查找是否包含字符"0",若找到则停止,否则继续重复搜索。

  • 第10题:

    填空题
    在PC/XT系统中,已知中断类型号为08H,中断入口地址为0883:0408H。试用DOS功能调用设定其中断向量,请填写下列程序段完成指定功能。ORG 100HPUSH DSMOV DX,()MOV AX,()MOV(),AXMOV AL,()MOV AH,()INT 21HPOP DSINT 3

    正确答案: 0408H,0883H,DS,08H,25H
    解析: 暂无解析

  • 第11题:

    单选题
    利用DOS功能调用,实现键盘字符输入的程序段为MOV AH,1 INT 21H 如果键人字符B,则AL中的值是()
    A

    OBH

    B

    42H

    C

    62H

    D

    A8H


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

  • 第12题:

    填空题
    分析下列程序段: MOV AX,OA33AH MOV DX,OFOFOH AND AH,DL XOR AL,DH NEG AH NOT AL 执行上述指令段后,AH=(),AL=()

    正确答案: 60H,35H
    解析: 暂无解析

  • 第13题:

    下列程序的功能是用直接填入法将60H号类型中断服务程序INT 60H的入口地址填入中断向量表中,请填空。

    MOV AX,O

    MOV ES,AX

    MOV BX,60H*4

    MOV AX,OFFSET INT 60H

    MOV ES:WORD PTR[BX],AX

    ______

    ADD BX,2

    MOV ES:WORD PTR[BX],AX

    .

    .

    .

    INT 60H

    PROC

    .

    .

    .

    IRET

    INT 60H

    ENDP


    正确答案:MOV AXSEG INT60H
    MOV AX,SEG INT60H

  • 第14题:

    当一个程序使用DOS系统功能调用退出用户程序时,在编写INT 21H指令前,应选的指令是______。

    A.MOV AH,01H

    B.MOV AX,4CH

    C.MOV AH,4CH

    D.RET


    正确答案:C

  • 第15题:

    执行下列程序段后 MOV AL,87 MOV CL, 4 MOV AH, AL AND AL,0FH OR AL, 30H SHR AH,CL OR AH,30H 则AX=( )H

    A.3537

    B.3735

    C.0705

    D.0507


    正确答案:A
    解析:该程序将87的十六进制值57转换成35H和37H,分别存放在AH和AL寄存器中。

  • 第16题:

    以NUM为起始地址的字节表中存放着M个带符号数据,请分别找出最大值和最小值。并分别送入到AH和AL中。请在程序中的空格处填人适当指令使其完整。 MOV(),OFFSET NUM XOR AX,AX MOV CX,() MOV BH,[ SI] MOV BL,BH K1:() CMP AL,BH JLE() MOV BH, () JMP K3 K2: CMP AL,BL () K3 MOV BL,AL K3 :()K1 MOV (),BX INT 3


    正确答案:SI;M.;LODSB;K2;AL;JGE;LOOP;AX

  • 第17题:

    分析下列程序段: MOV AX,OA33AH MOV DX,OFOFOH AND AH,DL XOR AL,DH NEG AH NOT AL 执行上述指令段后,AH=(),AL=()


    正确答案:60H;35H

  • 第18题:

    请阅读下列程序,分析其功能。MESS DB‘PRESS ANY KEY’,0DH,0AH,‘$’MOV AH,09MOV DX,SEG MESSMOV DS,DXMOV DX,OFFSETMESSINT 21H


    正确答案: 使用9号系统功能调用将字符串PRESS ANY KEY从屏幕上显示输出(或打印机打印输出)。

  • 第19题:

    下列程序段完成什么功能? MOV  CL, 04  SHL  DX,CL  MOV  BX,AH  SHL  AX,CL  SHR  BL,CL  OR   DL,BL


    正确答案:把DX和AX中的双字长数乘16,即把32位字左移4位。

  • 第20题:

    在程序中采用DOS系统功能调用退出用户程序时,在使用INT 21H指令前,应选用()指令。

    • A、MOV  AX,4CH
    • B、MOV  AL,4CH
    • C、MOV  AH,4CH
    • D、RET

    正确答案:C

  • 第21题:

    填空题
    设8255A的控制端口地址分别为103H,若要从PC口的PC7位连续输出周期为2秒的方波,写出相应指令序列(已知1秒延迟子程序名为SECSUB,可直接调用,忽略其它指令执行时间)。请填写下列程序段完成指定功能。 LOOP:MOV AL, () MOV DX,103H OUT DX,() ()SECSUB MOV AL() OUT DX.AL CALL SECSUB ()LOOP

    正确答案: OFH,AL,CALL,OEH,JMP
    解析: 暂无解析

  • 第22题:

    问答题
    下列程序段完成什么功能? MOV  CL, 04  SHL  DX,CL  MOV  BX,AH  SHL  AX,CL  SHR  BL,CL  OR   DL,BL

    正确答案: 把DX和AX中的双字长数乘16,即把32位字左移4位。
    解析: 暂无解析

  • 第23题:

    填空题
    设8251的数据口地址为200H,控制口地址为201H,已完成初始化。要求用查询的方式接收8251串行口字符数据,并把该字符显示出来。试填空完善该程序段。 LOOP:MOV DX,() IN AL.DX TEXT AL.02 JZ LOOP MOV DX,() IN AL, () MOV DL,() MOV AH,() INT 21H JMP LOOP

    正确答案: 201H,200H,DX,AL,02
    解析: 暂无解析