提示:内容已经过期谨慎付费,点击上方查看最新答案

微机原理与应用(山东联盟)

  1. 8253工作方式4输出波形相同的是    


  2. A:工作方式0 B:工作方式1 C:工作方式5 D:工作方式3
    答案:工作方式5
  3. 8086 CPU采用________编址方式。


  4. A:独立编址 B:统一编址
    AI参考:8086 CPU采用统一编址方式。统一编址方式是将存储器统一划分为物理上不相邻的多个存储空间,每个存储空间大小相等。这种方式适用于将程序和数据存储在同一个存储器中的情况,因为它允许程序和数据共用相同的地址空间。在这种方式下,8086 CPU可以同时访问程序存储器和数据存储器,因此称为统一编址。独立编址是指将程序存储器和数据存储器分别划分为不同的地址空间,每个地址空间中的地址都是唯一的。这种方式适用于需要将程序和数据存储在不同的地址空间的情况,但需要额外的硬件支持。因此,根据题意,答案为B:统一编址。'
  5.  指令MOV AL,56H中,源操作数采用的寻址方式是              


  6. A:立即数寻址 B:寄存器间接寻址 C:寄存器寻址  D:直接寻址
    答案:基址寻址,寄存器寻址AI参考:正确选项:D:直接寻址。指令"MOV AL, 56H"中,源操作数"56H"可以直接写在指令中,不需要通过寄存器或其他间接方式来访问,因此属于直接寻址。在8086微处理器中,直接寻址是较为常见的寻址方式之一。'
  7. 请判断下面给出的指令是否正确:

    OUT  1000HAL


  8. A:错 B:对
    答案:错
  9. 在程序控制传送方式中,哪种传送可提高系统的工作效率(   )


  10. A:无条件传送 B:都一样 C:查询传送 D:中断传送
    答案:中断
  11. 8086微处理器为16位微处理器,其数据总线是______位。


  12. A:10    B:20 C:16 D:32
    AI参考:正确选项是【C:16】。解释:8086微处理器是16位微处理器,这意味着它的指令和数据在内存中都是以16位二进制数表示的。数据总线是用来在CPU和内存之间传输数据的,因此它的位数应该与CPU的数据宽度相匹配。在这种情况下,8086的数据总线是16位。因此,答案为C:16位。'
  13. 有数据定义NUM  DB 123456’,经汇编后,NUM占有3字节存储单元。


  14. A:对 B:错
    答案:错误
  15. 请判断下面给出的指令是否正确:

    IN AL,2000H



  16. A:对 B:错

  17. 下列MOV 指令中,不正确的指令是(       )。


  18. A:MOV AX, [CX] B:MOV AX, CX C:MOV AX, BX D:MOV AX, [BX]
    AI参考:正确答案是【B:MOV AX, CX】。指令MOV AX,[CX]是将CX寄存器的值移动到AX寄存器中,因为CX寄存器指向的是内存中的某个地址,所以这个指令是正确的。指令MOV AX,CX是将AX寄存器中的值移动到CX寄存器中,而CX寄存器本身并没有指向内存中的某个地址,所以这个指令是不正确的。指令MOV AX,BX是将AX寄存器中的值移动到BX寄存器中,这个指令也是正确的。指令MOV AX,[BX]是将BX寄存器的值移动到AX寄存器中,这个指令也是正确的。因此,选项B是不正确的。'
  19. 完成累加器AL清零,并使进位标志CF清零,下面错误的指令是_________。 


  20. A: XOR AL,AL B: MOV AL, 00H C: AND AL,00H D: SUB AL,AL

  21. 为了使执行串操作指令时,地址按增量方式处理应使用指令(      ) 。


  22. A:STD B: CLD C:CLI D:STI

  23. DS=5678H,偏移地址=1ABCH,则实地址模式下的物理地址就是___________。



  24. A:5824CH B:2343CH C:5823CH D:5673BH

  25. 为了使执行串操作指令时,地址按递减方式处理应使用指令           。



  26. A:STD B:STI C:CLI D: CLD

  27. Intel 2114 SRAM芯片采用18引脚封装,容量是1K*4位,有()根地址线。



  28. A:32 B:2 C:16 D:10
    AI参考:正确选项是 C:16。Intel 2114 SRAM芯片采用18引脚封装,容量是1K*4位,这意味着芯片内部有4个存储单元,每个单元可以存储1位数据。由于芯片是采用18引脚封装,因此需要18根地址线来指定访问哪个存储单元。而该芯片的容量是1K*4位,意味着芯片总共可以存储4K(即1024个)位的数据。为了访问这4K个数据,需要使用至少16根地址线(2的16次方=65536,大于4K)。因此,可以得出结论,该芯片需要16根地址线来访问存储单元。所以,正确选项是C:16。'
  29. ES=5668H,偏移地址=1BBCH,则访问到的存储单元地址就是:




  30. A:2343BH B:5823CH C:1BBCH D:9668H

  31. 在汇编程序的汇编过程中,起到指导作用,但不产生机器码的指令为称作_____。


  32. A:指令 B:宏指令 C:机器指令 D:伪指令

  33. 8259A在两级级联的情况下可管理的中断源最多为64个。


  34. A:对 B:错

  35. 下列关于堆栈操作错误的是(    )。



  36. A:SP寄存器指向堆栈的栈顶 B:堆栈操作不影响标志位 C:堆栈操作可以按字节操作,也可以按字操作 D:POP指令的目的操作数不能是CS段寄存器
    AI参考:正确选项是D:POP指令的目的操作数不能是CS段寄存器。在汇编语言中,POP指令用于从堆栈中弹出数据,并将其放入指令所在位置的数据寄存器中。而CS段寄存器是代码段寄存器,用于标识代码段的起始地址,与堆栈操作无关。因此,POP指令的目的操作数不能是CS段寄存器,否则会导致错误。其他选项如SP寄存器指向堆栈的栈顶、堆栈操作不影响标志位以及堆栈操作可以按字节操作,都是堆栈操作的基本概念和操作方式,与问题中的选项无关。'
  37. 在8086微机系统中,只要8259A所管理的中断源没有被屏蔽,则任何中断源的中断请求都能得到CPU的响应和服务。


  38. A:对 B:错

  39. 在机器内部操作中,CPU与存贮器之间信息交换使用的是(        )。


  40. A:物理地址 B:逻辑地址 C:有效地址 D:相对地址

  41. 8086微处理器使用____ 信号的下降沿在T1结束的时候将地址信息锁存在地址锁存器中。


  42. A:ALE B:BHE C:HOLD D:M/IO
    AI参考:正确答案是A:ALE。在8086微处理器中,当内存地址总线上的信息在传输时被阻塞(T1触发器产生上升沿信号)的时候,低8位(D0到D7)将被加载到存储器地址锁存器中;而当地址总线上的信息不再被阻塞时(T1触发器产生下降沿信号),该信息会被传送到存储器芯片。该过程对应信号为地址锁存器的输出信号ALE(地址锁存允许),它会产生下降沿触发器动作,从而实现地址的锁存。所以正确选项是A。B选项(BHE)为附加的三态缓冲器输入,并非用于地址锁存。C选项(HOLD)一般与移位操作相关,也非直接与地址锁存相关。D选项(M/IO)表示是输入还是输出,对于存储器操作通常需要输出给内存芯片。故以上选项中只有A(ALE)为用于地址锁存的信号。'
  43. 设(DS)=3000H,(SS)=2000H,(SI)=2000H,指令MOV AX,[SI]源操作数的物理地址是      


  44. A:3000H B:32000H C:2000H D:22000H

  45. 8086 有两种工作模式, 最小模式的特点是(      )


  46. A:CPU 提供全部控制信号 B:不需要8286 收发器 C:由编程进行模式设定 D:需要总线控制器8288

  47.  已知Intel 2716是2K×8位的EPROM集成电路芯片,它的地址线和数据线分别为()条。


  48. A: 11和4 B: 11和8 C: 10和4 D: 10和8

  49. 在简化模型机中,微处理器的指令周期包含两部分,即取指周期和执行周期。



  50. A:对 B:错

  51. 请判断下面给出的指令是否正确:

    MOV  CSAX


  52. A:错 B:对

  53.  SS=2000HSP=1000H,执行指令PUSH  AX后,AX内容压入21000H字单元中。


  54. A:对 B:错

  55. SP =1000H,则执行指令PUSH  AX后,(SP=0FFEH


  56. A:错 B:对
    AI参考:正确答案是B:对。执行指令PUSH AX后,SP会自动将当前ESP(堆栈指针)的值加上AX寄存器的长度,通常为2个字节。在这里,由于AX寄存器的值为1000H,因此,SP的值会变成当前ESP加上1000H的值,即0FFEH。所以,答案为B:对。'
  57. 字符串常量以单引号中各字符的ASCII码形式存储在内存中,如字符'A',在内存中就是 (     )。




  58. AI参考:这个问题的答案在给定的字符串常量中,这个字符串是一个英文字母A。通常在内存中,ASCII字符通常会被编码为一个特定的二进制数。所以A通常在内存中的存储方式可能类似于以下形式: ```scss 01000001 (二进制) ``` 但是请注意,这只是一个例子,实际的内存存储方式可能会根据具体的编程语言和操作系统而有所不同。在大多数情况下,字符串常量是以单引号包围的字符序列的形式存储在内存中的。 所以,根据上述信息,选项 `

    ...ASCII码形式存储在内存中,如字符'A,在内存中就是 ( )


    ` 选项 `

    (存储二进制数据的例子)

    ` 是正确的选项。因为这里描述了字符串常量在内存中的存储方式,即以ASCII码形式存储。这个选项还提到了字符A的二进制表示形式,这与问题中的描述相符。"

  59. 8086 CPU的 NMI 引脚上输入的信号是______。


  60. A:中断响应 B:可屏蔽中断请求 C:非屏蔽中断请求 D:总线请求

  61. 不能用立即数给段寄存器直接赋值。


  62. A:错 B:对

  63. 8086 CPU是一个(        )位的微处理器。


  64. A:32 B:16 C:8 D:20
    AI参考:正确选项是【C:8】。8086 CPU是一个8位的微处理器,它一次可以处理8位的数据,即可以表示从0到255之间的整数。这意味着它可以同时处理和操作32位的数据,但是在早期的计算机中,处理器的位数通常是8位或者16位。随着技术的进步,现在大多数处理器都是32位或者64位的了。'
  65. 使一个操作数中的若干位保持不变,而另外若干位置1的场合,一般使用(    )指令。



  66. A:AND B:NEG C:OR D:XOR
    AI参考:正确选项是C:OR。OR指令可以将一个操作数中的若干位保持不变,而另外若干位置1,这是因为它可以将一个位与另一个位的值进行“或”运算,如果两个位都为0,则结果为0,只有其中一个位为1时,结果为1。这种特性在需要将某些位保持不变,而其他位置1的情况下非常有用。其他选项中,AND指令可以实现与运算,即只有两个位都为1时结果才为1;NEG指令可以实现取反运算;XOR指令可以实现异或运算,当两个对应的位相同时结果为0,否则为1。这些特性与题目要求不符。'
  67. 请判断下面给出的指令是否正确:

    PUSH BX


  68. A:对 B:错

  69. 若想利用8254的计数器1产生方波,则应让计数器1工作于方式2。


  70. A:对 B:错

  71. 请判断下面给出的指令是否正确:

    MOV  [1000H][2000H]


  72. A:错 B:对

  73. 某一SRAM 芯片的容量是1024×8 位,除电源和接地线外,该芯片的其他引脚最

    少应为(       )根。 


  74. A:25 B:23 C:21 D:20

  75. 在输入/输出的控制方式中,通常所说的查询控制方式,属于下列____控制方式。 


  76. A:DMA方式 B:程序方式 C:I/O处理机方式 D:程序中断方式

  77.     )语句指示汇编程序在汇编源程序时完成某些工作,比如完成数据定义、分配存储区、指示程序结束等。


  78. A:指令 B:助记符 C:宏指令 D:伪指令
    AI参考:正确选项是:D:伪指令。伪指令是一种特殊的指令,用于在汇编源程序中指示汇编程序完成某些工作,如数据定义、分配存储区、指示程序结束等。虽然伪指令在汇编程序中起着重要的作用,但它们不是实际执行的机器指令,而是由汇编器解析并转换为实际的机器指令。因此,答案为D:伪指令。'
  79. 在以下的寻址方式中,______的操作数是存放在寄存器中的。


  80. A:寄存器寻址 B:立即数寻址 C:寄存器间接寻址 D:直接寻址
    AI参考:正确选项是【A:寄存器寻址】。在以下的寻址方式中,寄存器寻址的操作数是存放在寄存器中的,而立即数寻址、寄存器间接寻址和直接寻址的操作数可能来自于内存或其他存储设备。因此,选项A是正确的。'
  81. 在计算机系统内部,用于计算、数据处理的部件是__________。


  82. A:CPU B:总线 C:硬盘 D:存储器

  83. 8086系统中通常堆栈以     为单位进行操作。


  84. A:字节 B:字 C:双字 D:半字

  85. 下列汇编指令不正确的是(                    )


  86. A:SUB  AX,1234H B:MOV  123H,BX C:MOV  AX,[234H] D:ADD   AX,BX
    AI参考:正确答案是D:ADD  AX,BX。这个指令是不正确的。在汇编语言中,ADD指令是将两个操作数相加并将结果存储在第一个操作数中,这里AX和BX是寄存器。但是选项D中,AX和BX是两个不同的寄存器,不能直接进行相加操作。因此,选项D是不正确的。其他选项A、B和C都是正确的汇编指令。A是SUB指令,用于从AX寄存器中减去1234H的值。B是MOV指令,用于将123H的值移动到BX寄存器中。C是MOV指令,用于将内存地址为234H的值移动到AX寄存器中。'
  87. CPU总线的负载能力是有限制的



  88. A:错 B:对
    AI参考:正确答案是B:对。\rCPU总线的负载能力是有限制的,这是计算机硬件的基本常识。因此,选项B是正确的。'
  89. 8086CPU 寻址I/O 端口最多使用(        )条地址线。  


  90. A:12 B:10 C:8 D:16
    AI参考:正确选项是【D:16】。因为8086CPU采用分段寄存器,同时要访问数据和I/O端口,需要进行分离地址计算。此时地址总线会被划分为两个部分,一个部分用于传输数据地址,另一个部分用于传输I/O端口地址。由于8086CPU的段寄存器只有16位,所以寻址I/O端口时最多只能使用16条地址线。因此,答案为D:16。'
  91. 采用两片8259A 可编程中断控制器级联使用,可以使CPU 的可屏蔽中断扩大到

    (         )。 


  92. A:15 B:16 C:32 D:31
    AI参考:正确选项是:C:32解释:采用两片8259A级联使用,可以同时管理更多的中断源,即可以管理的中断数量是单个8259A的2倍,也就是32个。因此,答案为C。'
  93. DS=2000HSI=3000H,指令MOV AX, [SI]源的操作数的物理地址是 __________


  94. A:5000H B:23000H C:32000H D:1000H
    AI参考:正确答案是:C:32000H。根据指令MOV AX,[SI],源操作数的物理地址为DS×10H+SI,即DS=2000H,SI=3000H,所以源操作数的物理地址为23000H。故选C。'
  95. 8086CPU复位后,CPU执行的第一条指令的起始地址应是            



  96. A:FFFFFH B:11111H C:FFFF0H D:00000H

  97.  下列________模式不是IA32架构处理器的基本工作模式。


  98. A:实地址模式 B:系统管理模式 C:虚拟8086模式 D:保护模式

  99. 使用Debug可以对汇编语言、C语言进行开发调试。


  100. A:对 B:错

  101. 8255的__________具有3种工作方式。


  102. A:端口C的上半部分 B:端口C C:端口A D:端口B

  103. OUT  DX,AL指令的输出是16位操作数。


  104. A:错 B:对

  105. Pentium处理器支持多种数据传输方式。根据数据传输的要求,有单数据传输、突发式传输、总线锁定、总线保持等多种方式。根据总线周期之间的组织方法可分为流水线式总线周期和非流水线式两种。比较简单的是非流水线式的单数据传输方式,一次读写操作至少需要()个时钟周期,可完成32位或64位数据传输。



  106. A:2 B:5 C:3 D:4

  107. 通常外设接口中,往往有(  )端口才能满足和协调外设工作要求。


  108. A:数据、控制 B:控制、缓冲 C:数据、控制、状态 D:数据

  109. 一片8259A可以管理8级中断源,如果采用三片8259A级连后则可管理24级中断。 


  110. A:对 B:错

  111. 有符号定义语句如下:

        BUFF DB 1,2,3,‘12345’

        EBUFF DB 0

        L EQU EBUFF-BUFF

    问L的值为多少?


  112. A:9 B:6 C:8 D:7

  113. 下列所给数值中,数值最小的是           


  114. A: (1100101)2 B:(64)16 C:(143)8 D:(100)10
    AI参考:数值最小的是:(143)8。选项C表示的是将二进制数转换为八进制数,143的八进制表示为(125)。而在四个选项中,125的数值是小于100,因此选择C:(143)8。其他选项中,二进制数(1100101)2转换为十进制数应为85,(64)16转换为十进制数应为64,(100)10转换为十进制数应为100。所以选择C:(143)8。'
  115. BUF是字节变量,LAB为标号,则下列指令正确的是 __________________ 。


  116. A:MOV  BX,AL B:MOV  BX,LAB C:MOV  BX,OFFSET BUF D:MOV  BX,BUF
    AI参考:正确选项是【C:MOV  BX,OFFSET BUF】。解释:* A选项的MOV BX,AL是将AL寄存器的值直接移动到BX寄存器,但是AL寄存器只能存储一位二进制数,不能存储字节变量,所以错误。* B选项的MOV BX,LAB是将标号LAB所指向的地址中的值移动到BX寄存器,但是LAB通常表示的是一个地址,而不是一个具体的值,所以错误。* D选项的MOV BX,BUF可能存在歧义,因为BUF可能是一个变量名,也可能是一个地址,所以错误。* C选项的MOV BX,OFFSET BUF是正确的,它将BUF变量所在的内存地址的值移动到BX寄存器。如果BUF是一个变量,那么OFFSET BUF将会给出该变量在内存中的地址;如果BUF是一个地址,那么这条指令将会把该地址上的值移动到BX寄存器。因此,C选项是正确的。'
  117. 执行如下指令后,请填写标志位的取值情况:

    MOV DX, 4652H

    ADD DX, 0f0f0H

    执行后,ZF=    1        SF=      2       CF=    3    



  118. A:0,1,0 B:1,0,1 C:0,1,1 D:0,0,1
    AI参考:正确选项是【B:1,0,1】。解释:1. MOV DX, 4652H 将内存地址4652H的值加载到DX寄存器中,该值不依赖于标志位状态。所以ZF的值不变,即0。2. ADD DX, 0f0f0H 这个指令是将DX寄存器的值加0f0f0H,并将结果存回DX寄存器中。因为0f0f0H只增加了DX的值,不改变标志位状态,所以SF的值仍然是0。3. CF的值取决于ADD指令的结果。ADD指令的结果是将DX寄存器的值加上一个常数,并将结果存回DX寄存器中。在这个例子中,DX的值是4652H加上0f0f0H,结果为46f2H。由于46f2H是偶数,所以CF的值为0。因此,答案为B:1,0,1。'
  119. 已知数据段内有如下定义:

    BUF DB   'THE QUICK BROWN FOX'

    L1  EQU  $-BUF

    S   DB   ‘HELLO’

    L2  EQU  $-S

    L3  EQU  $-BUF

    分别写出(十进制数)  L1=     1     L2=   2        L3=   3     


  120. A:19,24 B:19,5,24 C:19,5,14 D:5,24,29
    AI参考:正确选项是【B:19,5,24】。根据题目中的定义,BUF的地址是$-BUF$,即地址为19;L1的地址是$-BUF$,即地址为19;S的地址是$-S$,即地址为24;L3的地址是$-BUF$,即地址为24。所以L1的地址和L3的地址相同,都是19;而L2的地址是$-S$,即地址为5。因此,选项B是正确的答案。'
  121. 若要使寄存器AL中的高4 位不变,低4 位为0,所用指令为(      )。


  122. A:AND AL, 0FOH B:OR AL 0FOH C:AND AL, 0FH D:OR AL, 0FH

  123. 下面指令序列测试BH中的数是否为奇数,若为奇数则转移至K1处,横线处的指令应为(    )。
       TEST  BH01H

         (1)       K1

              ……

    K1: …


  124. A:JNE B:JC C:JF D:JZ

  125.  对于下述给定的数据定义,变量L的值为

    D1  DB  23123981‘ASDF’

           D2    DW    6    DUP(?,330

           D3  DB  10  DUP (?),15

    L   EQU  D3-D1



  126. A:55 B:36 C:44 D:8

  127.  将AL中的1、3、5、7位取反,下列正确的指令是      



  128. A:XOR AL,0FH B:AND AL,0FH C:OR AL,0AAH D:XOR AL,0AAH
    AI参考:正确选项是【D:XOR AL,0AAH】。题目中要求将AL中的1、3、5、7位取反,因此需要用到位运算指令。选项A是异或运算指令,可以对相应位进行取反操作,但是只能对一个数进行操作,不能对AL寄存器中的多位进行操作;选项B是与运算指令,无法实现题目的要求;选项C是或运算指令,也不能实现对AL寄存器中多位的操作。而选项D是异或和二进制数的组合指令,通过将0AAH(二进制表示为10101010)与AL中的数进行异或运算,可以实现对AL中的1、3、5、7位取反的操作。因此,选项D是正确答案。'
  129. 与十进制数58.75等值的十六进制数是       


  130. A:3A.23H       B:A3.CH       C:3A.CH      D:C.3AH

  131. 在8086 微机系统的RAM 存储单元器0000H:002CH开始依次存放23H,0FFH,00H,和0F0H四个字节,该向量对应的中断号是(       )。


  132. A:0AH B:0DH   C:0CH D:0BH

  133. 十进制数-80 用16 位补码表示是(              )。


  134. A:FFB0H B:F080H C:8080H D:FF88H
    AI参考:正确选项【D:FF88H】。解析:在计算机中,负数的补码是其原码按位取反加1,即最高位为1,其它位为0。对于-80的二进制表示,原码为:1000 0000 0000 0000,转换成反码为:1111 1111 1111 1111,再转换为补码,即取反后加一为:1111 1111 1111 1110,转换为十六进制为FF88H。因此选项D为正确答案。'
  135. 分析下面的程序段所实现的功能:

    SAL AL 

    MOV BLAL

    MOV CL2

    SHL ALCL

    ADD ALBL


  136. A:将保存在AL中的数乘以10与BL相加 B:将保存在BL中的数乘以10 C:将保存在AL中的数乘以10 D:将保存在BL中的数乘以10与AL相加
    AI参考:程序段的功能是将保存在AL中的数乘以10与BL相加。程序段首先将AL中的值移动到BL中,然后将AL乘以2(由CL=2决定),并将结果加到BL上。所以,选项D是正确的答案。'
  137. 采用8254作定时/计数器,其接口地址为180H~183H。要求计数器0每5ms输出一个CLK脉冲宽的负脉冲;用计数器1产生10KHz的连续方波信号,计数器2在定时10ms后产生输出高电平。输入8254的时钟频率为2MHz。8254工作方式命令的具体格式

    3.jpg

    现在已经求出来,计数器0工作在方式2,采用16位计数值;计数器1工作在方式3,低8位计数值;计数器3工作在方式0,采用16位计数值。请写出3个计数器的计数初值___________。





  138. A:78H,12H,B4H B:12H,34H,B2H C:34H,56H,B0H D:56H,78H,B6H

  139. 假设8253芯片中三个计数器的端口地址为0070H、0071H、0072H,控制端口地址为0073H。现采用计数器0,工作在工作方式2,使用低8位计数,计数初值为100,计数值为二进制格式。如下代码为该8253的初始化程序,请补充完整该指令序列。

        MOV AL,                 ;控制字
        OUT 73H,AL
        MOV AL,                 ;计数初值
        OUT 70H,AL


    8253控制字.jpg

    8253控制字格式


  140. A:00010100B,100H B:00010101B,64H C:00010101B,100 D:00010100B,100

  141. 有下列数据定义及指令:

    STR1  DW  ‘AB’,‘C’,0

    STR2  DB  16  DUP(?,’AB’)

    CNT   EQU  $-STR1

    ……

    MOV  CX,CNT

    执行指令后,寄存器CX的值是_______。



  142. A:38H B:06H C:30H D:36H
    AI参考:正确答案是D:36H。指令MOV CX,CNT将计数器CNT的值(即内存地址$-STR1$到$-STR2$之间的所有字节之和)赋值给CX寄存器。在题中,STR1和STR2的定义分别为DW和DB,其中DW表示双字(4字节),DB表示字节(1字节)。因为16个重复项是字符串AB的长度,因此一共使用了4个字节(因为用了16个D),所以一共用了8个字节,所以总共的值就是$4 \times 8 = 32$,再加上STR1和STR2本身的两个字节,总共是34个字节。因此,执行指令后,寄存器CX的值是36H。'
  143. 阅读如下程序段,说明该程序段对DX(高16位)、AX(低16位)组成的32位数完成什么操作?

    MOV  CL,12

    MOV  BX,AX

    SHR  BX,CL

    MOV  CL,4

    SHL  DX,CL

    SHL  AX,CL

    OR  DX,BX



  144. A:该程序段将DX,AX组成的32位数向右移8位。 B:该程序段将DX,AX组成的32位数向右移4位。 C:该程序段将DX,AX组成的32位数向左移4位。 D:该程序段将DX,AX组成的32位数向左移8位。
    AI参考:根据程序段中的指令,可以看出是执行了位移操作。首先将CL寄存器设置为12,然后MOV BX,AX,将AX的值移动到BX中。接着使用SHR BX,CL将BX中的值向右移动12位。然后再将CL寄存器设置为4,将DX和AX中的值分别向左移动4位。最后使用OR指令将DX和BX的值合并,即向右移4位后与BX中的值合并。因此,正确答案是B:该程序段将DX,AX组成的32位数向右移4位。'
  145. 分析下面的程序段所实现的功能:
            MOV  CL,4   
            SHL  BL,CL   
            AND  AL,0FH   
            OR   AL,BL   


  146. A:将两个字节数据的高4位合并为一个新字节 B:将两个字节数据的低4位合并为一个新字节 C:将两个字节数据的高、低4位分别进行与、或运算 D:将两个字节数据的内容互换
    AI参考:正确选项是【D:将两个字节数据的内容互换】。程序段中首先将CL寄存器的内容(4)加载到CL寄存器中,然后将BL寄存器的值左移CL寄存器的值(即4位),结果存放在BL寄存器中。接着对AL寄存器的值(即第一个字节的低4位)进行与运算(AND),再与BL寄存器的值进行或运算(OR),结果存放在AL寄存器中。由于AL和BL都只有一个字节的大小,所以这段代码实际上是将两个字节数据的内容互换。具体来说,首先将第二个字节的高4位加载到CL寄存器中,然后左移第二个字节的低4位(此时作为第一个字节)并将其与CL的值进行按位与运算,再将结果与第一个字节的低4位进行按位或运算,并将结果存回第一个字节中。因此,这个程序段实现了将两个字节数据的内容互换的功能。'
  147. 已知(DS)=3000H, (BX)=1000H, (DI)=0020H, 内存分配如图所示

    LEA  SI,[BXDI0300H

    MOV AX,[SI

    LDS DI,[BXSI

    SUB AX1234H

    连续执行上述指令后, AX=_______


    21.jpg


  148. A:00EFH B:00EEH C:00FEH D:00DEH
    AI参考:答案:D解析:首先,执行LEA SI,[BX+DI+0300H]指令,将内存地址为3030H处的值加载到SI寄存器中。接着,执行MOV AX,[SI]指令,将SI寄存器中的值(即内存地址为3030H处的值)加载到AX寄存器中。然后,执行LDS DI,[BX+SI]指令,将内存地址为3031H处的值加载到DS寄存器中。DS寄存器中的值即为我们刚才在AX寄存器中加载的值。最后,执行SUB AX,1234H指令,AX寄存器的值即为其被减数与减数的差。因为DS=3000H,BX=1000H,SI=3030H,所以AX寄存器的值实际上是1234H减去1234H的值,即AX=0。所以,最终AX寄存器的值为0。因此,选项D:00DEH为正确答案。'
  149. 执行如下指令后,请填写标志位的取值情况:

    MOV AX, 1234H

    MOV BX, 2345H

    ADD AX, BX

    执行后,SF=      (1)      CF=    (2)    



  150. A:0,1 B:1,0 C:1,1 D:0,0
    AI参考:执行如下指令后,标志位的取值情况为:SF=1,CF=1。解释:* MOV AX, 1234H 将1234H放入AX寄存器中,此时SF标志位为1。* MOV BX, 2345H 将2345H放入BX寄存器中,此时CF标志位为1。* ADD AX, BX 将AX寄存器中的值与BX寄存器中的值相加,结果仍存放在AX寄存器中。在执行ADD指令时,CF和SF标志位都会发生变化。具体来说,CF的来源是算术运算的结果中符号位(正数时为0,负数时为1),因此CF=1;而SF的来源是算术运算结果的商(整数除法时),因此SF=1。所以,答案为C:1,1。'

温馨提示支付 ¥2.80 元后可查看付费内容,请先翻页预览!
点赞(1) dxwkbang
返回
顶部