汇编语言期末复习前三章客观题

疫情影响,放假提前,考试提前,周末还要补课,盲猜应该没有复习周。。
开个专栏,记录一下汇编语言的复习过程

  1. (单选题)存储器的一个字节表示( 8 )位

换算:一个字=两个字节=16位
2. (单选题)

以下指令错误的是( B )

A. Mov ax,bx
B. Mov al,bx
C. Mov ah,al
D. Mov bh,80H

ax,bx,cx,dx都是16位的通用寄存器,可以拆分为两个八位的寄存器来使用,题目中B选项16位的bx,向8位的al送数据,超出了al的范围
在这里插入图片描述3. (单选题)如果一个字变量中存放16个字,该字变量的起始地址为1000H:2000H,则该字变量数据区中的最末一个字单元的物理地址为( C)。

A. 1201FH
B. 12000H
C. 1201EH
D. 12020H

物理地址=段地址*16+偏移地址 该字变量的起始物理地址为12000H 从12000H开始存储,每个字占两个字单元,所以占32个字单元,存放十六个字最末一个字单元的物理地址为1201EH

  1. (单选题)中央处理器CPU是由( D)组成的。
A. 运算器
B. 控制器
C. 寄存器组
D. 前三者
  1. (单选题)在机器内部操作中,CPU与存储器之间的任何信息交换使用的都是( 物理 )地址。

  2. (单选题)下面的pop指令中,语法错误的是( B )。

    A. pop   DS
    B. pop   BL
    C. pop   ax   
    D. pop   bx

pop push的操作对象为16位
7. (单选题)在CPU内部寄存器之间传送数据的指令是(B)。

    A. ADD
    B. MOV 
    C. SUB   
    D. MUL
  1. (单选题)一个段最大可定义( B )字节。
A. 1M
B. 64K
C. 32K
D. 16K

8086CPU的数据总线是16位。可寻址空间是2^16=64KB
9. (单选题)

汇编语言属于( D )。

A.用户软件
B.系统软件
C.高级语言
D.机器语言
  1. (单选题)压栈操作是( B )位数的操作。
  A. 8
  B. 16
  C. 32
  D. 任意

跟第六题同解哦
11. (单选题)物理地址的形成过程是将段地址左移( C )位加偏移地址
A. 2
B. 3
C. 4
D. 5
物理地址=段地址*16+偏移地址 段地址*16相当于左移四位,然后地址相加,得到一个二十位的地址,因为当时地址线20根,寄存器最高16位,要寻址1M的空间,必须用段地址和偏移地址结合的方法
12. (单选题)一个段可以放在内存的任何地方,但起始地址应该从一个能被( A )整除的单元地址开始。

A. 16
B. 32
C. 64
D. 128

一个段是16位
13. (单选题)设22000H、22001H单元分别存放的数据为12H、34H,若要读取22000H字单元中的数据,此时读出的数据是( )。

A. 12H
B. 34H
C. 3412H
D. 1234H

字单元
在这里插入图片描述14. (单选题)8086/8088 CPU的寄存器组中,8位的寄存器共有( C )个。

A. 4
B. 6
C. 8
D. 10

每个16位的通用寄存器可以拆分为两个8位的寄存器来使用
15. (单选题)

下面的PUSH指令中,语法错误的是( B )。

A.PUSH  DS            B.PUSH BL
C.PUSH  ax            D.PUSH BP

push 、pop的操作对象是16位的

  1. (单选题)在程序执行过程中,IP寄存器始终保存的是( C )。
A. 上一条指令的首地址 
B. 本条指令的首地址
C. 下一条指令的首地址
D. 需计算有效地址后才能确定地址
  1. (单选题)设AX=3762H,CL=5,执行“SHR AX,CL”后,AX=( )。

A. 0376H
B. 01BBH
C. 01BB
D. 0376

关于shr和shl右移和左移的命令,shr命令为右移,十六进制的3762转化为二进制之后为11011101100010,二进制右移之后为00000110111011(右移,高位补0),shl为左移
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

在这里插入图片描述在这里插入图片描述在这里插入图片描述

在这里插入图片描述在这里插入图片描述CUP四次修改IP。第1次在执行 mov ax,bx后,第2次在执行sub ax,ax后,第3次在读入jmp ax后,第4次在执行jmp ax后。最后IP中的值是0。

  1. (简答题)问答题(写出过程,拍照)

(1)给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围是多少?

(2)有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元,则SA的变化范围是多少?

(1)求寻址范围就是求物理地址的变化范围
最小=0001H*16+0000H=0010H
最大=0001H+FFFFH=1000FH

(2)通常偏移地址的变换范围0000H~FFFF H
所以段地址的范围为(SA*16+0H)~(SA*16+FFFFH)
最小:(2000H-ffffH)/16 无法除尽
但是(2000-fff0H)/16=1001H 可以除尽
最大:(2000H-0H)/16=2000H
所以SA的变化范围为1001H~2000H

在这里插入图片描述
解法同48题一样,不过需要注意mov ax,11316中为十进制,需要转换为十六进制
在这里插入图片描述

在这里插入图片描述

Guess you like

Origin blog.csdn.net/m0_52526329/article/details/121409970