藩蒙篡蝗小监纽到泻努取及茧
第一章 微型计算机基础 第一单元测验
1、 设字长为8位,已知[X]补=E5H,则X=( )。
答案: -1BH
2、 机器字长为8位的无符号数,其数值范围为( )。
答案: 0~255
3、 组合BCD码是指8位二进制数可以表示( )个十进制数。
答案: 2
4、 微型计算机各部件之间是用( )连接起来的。
答案: 系统总线
5、 PC系列机中,有符号数是用( )表示的。
答案: 补码
6、 在计算机内部,一切信息的存取、处理和传送都是以( )形式进行的。
答案: 二进制编码
7、 存储器是计算机系统的记忆设备,主存储器主要用来( )。
答案: 存储指令和数据
8、 计算机的外部设备是指( )。
答案: 输入输出设备
9、 若把组成计算机中的运算器和控制器集成在一块芯片上称为( )。
答案: 微处理器
10、 对处理器而言,数据总线和地址总线的方向通常分别为( )。
答案: 双向和输出
11、 (11101.1011)2=( )10
答案: 29.6875
分析:按照算法:每位的代码(0或1)和该位的权值(2的幂次)相乘,再求累加和,可以求得该数的整数部分和小数部分的十进制数
12、 (147)10=( )16
答案: 93
分析:第一步先将147转换程二进制数10010011,将该二进制数4位一组分组成1001,0011,然后每个4位二进制数用1个十六进制数来表示。
13、 (3AC)16=( )10
答案: 940
分析:按照算法:每位的代码(0–15)和该位的权值(16的幂次)相乘,再求累加和,即可得到结果
14、 (10010111)BCD=( )2
答案: (以下答案任选其一都对)01100001;
1100001
分析:10010111即1001,0111,是十进制数97的紧凑型BCD码表示,十进制数97转换成二进制数为1100001
15、 字长=8,[-1]补=( )2
答案: 11111111
分析:按照求补运算法则,最高的D7位为符号位1,其余是-1的绝对值0000001(对应7位二进制数值)按位取反再在末位加1形成补码机器数11111111
16、 字长=8, [X]补=(A5)16,则X=( )16
答案: -5B
分析:机器数A5对应二进制数为10100101B,其真值为-1011011B,此数转换成十六进制数的第一步是4位二进制数为1组,不足4位的用0不全即:-0101,1011B,该数对应的十六进制数是-5BH。
17、 设字长=8位,X=(8E)16,当X为反码时,其真值=( )16
答案: -71
分析:8EH=10001110B,按求反码的方法,可反向(符号位进行正负判断,真值为负数的,其余数值为按位取反)求出反码机器数对应的真值:-1110001,该二进制数对应的十六进制数为-71H。
18、 微处理器通过( )总线向存储器和I/O接口电路传输数据信号。
答案: 数据
分析:数据信号对应的二进制数据通过数据总线进行传递。
19、 设字长=8位,X=(80)16,当X为补码时,其真值的十进制表示为( )。
答案: -128
分析:由于0的补码表示是唯一的。故8位字长时,10000000B这个机器数对应的真值是-128。
20、 设字长=8位,[-6]补=( )16。
答案: FA
分析:8位补码机器数表示-6,只需按照补码计算方法即可得到其补码为11111010可书写成十六进制数FAH。
21、 一个BCD码数:0011 1001 0100 1000,表示的十进制数是( )。
答案: 3948
分析:BCD码是对十进制数的二进制编码,1个十进制数用4位二进制数来表示。该16位的二进制数被分成4组,每组4位二进制数转换成1位十进制数,就得到了4位的十进制数3948.
22、 冯诺依曼结构确定了计算机的五个基本部件:输入设备、输出设备、存储器、控制器和( )。
答案: 运算器
分析:冯型思想的计算机五大组成,缺一不可。
23、 若字母A的ASIIC码是65,则ASIIC码是69对应的字母是( )。
答案: E
分析:字母’A’到’Z’是顺序编码的。
24、 设有两个有符号数9AH和 C8H(补码表示),则两数相加的结果是( )H。
答案: 62
分析:按计算机的运算规则,在机器内部有符号数是按补码进行表示且运算的,题干中两数直接相加得到补码机器数结果62H
25、 某计算机系统的存储器标识为1KB,表示其容量为( )字节。(用一个十进制数表示)
答案: 1024
分析:K表示1024,M表示10241024 ,G表示10241024*1024
26、 若某微型计算机的微处理器有16根地址线,则该处理器能寻址的内存最大容量为( )KB。
答案: 64
分析:CPU的寻址能力由其地址线条数决定。16根地址线,可最多寻址2的16次字节的内存空间,即64KB。
27、 用补码表示的有符号8位二进制数,其真值范围为-128~ +( )。(填写一个十进制数)
答案: 127
28、 CPU对存储器的操作有读和( )两种。
答案: 写
分析:读存储器和写存储器是微型计算机中CPU重要的两个基本操作。可以从存储器读指令代码和读数据,也可以写指令执行的结果到存储器中。
29、 微型计算机系统中,系统总线按其功能可分为数据总线、地址总线和( )总线三种不同类型的总线。
答案: 控制
30、 计算机中,所有信息都是以( )进制编码形式存在的。
答案: (以下答案任选其一都对)二;
2
31、 组合BCD码是指8位二进制数可以表示( )个十进制数。
答案: 2
作业第一章 微型计算机基础 第一单元作业
1、 字长=8,用补码形式完成下列十进制数运算。要求有运算过程,写出运算结果、C标、O标的具体值,并判断结果是否正确。 (+75)+(-6)
评分规则: [75]补= 01001011
[-6]补= 11111010
[75]补= 01001011 + [-6]补= 11111010________[75-6]补=
01000101
C标=1
O标=0
75-6=69 ,结果正确
2、 字长=8,用补码形式完成下列十进制数运算。要求有计算过程,写出加数、被加数和结果的补码,O标志和C标志的值,并判断结果是否正确。 (-110)+(-70)
评分规则: [-110]补=1001,0010
[-70]补= 10111010
[-110]补=1001,0010 + [-70]补= 1011,1010
_
_
_____ [-110-70]补= 0100,1100
C标=1
O标=1
[-110-70]=76 答案错误
第二章 80X86微处理器 第二单元测验
1、 在一般的微处理器中,( )包含在CPU中。
答案: 算术逻辑单元
2、 所谓微机的字长是指( )。
答案: CPU中运算器一次能处理二进制数的最大位数
3、 80486CPU进行算术和逻辑运算时,可处理的信息的长度为( )。
答案: 都可以
4、 在下面关于微处理器的叙述中,错误的是( ) 。
答案: 一台计算机的内部只含有1个处理器
5、 若某台微型计算机的型号是奔四800,则其中800的含义是( )。
答案: 时钟频率为800MHZ
6、 程序设计中所使用的地址是( )。
答案: 逻辑地址
7、 控制器的功能是( )。
答案: 从主存取出指令、分析指令并产生有关的操作控制信号
8、 运算器的主要功能是( ) 。
答案: 算术运算与逻辑运算
9、 编程人员不能随意读写的寄存器是( )。
答案: IP
10、 80X86微处理器中的 BX是( )。
答案: 基址寄存器
11、 如果一个程序在执行前CS=1000H,IP=2000H,该程序的起始地址是( )。
答案: 12000H
12、 若某数据段位于存储区38000H~47FFFH,则该数据段的段基址可能为( )。
答案: 3800H
13、 80486微处理器中的寄存器可以作为8位或16位寄存器使用,如( )。
答案: CX
14、 以下不属于CPU状态标志的是( )。
答案: D标
15、 486工作在实地址模式下时,能访问的物理内存空间是( )B。
答案: 1M
16、 工作在实地址模式下时,32位处理器对存储器是进行分( )管理的。
答案: 段
17、 32位处理器的工作模式不包含( )模式。
答案: 嵌入
18、 CPU 芯片中只集成了运算器和控制器。
答案: 错误
分析:还集成了工作时必要的寄存器组。
19、 若一个数据块的起始地址为20A0H:0F6H,则该数据块起始的实际地址是21B60H。
答案: 错误
分析:20A0左移4位是20A00,右对齐加上0F6H,得到20AF6H,故该数据块的起始地址为20AF6H。
20、 80486的数据总线都是16位。
答案: 错误
分析:80486处理器对外有32根数据线。
21、 SP做堆栈指针时,其内容必须指向堆栈栈顶。
答案: 正确
22、 字长是描述CPU数据总线宽度的指标。
答案: 错误
分析:字长是描述CPU运算能力的一个性能指标。
23、 逻辑地址不是物理地址,但它是唯一的。
答案: 错误
分析:逻辑地址的确不同于物理地址,物理地址是唯一的,但不同的逻辑地址可生成同一个物理地址,所以一个单元的逻辑地址不唯一。
24、 物理地址不是逻辑地址,并且某内存单元的物理地址是唯一的。
答案: 正确
25、 在80486的32位标志寄存器中,其每一位都有一定的含义。
答案: 错误
分析:32位长度的标志寄存器中,有定义的是若干位,不是全部位都有定义。
26、 微机的字长愈长,计算精度愈高,指令处理功能愈强。
答案: 正确
27、 实地址模式下80486可以直接访问的内存单元为1MB,一个逻辑段为1MB。
答案: 错误
分析:实模式下能访问的内存容量位1MB,但一个逻辑段最大不能超过64KB。
28、 当取指令时,CPU会自动以代码段寄存器CS内容作为段基址,左移4位后,再加上指令指针IP内容作为偏移量,形成20位物理地址。
答案: 正确
29、 80486的逻辑段不允许有段的重叠和交叉。
答案: 错误
分析:80486允许有段的重叠和交叉。
30、 16位微处理器的内部结总线接口单元BIU由段寄存器(CS、DS、SS、ES)、指令指针寄存器(IP)、内部暂存器、指令队列、地址加法器及总线控制电路组成。
答案: 正确
31、 80X86工作在实模式下时,每个物理存储单元对应唯一的物理地址,其范围是0 ~ ( )H。
答案: FFFFF
分析:物理地址00000H~FFFFFH对应着1MB的内存容量。
32、 指令指针用IP表示,其中存放的是CPU所要访问的内存单元的( )。
答案: (以下答案任选其一都对)偏移地址;
有效地址
33、 8086CPU具有20条地址线,可直接寻址( )B容量的内存空间。
答案: (以下答案任选其一都对)1M;
1兆;
1024K
34、 32位微处理器有两个独立的物理空间,一个是存储空间,另一个是( )空间。
答案: (以下答案任选其一都对)I/O;
输入输出;
IO;
输入/输出
35、 在实地址模式下,设SS=0408H,SP=0130H,则栈顶单元的物理地址是( )H。
答案: 041B0
分析:SP中存放着堆栈栈顶单元的有效地址,所以栈顶单元的物理地址可通过SS内容左移4位+SP内容形成。
36、 运算器的主要功能是逻辑运算和( )运算 。
答案: (以下答案任选其一都对)算术;
数学
37、 80X86微处理器以段寄存器中的CS作为段基址,则生成物理地址时,偏移地址允许使用( )寄存器。(书写该寄存器的汇编助记符)
答案: (以下答案任选其一都对)ip;
IP
38、 80X86微处理器的16位寄存器中,被称作累加器的是( )寄存器。(书写该寄存器的汇编助记符)
答案: (以下答案任选其一都对)AX;
ax
39、 80486处理器内部的标志寄存器FLAG,为系统提供( )个控制标志。
答案: (以下答案任选其一都对)3;
三
40、 实地址模式下,80486处理器内部的寄存器SS在访问内存时用来提供( )段的段基址。(写出中文名称)
答案: 堆栈
41、 奔腾CPU的RESET信号有效后,IP内容为( )。
答案: FFF0H
42、 时钟周期是处理器中处理动作的最小时间单位,通常称为一个T状态。这是微处理器完成一步完整操作的最小时间单位。
答案: 正确
第三章 汇编语言指令集(一) 第三单元测试
1、 设BUF是变量,指令MOV AL, BUF中源操作数的寻址方式是( )。
答案: 直接寻址
2、 已知BX=3000H,SI=2345H, 则指令MOV AL, [BX+SI+3]中源操作数是( )。
答案: 数据段偏移地址是5348H的字节单元。
3、 8086的标志寄存器FLAG中定义的状态标志有( )个。
答案: 6
4、 指令SUB CX, [BX+2]的源操作数的寻址方式是( )。
答案: 基址寻址
5、 实模式下,通用寄存器( )能够作为间址寄存器使用。
答案: BX,SI,DI ,BP
6、 实模式下,CPU要执行的下一条指令的逻辑地址分别存放在( )寄存器中。
答案: CS:IP
7、 汇编语言程序中的标号代表( )。
答案: 指令地址
8、 使用BP寄存器间接寻址,约定访问的是( )。
答案: 堆栈段
9、 下列存储器操作数的段超越前缀可省略的是( )。
答案: SS:[BP]
10、 寄存器间接寻址方式中,操作数在( )中。
答案: 内存单元
11、 逻辑地址2F34H:02F6H表示的存储单元的物理地址为( )H。
答案: 2F636H
12、 以为模,将C678H和94FBH相加,A、C、O、P、S、Z 六种状态标志的值为( )。
答案: 1,1,1,0,0,0
13、 指令MOV AX, [BX ]目标操作数、源操作数的寻址方式分别是( )。
答案: 寄存器寻址,间址寻址
14、 标志位SF表示( )
答案: 运算结果的最高位是否为1
15、 设实模式下,DS=1300H,SS=1400H,BP=1500H,SI=0100H。则指令“MOV AX, [BP+SI-200H]”的源操作数的物理地址为( )。
答案: 15400H
16、 两个16位数84A0H,9460H相加后,标志寄存器FLAGS的六个状态位CF,OF,AF,SF,PF,ZF各为( )。
答案: 110010
17、 以下格式合法的指令是( )
答案: MOV [BX],SI
18、 指令MOV AL, ES:[BP+3]中源操作数所寻址的逻辑段为是( )。
答案: 附加段
19、 在汇编语言源程序中,下列( )汇编时汇编为机器指令。
答案: 符号指令
20、 指令MOV [BX+1],AL目标操作数、源操作数的寻址方式分别是( )。
答案: 基址寻址,寄存器寻址
21、 MOV SI,EBX指令正确
答案: 错误
分析:两个操作数长度不相等,指令是非法的。
22、 假设VAR1为字变量,则指令SUB AL,VAR1正确。
答案: 错误
分析:两个操作数长度不相等,一个为8位,一个为16位,因此错误。
23、 在实地址模式下,设SS=2FD0H ,DS=2F34H,BP=02F6H,则指令MOV AL,[BP]源操作数的物理地址是____H。
答案: (以下答案任选其一都对)2FFF6;
2fff6
分析:BP寄存器间址寻址约定查找的是堆栈段,因此操作数的物理地址是SS16+BP=2FD0H16+02F6H=2FFF6H
24、 设BX=1234H,DS=2000H,(21234H)=78H, (21235H)=56H则指令MOV SI,[BX]执行后,SI的值是______H。
答案: 5678
分析:MOV SI,[BX]指令,是将BX间址寻址的内存操作数送给SI,BX约定查找的数据段,因此该操作数的物理地址为DS*16+BX=21234H,而21234H单元的内容为78H ,因为SI为16位寄存器,因此还要将21235H单元的内容取出来作为SI高8位的值,因此SI的值是5678H
25、 指令MOV AX,1234H源操作数的寻址方式是_______寻址。
答案: 立即
分析:TABLE是符号常数,经过汇编后为立即数,因此是立即寻址。
26、 符号指令和_____指令是一对一的关系。
答案: 机器
分析:符号指令和机器指令是一对一的关系。
27、 已知BP=2000H,DS=2000H,SS=1000H,则实模式下,指令MOV AX,[BP+100H]源操作数存放在物理地址为______H的单元中。
答案: 12100
分析:指令MOV AX,[BP+100]源操作数的寻址方式为基址寻址,BP约定查找的是堆栈段,因此物理地址为SS*16+BP+100H=12100H
28、 已知[X]补=00010111B,[Y]补=01101101B,则[X-Y]补=_H,且运算结果使6个状态位CF=_;SF=_;ZF=__;AF=_;PF=__;OF=____。(注:答案必须(1)英文字符全部大写,并且为半角字符;(2)答案之间用一个半角空格分开。
答案: (以下答案任选其一都对)AAH 0 1 0 0 1 0;
AA 0 1 0 0 1 0
分析:已知[Y]补=01101101B,则Y=+1101101B,则-Y=-1101101B,则[-Y]补=10010011B,则[X-Y]补=[X]补+[-Y]补=10101010B=AAH
CF=0;SF=1;ZF=0;AF=0;PF=1;OF=0。
29、 以为模,将C678H和6398H相加,写出十六进制和数,以及A、C、O、P、S、Z 六种状态标志的值。(注:答案必须(1)英文字符全部大写,并且为半角字符。(2)答案之间用一个半角空格分开。)
答案: (以下答案任选其一都对)2A10H 1 1 0 0 0 0;
2A10 1 1 0 0 0 0
分析:因为D3向D4位有进位,所以AF=1;最高位有进位,所以CF=1;加数最高位和被加数最高位不同,所以OF=0;运算结果低8位10H中1的个数为奇数个,所以PF=0;运算结果最高位为0,所以SF=0 ;运算结果不等于0,所以ZF=0.
30、 数据段 TABLE单元开始依次存放12H,34H,56H,67H MOV BX,TABLE单元的偏移地址MOV AX,[BX+1]指令执行后,AX=_____H。
答案: 5634
分析:[BX+1]单元内容为34H,再取相邻高地址单元内容56H。
31、 假设TABLE是符号常数,则指令MOV AX,TABLE源操作数的寻址方式是_______寻址。
答案: 立即
分析:TABLE是符号常数,经过汇编后为立即数,因此是立即寻址。
32、 伪指令为__和链接程序提供信息,其功能是由相应的软件完成的
答案: 汇编程序
分析:伪指令是为汇编工具提供汇编和链接信息的指令。这些信息将帮助汇编工具完成将汇编源程序编译成为目标机器程序的任务。
第三章 汇编语言指令集(二) 第四单元测试
1、 使以DI间接寻址的存贮单元内容加1的指令是( )。
答案: INC BYTE PTR [DI]
2、 在宏汇编语言中,计算某个内存单元的偏移地址的运算符是( )。
答案: OFFSET
3、 用一条指令实现将寄存器BX和SI的内容相加,结果送入AX中,这条指令是( )。
答案: LEA AX,[BX+SI]
4、 下列指令中,错误的指令条数为 。INC [BX] MOV AL,[DX] PUSH CS MOV DS,DATA(DATA是数据段段名)
答案: 3
5、 INC SI指令执行后,对下述__标志没有影响。
答案: C标
6、 设BX=1234H,DS=2000H,(21234H)=78H, (21235H)=56H.则指令LEA SI,[BX+1]执行后,SI的值是( )。
答案: 1235H
7、 下列指令中,格式合法的是( )。
答案: MOV AX,[BX+SI]
8、 MOV AL,79H ADD AL,0B1H上面两条指令连续执行后,标志位CF和OF的值是( )。
答案: CF=1,OF=0
9、 下列指令中,格式合法的是( )。
答案: MOV AL,SS:[BX+1]
10、 若寄存器AX、BX、CX、DX的内容分别为1,2,3,4,CPU依次执行下列指令:PUSH AXPUSH BXPOP CXPOP DX以上4条指令执行完后,寄存器DX的内容为 ( )。
答案: 1
11、 设实模式下,DS=1300H,SS=1400H,BP=1600H。则指令MOV AX, [BP+200H]的源操作数的物理地址为( )。
答案: 15800H
12、 以下指令格式正确的是( )。
答案: MOV DX, CS
13、 把首地址为BLOCK的字数组的第4个字送到AX寄存器的指令是( )。
答案: MOV BX,BLOCK+6
14、 实模式下,当前栈顶指针SP=2000H,BP=1FFEH,AX=8A4BH,BX=3034H,CX=2000H,执行以下命令后,SP、BP、AX、BX、CX分别为( )PUSH AXMOV CX,[BP]POP BX
答案: 2000H,1FFEH,8A4BH,8A4B,8A4BH
15、 堆栈是( )。
答案: 一段用于临时存储的按后进先出方式工作的RAM区域
16、 16位乘法结果存放在( )寄存器中。
答案: AX,DX
17、 若AL内容为04H,则CMP AL,7AH执行后,AL中的内容为( )。
答案: 04H
18、 下列指令( )中执行的结果是将数据段一个字单元的内容送给DX。
答案: MOV DX,DS:[BX]
19、 已知某数据段定义如下( ) DATA SEGMENT D1 DB 5 DUP(0) D2 DW 2 DUP(?) D3 DB ‘Hello!‘ D4 EQU 100 D5 DD 1234H D6 DB ? DATA ENDS则变量D6的偏移地址是( )。
答案: 0013H
20、 VAR的定义为:VAR DW 8A2FH,现要将VAR的高字节取入AL寄存器,正确的语句是( )
答案: MOV AL,BYTE PTR VAR+1
21、 以下格式合法的指令是( )
答案: MOV BYTE PTR [BX+SI],27H
22、 指令MOV DX,DS:[AX] 执行的结果是将数据段一个字单元的内容送给DX。
答案: 错误
分析:该指令用AX寻址,是非法指令。
23、 数据定义语句“VAR DW 100 DUP(?)”定义了一个大小为200个字节的存储区。
答案: 正确
分析:DW是字定义伪指令,每个变量存放两个单元内容。
24、 实模式下,若SP=2000H,则执行指令PUSH AX 后,SP=____H。
答案: 1FFE
分析:PUSH指令将源操作数压入堆栈。操作过程是先将堆栈指针向低地址方向进行调整,然后将操作数送入堆栈指针指向的栈顶单元中。当操作数是16位字时,堆栈指针的调整方法为 (SP) – 2 → (SP) 。
25、 已知BUF DW ‘AB’,则汇编后BUF+1单元存放的内容为 H。
答案: 41
分析:DW表示字定义。双字节数将按照定义时的顺序依次存放在对应的存储器单元中。注意:存放时双字节数的低位字节存放在低地址单元,高位字节存放在高地址单元。因此(BUF)=42H,(BUF+1)=41H
26、 用一条指令完成无符号数乘法,将AL*BL结果送至AX。(注:(1)不能有多余的空格,例:操作码和操作数之间空格只有一位;操作数和操作数之间不能有空格。(2)字符全部大写,并且为半角字符。)
答案: MUL BL
分析:MUL指令中,乘数和被乘数必须是无符号数并且字长相等,除了乘数需要显式写出外,被乘数以及乘积均为隐含操作数。
乘数为8位寄存器操作数或内存操作数,被乘数默认放AL中,得到的16位乘积送入AX 中。
27、 两个压缩的BCD数25与58相加,运算后的结果需要进行修正,修正后,运算结果为 H。
答案: 83
分析:BCD码调整指令的作用是对二进制的运算结果调整成十进制结果。组合十进制数加法调整指令是对存放在AL中的由两个组合BCD码数相加的和进行修正,得到正确的组合BCD码结果。而这两个BCD码十进制的加法结果是83,因此答案为83H
28、 将BUF内存单元的偏移地址传送到BX中,可以用MOV BX, OFFSET BUF实现,还可以用功能相同的指令 实现。(注:(1)不能有多余的空格,例:操作码和操作数之间空格只有一位;操作数和操作数之间不能有空格,用半角逗号隔开。(2)字符全部大写,并且为半角字符。)
答案: LEA BX,BUF
分析:LEA 目标操作数,源操作数 功能:将源操作数的偏移地址传送到目标操作数。
29、 设AX=1234H,BX=5678H,阅读下列程序段,完成相应空格。 MOV SP,2000H PUSH AX PUSH BX POP CX POP DX该程序段执行后,SP=__H ,AX=_H,BX=___H ,CX=___H,DX=_____H。(注:答案和答案之间用一个空格分开)
答案: 2000 1234 5678 5678 1234
分析:这段指令PUSH和POP的个数是相同的,因此SP寄存器值仍然是2000H,而PUSH指令是不会改变操作数的值,因此AX和BX值不变。而堆栈操作是先进后出,因此AX的值先进栈后出栈给DX,而BX的值先进栈后出栈给CX,因此DX=AX=1234H,CX=BX=5678H
30、 设DS=2000H,SS=4000H, BX=1000H,BP=1000H, (21000H)=1234H, (21002H)=5678H,(41000H)=3456H, (41002H)=789AH。写出下列三条指令执行后的结果。(注:答案和答案之间用一个空格分开)(1)MOV AX, DS:[1000H] AX=___H。(2)MOV AL,BYTE PTR [BX+2] AL=__H。(3)MOV AH, [BP] AH=____H。
答案: 1234 78 56
分析:(1)MOV AX, DS:[1000H] 源操作数的物理地址为DS16+1000H=21000H ,因此寻址的16位操作数为1234H。
(2)MOV AL,BYTE PTR [BX+2] 源操作数的物理地址为DS16+BX+2=21002H ,因此寻址的8位操作数为78H。
(3)MOV AH, [BP] 源操作数的物理地址为SS*16+BP=41000H ,因此寻址的8位操作数为56H。
31、 若数据段定义如下:BUF DB ‘NJUPT’ L1 EQU $-BUF S DB ‘EDUCN’ L2 EQU $-BUF则,L1= ; L2= 。(注:答案和答案之间用一个半角空格分开)
答案: 5 10
分析:汇编后L1的值为BUF分配的内存单元个数=5,L2的值为BUF分配的内存单元个数加上S分配的内存单元个数=5+5=10.
32、 已知某数据段定义如下W1 DB 32H,20HW2 DW -1,4130HW3 DB ‘3AC5’ 汇编后,W2单元内容为_H,W2+1单元内容为_H,W3单元内容为______H。(注:答案和答案之间用一个半角空格分开)
答案: FF FF 33
分析:-1在字长=16的时候其补码为FFFFH,因此W2单元和W2+1内容均为FFH。
33、 已知某数据段定义如下:W1 DB 32H,20HW2 DW -1,4130HW3 DB ‘3AC5’执行MOV CX,WORD PTR W1指令后,CX的内容为_H, 执行MOV BX,W2+3指令后,BX的内容为_H。 (注:答案和答案之间用一个半角空格分开)
答案: 2032 3341
分析:MOV CX,WORD PTR W1,根据低字节存放在低地址,高字节存放在高地址的小端法规则,CL=(W1)=32H CH=(W1+1)=20H,因此CX=2032H。同样BL=(W2+3)=41H ,BH=(W2+4)即(W3+0)=33H,因此BX=3341H.
34、 设AX=2345H,BX=98A0H,阅读下列程序段,完成相应空格。MOV SP,0100H PUSH AX PUSH BX MOV BP,SPMOV BX,[BP+2]POP CXPOP AX 该程序段执行后,SP=__H ,AX=H,BX=H ,BPH,CX=_____H。 (注:答案和答案之间用一个半角空格分开)
答案: (以下答案任选其一都对)0100 2345 2345 00FC 98A0;
100 2345 2345 00FC 98A0;
0100 2345 2345 FC 98A0;
100 2345 2345 00FC 98A0
分析:MOV SP,100H ;SP=0100H
PUSH AX ;SP=00FEH
PUSH BX ;SP=00FCH
MOV BP,SP ;BP=SP=00FCH
MOV BX,[BP+2] ;源操作数为堆栈段偏移地址为BP+2=00FEH单元的内容,即进栈的AX的值,因此BX=2345H
POP CX ;CX=栈顶单元的内容,即进栈的BX的值即98A0H,此时 ;SP=00FEH
POP AX ;AX=栈顶单元的内容,即进栈的AX的值即2345H,此时 ;SP=0100H
所以程序执行后SP=0100H ,AX=2345H,BX=2345H ,BP=00FCH,CX=98A0H。
35、 数据段中VAR变量其偏移地址为28A0H,单元内容为8C00H,则执行指令:LEA AX,VAR后,AX的内容为( )H。
答案: 28A0
分析:LEA AX,VAR是将VAR的偏移地址送给AX寄存器。
36、 执行下列指令后,AX寄存器中的内容是_H。TABLE DW 10,20,30,40,50ENTRY DW 3 ┇MOV BX,OFFSET TABLEMOV SI,ENTRYMOV AX,[BX+SI]
答案: (以下答案任选其一都对)1E00;
1e00
分析:TABLE单元内容依次为0AH,00H,14H,00H,1EH,00,…..因此[BX+3]字单元内容为1E00H。
37、 下列指令中,错误的指令条数为 。INC [BX] MOV AL,[DX] PUSH CS MOV DS,DATA
答案: 3
第三章 汇编语言指令集(三) 第五单元测试
1、 用一条指令从67H得到11H,以下逻辑运算中可采用的逻辑指令是( )。
答案: XOR
2、 下列指令中,非法格式的指令条数为( )。 MOV DS,1000H MOV BUF,[BX] (BUF 已定义为字节变量) MUL 100 SAL AX,CX
答案: 4
3、 使用CMPSB指令搜索两个同样长度字符串中第一个不匹配的字符,应使用的重复前缀为( )。
答案: REPE
4、 设AL=74H,则指令“CMP AL,47H”执行后,AL的值为( )
答案: 74H
5、 使以DI间接寻址的存贮单元内容加1的指令是( )。
答案: INC BYTE PTR [DI]
6、 下面指令序列执行后完成的运算,正确的算术表达式应是( ) MOV AL,BYTE PTR X SHL AL,1 DEC ALMOV BYTE PTR Y,AL
答案: y=x*2-1
7、 和下列程序段功能等价的一条指令是( )。 AGAIN:MOV AL,[SI] MOV ES:[DI],AL INC SI INC DI LOOP AGAIN
答案: REP MOVSB
8、 执行下列哪条指令后,就能用条件转移指令判断AL和BL寄存器中的最高位是否相同()。
答案: XOR AL,BL
9、 80×86微处理器的标志寄存器中,和串指令相关的的标志位是()。
答案: DF
10、 要将AL寄存器的最高位(bit7)置为1,同时保持其他位不变,应使用( )指令
答案: OR
11、 设BX中有一个16位带符号数。若要将BX中的内容除2,则以下正确的指令是( )。
答案: SAR BX,1
12、 ( )指令不会自动修改CX寄存器的值。
答案: JZ AGA
13、 要实现内存某缓冲区中查找有无关键字符’K’,应使用( )指令。
答案: REPNE SCASB
14、 希望串操作指令自动将地址指针减量,则事先应把( )标志位设置为( )。
答案: DF,1
15、 在MOV AL ,[BX]指令之后,可直接使用JZ指令判断AL中内容是否为0
答案: 错误
分析:MOV指令不影响标志寄存器的状态位,因此不能直接使用JZ指令判断AL中内容是否为0
16、 实地址模式下,DS,CS都是由程序员赋初值的。
答案: 错误
分析:实地址模式下,DS由程序员赋初值的;而CS由系统赋值。
17、 所有串操作指令的前边都必须加前缀。( )
答案: 错误
分析:LODSB串装载指令没有重复前缀。
18、 以下两条指令的结果是:当无符号数AL>BL时转移到标号为CONT的指令。( )SUB AL, BL JC CONT
答案: 错误
分析:JC是小于跳转,因此执行结果是当AL<bl跳转。< span=””></bl跳转。<>
19、 汇编语言程序中的指令分为符号指令和伪指令两类,其中___是为汇编程序提供汇编信息,为链接程序提供链接信息的。
答案: 伪指令
分析:伪指令是为汇编工具提供汇编和链接信息的指令。这些信息将帮助汇编工具完成将汇编源程序编译成为目标机器程序的任务。
20、 阅读下列程序段,填空回答问题。 MOV CX,16 MOV BX,0 MOV DX,1DON: MOV AX,2AB0H AND AX,DX JZ NEXT INC BX NEXT: SAL DX,1 LOOP DON 该程序段执行后,BX=___。(注:答案采用十进制)
答案: 6
分析:该程序段功能是测试2AB0H各位中的1的个数,执行结束后BX中存放的是1的个数
21、 下面程序段的功能是在一组数据中,找出最大数和最小数(有符号数),并分别存入MAX和MIN单元中。请在程序中各横线上填入适当的指令语句。(注:(1)不能有多余的空格,例:操作码和操作数之间空格只有一位;操作数和操作数之间用半角逗号隔开,不能有空格。(2)字符全部大写,并且为半角字符。(3)指令与和指令之间用一个半角空格分开。).486 DATA SEGMENT USE16 BUF DW 500, -600,67,433,-1 CN DW ($-BUF)/2 MAX DW ? MIN DW ? DATA ENDS CODE SEGMENT USE16 ASSUME CS:CODE, DS:DATASTART:MOV AX,DATA MOV DS, AX MOV SI,OFFSET BUF MOV CX, CN DEC CX MOV AX, [SI] MOV MAX, AX MOV MIN, AX COMPA:______ MOV AX,[SI] CMP AX,MAX JL NEXT MOV MAX,AX ______NEXT: CMP AX,MIN JG LOP MOV MIN,AX LOP: _____ MOV AH,4CH INT 21HCODE ENDS END START
答案: ADD SI,2 JMP LOP LOOP COMPA
分析:这里每个数是用DW定义的,占两个内存单位,因此ADD SI,2将偏移地址往后移两个单元。
22、 设AX,BX,CX的值都是1234H ,DX的值是0F0FH ,执行下列程序段: OR AX,DX AND BX,DX XOR CX,DX 则:AX=___H,BX=__H, CX=______H,。(注:(1)字符全部大写,并且为半角字符。(2)答案和答案之间用一个半角空格分开。)
答案: 1F3F 0204 1D3B
分析:DX=0F0FH=0000111100001111B , 操作数相应位用1或置1,用0或保持不变;操作数相应位用0与置0,用1与保持不变;操作数相应位用1异或取烦,用0异或保持不变。
23、 用一条指令实现将AH的高4位置1 ,低四位不变。(1)操作码和操作数之间空格只有一位;操作数和操作数之间用半角逗号隔开,不能有空格。(2)字符全部大写,并且为半角字符。(3)标点符号为半角。)
答案: (以下答案任选其一都对)OR AH,0F0H;
OR AH,11110000B
分析:操作数置1的位用1或,保持不变的位用0或。
24、 阅读下面程序段:MOV AX,1234HMOV CL,4ROR AX,CLINC AXMOV BX,0ADD BX,AX 该程序段执行后,AX=__H,BX=_____ H。(注:(1)字符全部大写,并且为半角字符。(2)答案和答案之间用一个半角空格分开。)
答案: 4124 4124
分析:MOV AX,1234H ;AX=1234H
MOV CL,4
ROR AX,CL ;AX=4123H
INC AX ;AX=4124H
MOV BX,0 ;BX=0
ADD BX,AX ;BX=4124
25、 下列程序执行后,AX是___H设数据段有:TABLE DW -1, 1234H, 358, 458对DS初始化的代码段:MOV BX, OFFSET TABLEMOV AX, [BX + 1](注:字符全部大写,并且为半角字符)。
答案: 34FF
分析:偏移地址为BX+1的单元内容为FFH,偏移地址为BX+2的单元内容为34H,所以AX=34FFH。
26、 用一条指令实现将AH的高3位不变 ,低5位取反。
(注(1)操作码和操作数之间空格只有一位;操作数和操作数之间用半角逗号隔开,不能有空格。(2)字符全部大写,并且为半角字符。)
答案: (以下答案任选其一都对)XOR AH,00011111B;
XOR AH,1FH
分析:操作数不变的位用0异或,取反的位用1异或。
27、 阅读下列程序段,完成相应空格。 XOR AX,AX MOV BX,2 MOV CX,10 AGA:ADD AX,BXADD BX,2LOOP AGA程序段执行后,AX=__。(注:答案采用十进制)
答案: 110
分析:该程序段实现功能为2+4+6+8+10+12+14+16+18+20 =110
28、 已知:AX=0FE66H,CF=1,执行下列指令序列后,CF=,BL=____ H。(注:(1)字符全部大写,并且为半角字符。(2)答案和答案之间用一个半角空格分开。).MOV BL,27HROL BL,1ROR BL,3
答案: 1 C9
分析:ROL BL,1指令执行后,CF=0,BL=4EH,ROR BL,3执行后,CF=1,BL=C9H。
29、 AL的内容为92H,则执行指令SAR AL,1后,AL的内容为( )H。(注:字符全部大写,并且为半角字符。)
答案: (以下答案任选其一都对)C9;
0C9
分析:SAR指令在右移时,最高位和原来的最高位保持一致,因此1001,0010右移后编程1100,1001.
30、 数据段和附加段分别定义字符串变量STR1和STR2如下,其中,变量STR1和STR2的偏移地址都为0。STR1 DB ‘Hello1ABC‘STR2 DB ‘Hello2ABC’则执行以下程序段后,SI=__H,AL=____H。 (注:(1)字符全部大写,并且为半角字符。(2)答案和答案之间用一个半角空格分开。)LEA SI,STR1 LEA DI,STR2 MOV CX,9CLD REPE CMPSB JZ STOP DEC SI MOV AL,[SI] STOP:
答案: (以下答案任选其一都对)5 31;
05 31;
005 31;
0005 31
分析:由于串指令是先将偏移地址加1,再执行,因此当字符‘1’和字符‘2’比较不相等,REPE CMPSB指令执行结束后,SI=6,因此执行DEC SI 指令后,SI=5,[SI]=31H .
31、 和下列程序段功能等价的一条指令是( )。 AGAIN:MOV AL,[SI] MOV ES:[DI],AL INC SI INC DI LOOP AGAIN
答案: REP MOVSB
第四章 汇编语言程序设计(一) 第六单元测试
1、 在汇编程序的开发过程中,汇编之后所产生的文件是( )。
答案: OBJ文件
2、 要在屏幕上显示一彩色字符串,可以调用的是( )功能调用。
答案: BIOS INT 10H的13H号
3、 下面哪个功能调用会破坏AL寄存器的值?
答案: DOS INT 21H 的功能号09H
4、 设置逻辑段应该采用的一对伪指令是 ( )。
答案: segment/ends
5、 欲设定从偏移地址100H开始安排程序,可使用的伪指令是( ) 。
答案: ORG 100H
6、 在汇编语言程序中,对END语句描述正确的是( )。
答案: END语句表示源程序到此结束
7、 执行1号DOS系统功能调用,从键盘键入的字符ASCII码存放在()寄存器中。
答案: AL
8、 NUM EQU 80H DA DB 34H AND DA,NUM 上述语句执行后,DA中的内容是( )。
答案: 0
9、 使用系统功能调用的1号功能从键盘输入数据时,若在键盘上按了按键9,则1号功能返回的二进制编码为( )
答案: 39H
10、 DOS调用和BIOS调用的功能号都存放在( )寄存器中
答案: AH
11、 执行下面程序段后,屏幕上显示的内容是__。MOV AH,2MOV DL,35HINT 21H
答案: 5
12、 不依赖于计算机结构的语言是( )。
答案: 高级语言
13、 下面描述正确的是( )。
答案: 汇编语言属于低级语言
14、 通知汇编程序,源程序到此结束的伪指令是( )。
答案: END
15、 在汇编程序的开发过程中,链接之后所产生的文件是( )。
答案: EXE文件;
COM文件
16、 下面哪个逻辑段寄存器一定是由程序员赋值的。
答案: DS;
ES
17、 COM文件源程序只允许使用一个逻辑段,EXE文件源程序必须使用多个逻辑段。
答案: 错误
分析:EXE文件源程序可以使用多个逻辑段,但不是必须有多个逻辑段。
18、 CS段寄存器程序员是不能赋值的。
答案: 正确
分析:CS段寄存器是由操作系统赋值。
19、 汇编语言源程序可以没有数据段,也可以没有堆栈段。
答案: 正确
分析:汇编语言源程序可以没有数据段,也可以没有堆栈段,但一定要有代码段。
20、 ASSUME伪指令的功能是将各段寄存器装入实际值。
答案: 错误
分析:ASSUME伪指令的功能是用来指示程序中各实际的段和各段寄存器之间的关系,并不给段寄存器赋值。
21、 阅读下面程序: . 586CODE SEGMENT USE16 ASSUME CS:CODE BEG: MOV BL,84H MOV CX,8 LAST:MOV DL,’0’ ROL BL,1 JNC NEXT MOV DL,’1’ NEXT: MOV AH,2 INT 21H LOOP LASTMOV AH,4CHINT 21HCODE ENDSEND BEG程序执行后,屏幕上显示的内容为______。
答案: 10000100
分析:该程序段实现的功能是以二进制格式显示BL的值。
22、 数据段: BUF DB 15,?,15 DUP(?)代码段: MOV AH,0AH MOV DX,OFFSET BUF INT 21H 若用户执行该程序段,从键盘输入字符串‘ABCDE’并回车后,BUF+1字节单元的内容是__H;BUF+2字节单元的内容是_H;BUF+7字节单元的内容是_H。(注答案和答案之间用一个半角空格分开,英文字符全部大写,并且为半角字符。)
答案: (以下答案任选其一都对)05 41 0D;
5 41 0D;
05 41 D;
5 41 D
分析:用户键入回车之后,由0AH功能把实际键入的字符个数(不包括回车符)写入BUF+1单元。键入的字符串从BUF+2单元开始依次存放。
23、 汇编语言有两种编程格式分别为: 文件的编程格式和 文件的的编程格式。(注:(1)英文字符全部大写,并且为半角字符。(2)答案和答案之间用一个空格分开。)
答案: (以下答案任选其一都对)COM EXE;
EXE COM
分析:汇编源程序有两种编程格式:一种格式只能生成扩展名为EXE的可执行文件,称为EXE文件的编程格式;另一种格式可以生成扩展名为COM的可执行文件,称为COM文件的编程格式。COM文件的执行级别高于EXE文件。
24、 汇编语言源程序要经过编辑、汇编和 才能生成可执行文件。
答案: 链接
分析:用户开发汇编语言程序通常要经过编辑、汇编、链接等基本步骤,最后生成可执行程序。
25、 阅读下面程序段:STRING DB ‘ABCDEFGHIJ’ ……. MOV AH,01H ;从键盘输入字符1~9 INT 21H SUB AL,30H DEC AL MOVZX SI,AL MOV BX,OFFSET STRING MOV DL,[BX+SI] MOV AH,02H INT 21H若从键盘输入字符‘8’,屏幕上显示什么内容?
答案: (以下答案任选其一都对)H;
8H
分析:该程序段是实现根据从键盘中键入字符1-9,从字符串中读取相应字符显示在屏幕上。如果键入1显示‘A’,键入2,显示‘B’,依次类推。
26、 阅读下面程序段: MOV DL,0 MOV CX,8 MOV BL,100AG答案: 26 00100110
分析:该程序段是将BL中的数据按逆序排列送给DL,并在屏幕上以二进制格式显示。
27、 设AX=1234H,BX=FFFFH,CX=4000H,阅读下面程序段:CMP AX, BXJGE NEXTXCHG AX,BXNEXT: CMP AX, CX JGE DONE XCHG AX, CXDONE: : 该程序段执行后,AX=__ H ,BX=_H,CX=______H(注:答案和答案之间用一个半角空格分开,英文字符全部大写,并且为半角字符。)
答案: 4000 FFFF 1234
分析:由于使用JGE条件转移指令,AX(1234H)和BX(FFFFH)是两个有符号数进行大小比较,因此AX>BX,跳转到NEXT指令,同样AX<cx,因此执行xchg ax,=”” cx,所以ax=”4000H” cx=”1234H,而BX保持不变</span”></cx,因此执行xchg>
28、 MOV AH,1INT 21H AND AL,0FHMOV BL,ALMOV AH,1INT 21H AND AL,0FHADD AL,BL上述程序段执行时,若第一次从键盘输入6,第二次从键盘输入7。则AL的值为_____H。(注:英文字符全部大写,并且为半角字符。)
答案: (以下答案任选其一都对)0D;
D
分析:该程序段是将键入的字符‘6’转换为数字6,键入的字符‘7’转换为数字7,最后加法的结果0DH存放在AL寄存器中。
29、 数据段 MESG1 DB ’HELLO‘ MESG2 DB ’WELCOME$‘代码段 MOV AH,9 MOV DX,OFFSET MESG1 INT 21H执行 上述程序段后,屏幕上显示的内容是__。
答案: HELLOWELCOME
分析:9号显示字符串功能调用,字符串显示直到’$’为止,因此屏幕上显示HELLOWELCOME
30、 段约定伪指令是( )。
答案: (以下答案任选其一都对)ASSUME;
assume
分析:ASSUME伪指令的功能是用来指示程序中各实际的段和各段寄存器之间的关系。
第四章 汇编语言程序设计(二) 第七单元测试
1、 宏指令的调用是由( )完成的。
答案: 汇编程序
2、 表示宏指令定义结束的伪指令是( )。
答案: ENDM
3、 在汇编语言中,用于定义变量、内存空间分配的是___。
答案: 伪指令
4、 在一段汇编程序中多次调用另一段程序,用宏指令比用子程序实现__
答案: 占内存空间大,但速度快
5、 指令性语句在汇编时被翻译成__指令。伪指令语句在汇编时由___执行。
答案: 机器指令,汇编程序
6、 CPU执行近过程RET指令,从堆栈中弹出( )个字节。
答案: 2
7、 下面关于宏指令不正确的说法为( )。
答案: 宏指令和子程序都需要返回指令
8、 实模式下在程序运行过程中,下一条指令物理地址的计算表达式是( )。
答案: CS*16+IP
9、 完成同指令“XCHG AX,BX”相同功能的指令序列是( )
答案: MOV CX,AX MOV AX,BXMOV BX,CX
10、 下列存储器操作数的段超越前缀可省略的是( )。
答案: SS:[BP]
11、 设AL=7FH,要使AL=80H,应使用的指令是( )。
答案: NOT AL
12、 宏指令必须先定义,后调用;而子程序则可以先调用,后定义。
答案: 正确
分析:宏指令必须先定义,后调用;而子程序则可以先调用,后定义。
13、 通知汇编程序,子程序到此结束的伪指令是ENDS
答案: 错误
分析:通知汇编程序,子程序到此结束的伪指令是ENDP语句
14、 假设NUM为0-99之间的十进制数,下面的宏指令采用比较法实现将该数据中的十位以十进制数进行显示,请补全该程序。CSP MACRO MOV DL,0 LAST: CMP NUM,10 JC NEXT SUB NUM,10 NEXT: ADD DL,30H MOV AH,2 INT 21H (注:(1)不能有多余的空格,例:操作码和操作数之间空格只有一位;操作数和操作数之间不能有空格。(2)字符全部大写,并且为半角字符。(3)指令之间用一个空格分开。)
答案: INC DL JMP LAST ENDM
分析:DL中存放的10位数,每次循环如果NUM的值大于等于10,则将NUM的值减10,并将DL中加1.
15、 指令LOOP AGAIN实现的功能可以用两条指令完成,请写出这两条指令。(注:(1)不能有多余的空格,例:操作码和操作数之间空格只有一位;操作数和操作数之间不能有空格。(2)字符全部大写,并且为半角字符。(3)两条指令之间用一个空格分开。)
答案: (以下答案任选其一都对)DEC CX JNZ AGAIN;
SUB CX,1 JNZ AGAIN
分析:LOOP指令CPU执行时会将CX值减1,然后判断是否为0,如果不等于0则继续循环。
16、 阅读程序并回答问题:.586DATA SEGMENT USE16BUF DB ‘ABCDEFGH’L EQU 01110001BRESULT DB 8 DUP(?)DATA ENDS CODE SEGMENT USE16ASSUME CS:CODE,DS:DATABEG: MOV AX,DATA MOV DS, AX MOV SI,OFFSET BUF MOV DI,OFFSET RESULT MOV CX,8 MOV DL,LLAST: ROL DL,1 JNC FILL MOV AL,[SI] JMP NEXTFILL: MOV AL,0FFHNEXT: MOV [DI],AL INC SI INC DILOOP LASTMOV AH,4CHINT 21HCODE ENDSEND BEG程序执行后,RESULT、RESULT+1和RESULT+2单元中的内容分别为___H、__H和____H。(注:(1)字符全部大写,并且为半角字符。(3)答案之间用一个半角空格分开。)
答案: FF 42 43
分析:该程序段的功能是判断 L=01110001从最高位开始每一位是0还是1,如果是0,就将字符串’ABCDEFGH’对应位置的字符ASC码存入RESULT数组的对应位置,否则就将FFH存入RESULT数组的对应位置。因为L的D7=0,则将FFH-》(RESULT),因为的LD6=1,则将(BUF+1)单元的ASCII码42H-》(RESULT+1),依次类推。
17、 下面程序段的功能是用字符显示功能调用去显示STRING中的字符串,将程序补充完整。数据段STRING DB‘COMPUTER’,‘$’代码段 MOV BX,OFFSET STRING LOP:_____ MOV AH,02H INT 21H ________ CMP DL,’$’ JNE LOP …….(注:(1)不能有多余的空格,例:操作码和操作数之间空格只有一位;操作数和操作数之间不能有空格。(2)字符全部大写,并且为半角字符。(3)指令之间用一个空格分开。)
答案: (以下答案任选其一都对)MOV DL,[BX] INC BX;
MOV DL,[BX] ADD BX,1
分析:MOV DL,[BX] 用间址寻址方式取出操作数即显示字符的ASCII码作为入口参数-》DL寄存器;INC BX是将偏移地址加1
18、 阅读程序并回答问题: 数据段: DAT DB -1,-2,-3,-4,-5,-6,-7,-8,-9,-10,11,12,13,14,15,16,17,18,19,20 LEN EQU $-DAT N1 DB 127 N2 DB -128代码段: MOV CX,LEN MOV BX,OFFSET DAT AG答案: -10 19
分析:该程序段首先是通过TEST AL,01H 判断 -1,-2,-3,-4,-5,-6,-7,-8,-9,-10,11,12,13,14,15,16,17,18,19,20这些数哪些是奇数哪些是偶数,然后将最小的偶数-》N1,最大的奇数-》N2
19、 下面程序段的功能是将STRING单元中的一串标准ASCII码,转换为奇校验ASCII码存入BUF开始的缓冲区,将程序补充完整。.486DATA SEGMENT USE16STRING DB ‘THE QUICK BROWN FOX JUMPS OVER LAZY DOG ‘COUNT EQU $-STRINGBUF DB COUNT DUP(?)DATA ENDSCODE SEGMENT USE16 ASSUME CS:CODE,DS:DATA,ES:DATABEG: MOV AX,DATA MOV DS,AX ___ MOV CX,COUNT MOV SI,OFFSET STRING MOV DI,OFFSET BUF ___LOAD: LODSB AND AL,AL JNP STORE ________STORE: STOSB LOOP LOAD MOV AH,4CH INT 21H CODE ENDS END BEG(注:(1)不能有多余的空格,例:操作码和操作数之间空格只有一位;操作数和操作数之间不能有空格。(2)字符全部大写,并且为半角字符。(3)指令之间用一个空格分开。
答案: MOV ES,AX CLD OR AL,80H
20、 下面的程序是将用户键入的字符串再次显示在屏幕上,请补充完整:.586DATA SEGMENT USE16BUF DB 30,?,30 DUP(?)DATA ENDSCODE SEGMENT USE16 ASSUME CS:CODE,DS:DATABEG: MOV AX,DATA MOV DS,AX MOV AH,0AH LEA __ INT 21H MOV BL,_ MOV BH,0 MOV SI,OFFSET BUF+2 MOV _____,’$’ MOV AH,9 MOV DX,OFFSET BUF+2 INT 21H EXIT:MOV AH,4CH INT 21HCODE ENDSEND BEG(注:(1)不能有多余的空格,例:操作码和操作数之间空格只有一位;操作数和操作数之间不能有空格。(2)字符全部大写,并且为半角字符。(3)指令之间用一个空格分开。
答案: (以下答案任选其一都对)DX,BUF BUF+1 BYTE PTR [BX+SI];
DX,BUF BUF+1 BYTE PTR [BX+SI];
DX,BUF BUF+1 BYTE PTR[BX+SI]
分析:LEA DX,BUF是将BUF单元的偏移地址-》DX作为0A号DOS功能调用的入口参数。 MOV BL,BUF+1是将键入字符的个数-》BL。MOV BYTE PTR [BX+SI],‘$’,是将‘$’结束符存放到字符串的最后。
21、 程序与调用它的主程序不在同一个代码段,则CPU在执行子程序中的RET指令后,将从堆栈栈顶弹出 个字节,依次赋给 和 。(注:(1)英文字符全部大写,并且为半角字符。(2)答案和答案之间用一个空格分开。)
答案: 4 IP CS
分析:程序与调用它的主程序不在同一个代码段,则CPU在执行子程序中的RET指令后,将从堆栈栈顶弹出4 个字节,依次赋给IP和CS.
22、 假设DS=3000H,SS=2000H,SP=3000H,AX=4567H,BX=1234H,CX=6789HAND BX,00FFHCALL MYSUB……..MYSYB PROC PUSH AX PUSH BX PUSH CX SUB AX,BX POP CX POP AX POP BX RETMYSYB ENDPCPU 执行CALL MYSUB后,SP=__H,AX=_____H,BX=—————H。
答案: (以下答案任选其一都对)3000 0034 4567;
3000 34 4567;
3000 034 4567
分析:在主程序中执行AND BX,00FFH后,BX=0034H,执行子程序,将AX,BX,CX依次压栈,然后依次出栈到CX,AX,BX中,因此CX不变,但AX和BX值交换。
23、 下列程序段是在一个首地址为STR、长度为N的字符串中查找空格,找到后向DL中送1,否则送-1.将下面程序段补充完整。 MOV CX,N MOV SI,OFFSET STR MOV AL,‘ ’NEXT:CMP AL,_ JZ DISPY INC _ LOOP NEXT ____ JMP NEXT1DISPY: MOV DL,1 ….NEXT1:(注:(1)不能有多余的空格,例:操作码和操作数之间空格只有一位;操作数和操作数之间不能有空格。(2)字符全部大写,并且为半角字符。(3)指令之间用一个空格分开。
答案: (以下答案任选其一都对)[SI] SI MOV DL,-1;
[SI] SI MOV DL,0FFH
分析:CMP指令是将间址寻址的字符[SI]和空格进行比较。INC SI是将偏移地址加1;MOV DL,-1是结束循环没有找到空格,则将-1送DL。
24、 下列程序的功能是用串指令将某数组100H个字元素从内存23456H处传送到内存78B90H,并统计该数组元素的值=FFFFH的元素个数送DL寄存器。将下面程序补充完整。.586CODE SEGMENT USE16 ASSUME CS:CODEBEG: MOV AX,2000H MOV DS,AX MOV SI, MOV ES,AX MOV DI ,0B90H MOV CX,100H REP MOVSW MOV DI,0B90H MOV CX,100HAG答案: 3456H MOV AX,7800H CLD WORD PTR ES:[DI] ADD DI,2
分析:物理地址23456H对应的逻辑地址为2000H:3456H,因此MOV SI,3456H。物理地址78B90H对应的逻辑地址为7800H:0B90H,因此MOV AX,7800H 。因为数组元素是字,并且目标串在附加段,因此MOV WORD PTR ES:[SI],0FFFFJ,而且每次循环用ADD DI,2 将偏移地址+2。
25、 将下列程序补充完整:AX寄存器中有一个16位二进制数,程序的功能是统计AX中的‘1’的个数,并将统计结果送给CX。 MOV CX,0AGA: SUB AX,0 _ STP SAL AX ,1 _ NOD —— CXNOD: JMP AGASTP:(注:(1)字符全部大写,并且为半角字符。(2)两个答案之间用一个空格分开。)
答案: JZ JNC INC
分析:JZ 表示AX=0时退出循环
26、 数据段 A DB 23 B DB 0F0H C DB 0 代码段 MOV AL,A CMP AL,B JZ L JG M MOV C,-1 JMP EXITL :MOV C,0 JMP EXITM:MOV C,1 EXIT:程序执行结束后,C中的内容是_______。
答案: 1
分析:A的内容23,B的内容为0F0H ,因为使用有符号比较指令,因此A>B,C =1
27、 设AX,BX,CX的值都是A870H ,DX的值是F00FH ,执行下列程序段:AND BX,DX XOR CX,DXOR AX,DX ROL AX,4 NOT DX则AX=___H,BX=_H, CX=__H, DX=______H。(注:(1)字符全部大写,并且为半角字符。(2)两个答案之间用一个空格分开)。
答案: (以下答案任选其一都对)87FF A000 587F 0FF0;
87FF A000 587F FF0
分析:AND BX,DX执行后,BX=A000H ; XOR CX,DX执行后,CX=587FH ;OR AX,DX执行后,AX =F87FH ; ROL AX,4执行后,AX=87FFH;NOT DX执行后,DX=0FF0H
28、 .设数据段有如下定义: Y DW 3456H,-1,指令MOV AX,Y+1执行后,AX=___H。注(1)字符全部大写,并且为半角字符。
答案: FF34
分析:汇编后 Y单元依次存放内容为56H,34H,FFH,FFH ,因此Y+1开始的字单元内容为FF34H。
29、 阅读下面程序段,并回答问题。MOV AX, 0E410HMOV BL,0NEXT: CMP AX, 0 JZ FIN SHR AX,1 JC BH1 INC BL BH1: JMP NEXT FIN: …该程序段执行后BL=____H。 注(1)字符全部大写,并且为半角字符。
答案: (以下答案任选其一都对)0B;
B
分析:该程序用于统计E410中0的个数。
30、 阅读下列程序段,并回答问题。CMP AL,0JGE NEXT NOT ALINC AL NEXT: MOV BL,AL若AL=0FH ,则BL=___H;AL=FFH ,则BL=___H;
答案: (以下答案任选其一都对)0F 01;
F 1
分析:该程序段用来计算AL的绝对值
31、 通知汇编程序,源程序到此结束的伪指令是ENDS
答案: 错误
分析:通知汇编程序,源程序到此结束的伪指令是END语句
32、 下面程序段的功能是用字符显示功能调用去显示STRING中的字符串(不显示字符‘$’),将程序补充完整。数据段STRING DB‘COMPUTER’,‘$’代码段 MOV BX,OFFSET STRING LOP:_____ MOV AH,02H INT 21H ________ CMP DL,’$’ JNE LOP …….(注:(1)不能有多余的空格,例:操作码和操作数之间空格只有一位;操作数和操作数之间不能有空格。(2)字符全部大写,并且为半角字符。(3)指令之间用一个空格分开。)
答案: (以下答案任选其一都对)MOV DL,[BX] INC BX;
MOV DL,[BX] ADD BX,1
分析:MOV DL,[BX] 用间址寻址方式取出操作数即显示字符的ASCII码作为入口参数-》DL寄存器;INC BX是将偏移地址加1
33、 下列程序的功能是用串指令将某数组100H个字元素从内存23456H处传送到内存78B90H,并统计该数组元素的值=FFFFH的元素个数送DL寄存器。将下面程序补充完整。.586CODE SEGMENT USE16 ASSUME CS:CODEBEG: MOV AX,2000H MOV DS,AX MOV SI, MOV ES,AX MOV DI ,0B90H MOV CX,100H REP MOVSW MOV DI,0B90H MOV CX,100HAG答案: 3456H MOV AX,7800H CLD WORD PTR ES:[DI] ADD DI,2
分析:物理地址23456H对应的逻辑地址为2000H:3456H,因此MOV SI,3456H。物理地址78B90H对应的逻辑地址为7800H:0B90H,因此MOV AX,7800H 。因为数组元素是字,并且目标串在附加段,因此MOV WORD PTR ES:[SI],0FFFFJ,而且每次循环用ADD DI,2 将偏移地址+2。
第五章 输入-输出系统 第八单元测试
1、 微型计算机各部件之间是用( )连接起来的。
答案: 系统总线
2、 系统总线中地址线的功能是( )。
答案: 指定主存和I/O设备接口电路的地址
3、 下列指令中,格式合法的是( )。
答案: IN AL, 60H
4、 CPU使用4条地址线与I/O接口芯片的地址线连接,则CPU可访问的I/O端口数最多为( )个。
答案: 16
5、 PC机使用IN和OUT指令访问I/O端口,此时I/O端口采用的编址方式是( )。
答案: I/O独立编址
6、 执行IN AL, DX指令后,进入AL寄存器的数据来自( )。
答案: 端口寄存器
7、 为了解决高速主机和低速外设在速度方面的矛盾,I/O接口电路中一般都设置有( )。
答案: 缓冲器或锁存器
8、 存储器直接存取方式的英文缩写是( )。
答案: DMA
9、 CPU不参与数据传送的是( )方式。
答案: 直接存储器存取
10、 在以下方式中,CPU不占用总线的方式是( )方式。
答案: DMA
11、 设机器字长32位,存储容量1GB,若按字节寻址,则至少需要( )根地址线
答案: 30
12、 传送数据时,占用CPU时间最长的传送方式是( )
答案: 查询方式
13、 若某个接口电路可以使用查询方式和CPU交换信息,则该接口电路中至少需要设置( )端口?
答案: 数据和状态
14、 采用查询方式进行I/O数据传送的优点是( )
答案: 相对简单
15、 某应用系统具有8个电子开关,要读入这8个开关的状态,可以使用( )作为开关的接口。
答案: 三态门
16、 如果要控制的外部设备是发光二极管,应选用的最佳输入输出控制方式是
答案: 无条件传送方式
17、 8086 CPU最多能管理( )个端口。
答案: 64K
18、 PC机中最多能管理( )个端口。
答案: 1024
19、 IN AX , DX指令完成的功能是_____。
答案: 从DX和DX + 1指向的2个端口读一个字到AX
20、 如果认为CPU等待外设的状态信号是处于非工作状态(即踏步等待),那么在下面几种主机与外设之间的数据传送中:( )是主机与设备串行工作。
答案: 查询方式
21、 三态缓冲器可以用作简单的输出接口。
答案: 错误
分析:三态缓冲器可以用作简单的输入接口。
22、 锁存器可以用作简单的输出接口。
答案: 正确
分析:锁存器可以用作简单的输出接口。
23、 微型计算机系统与输入输出设备交换信息的方式有 无条件方式、查询方式、_____方式、DMA方式。
答案: (以下答案任选其一都对)中断;
中断控制方式;
中断控制
分析:微型计算机系统与输入输出设备交换信息的方式有无条件传送、查询方式、中断方式、DMA方式
24、 常用的I/O端口编址方式包括 统一编址和_编址两种。
答案: 独立
分析:常用的I/O端口编址方式包括统一编址和独立编址两种。
25、 PC系列机采用的编址方式为_
答案: 独立编址
分析:PC系列机采用的编址方式为独立编址
26、 总线周期信号M/IO=1,W/R=0,D/C=1,表明当前总线周期是CPU读___(填存储单元或端口)的数据。
答案: 存储单元
分析:这三个信号的组合可以表明当前CPU与存储器或者I/O端口传送信息
27、 若当前总线周期为CPU向I/O端口传送数据,则信号M/IO,W/R,D/C这三个信号分别为、、___。(注答案之间不用隔开,如000)
答案: 011
分析:这三个信号的组合可以表明当前CPU与存储器或者I/O端口传送信息
28、 若某数据端口的地址为90H,则由该端口向CPU输入一个数据,使用的指令是______。
答案: (以下答案任选其一都对)IN AL,90H;
in al,90H
分析:向CPU输入一个数据,使用的指令是IN AL,端口地址
29、 测试AL寄存器的D5位是否为1,使用的指令为______。
答案: (以下答案任选其一都对)TEST AL,20H;
TEST AL,00100000B;
test al,20H;
test al,00100000B
30、 DMA方式,是用硬件实现存储器和外设之间或存贮器和_______之间直接进行的的高速数据传送,不需要CPU的干预。
答案: (以下答案任选其一都对)存储器;
存贮器
分析:DMA方式,是用硬件实现存贮器和外设之间或存贮器和存储器之间直接进行的的高速数据传送,不需要CPU的干预。
第六章 中断系统(一) 第九单元测验
1、 执行IRET指令,依次从栈顶弹出_个字。
答案: 3
2、 60H型中断向量存放在系统RAM的_开始的内存单元。
答案: 180H
3、 5片8259A,采用1主4从的方式,可扩展管理__级中断
答案: 36
4、 8259A内部寄存引脚IR0~IR7的中断请求的寄存器是_。
答案: 中断请求寄存器
5、 8259A通过/INTA接收CPU送来的中断响应信号的第一个负脉冲后,_。
答案: 使被选中的中断源对应的中断请求寄存器Di=0, 中断服务寄存器Di=1
6、 中断响应信号/INTA是_____。
答案: 2个连续的负脉冲
7、 采用主从2级8259A管理45级中断,至少需要__片8259A?
答案: 7
8、 系统RAM的240H~243H单元的内容是______型中断的中断向量。
答案: 90H
9、 若已知系统RAM的60H~63H单元的内容依次为25H,34H,96H,18H,则18H型中断服务程序所在代码段的段基址为___。
答案: 1896H
10、 若已知系统RAM的60H~63H单元的内容依次为25H,34H,96H,18H,则18H型中断服务程序入口的偏移地址为___。
答案: 3425H
11、 执行IRET指令,从栈顶弹出的3个字依次送入_____。
答案: IP,CS,F寄存器。
12、 与程序查询方式相比,CPU采用中断方式,将大大提高CPU的效率。
答案: 正确
分析:在查询方式时,CPU每次输入输出数据之前,都需要不断询问外设,当外设没有准备好时,CPU只能不断查询,无疑会浪费CPU很多时间。再这个过程中,采用中断方式,将大大提高CPU的效率。
13、 中断源可以是外部事件也可以是CPU内部事件。
答案: 正确
分析:中断源可以是外部事件也可以是CPU内部事件。
14、 中断优先级是指:当有多个中断源在同一时刻提出请求时,CPU对中断响应的次序。
答案: 正确
分析:当有多个中断源在同一时刻提出请求时,CPU对中断响应的次序称中断优先级。
15、 根据中断源的不同,中断可以分为硬件中断和软件中断两大类。
答案: 错误
分析:根据中断源的不同,中断可以分为外部中断和内部中断两大类。
16、 为了区别不同的中断,微机系统给每一个中断分配了一个中断号n,即中断类型码,其取值范围是0~255。
答案: 正确
分析:为了区别不同的中断,微机系统给每一个中断分配了一个中断号n,即中断类型码,其取值范围是0~255。
17、 执行开中断指令STI,CPU处于开可屏蔽硬件中断状态。
答案: 正确
分析:开中断指令STI,使F寄存器中I标志置1,CPU处于开可屏蔽硬件中断状态。
18、 中断向量是指中断服务程序的入口地址。
答案: 错误
分析:实模式下,中断向量是指中断服务程序的入口地址。
19、 外部中断也称为硬件中断,可分为可屏蔽硬件中断和_______硬件中断。
答案: 非屏蔽
分析:外部中断也称为硬件中断,可分为可屏蔽硬件中断和非屏蔽硬件中断。
20、 由于CPU本身故障、程序故障等引发的中断,称为_____。
答案: 异常
分析:由于CPU本身故障、程序故障等引发的中断,称为异常。
21、 实模式下,中断向量是指中断服务程序的____。
答案: 入口地址
分析:实模式下,中断向量是指中断服务程序的入口地址。
22、 实模式下,每个中断号所对应的中断向量占___个字节。
答案: 4
分析:实模式下,每个中断号所对应的中断向量占4个字节。前2个字节为中断服务程序入口的偏移地址,后2个字节为中断服务程序所在代码段段基址。
23、 1片8259A中断控制器可以管理___级中断。
答案: 8
分析:1片8259A中断控制器可以管理8级中断。
24、 在实模式下,中断向量表的大小为_个字节。
答案: (以下答案任选其一都对)1024;
1K
分析:实模式下,系统存储器地址空间中,最低的1K(1024)字节,存放着256个中断号所对应的中断向量,这1024个字节就构成了中断向量表。
25、 若已知系统RAM的20H~23H单元的内容依次为12H,34H,56H,78H,则08H型中断服务程序的入口物理地址为____H。
答案: 7B972
分析:20H,21H中存放的是08H中断服务程序入口的偏移地址,22H,23H中存放的是08H中断服务程序的段基址,则08H型中断服务程序的入口物理地址为7856H*16+3412H=7B972H
26、 执行STI指令,CPU处于_____(开/关)可屏蔽硬件中断状态。
答案: 开
分析:开中断指令STI,使F寄存器中I标志置1,CPU处于开可屏蔽硬件中断状态。
27、 想使F寄存器中I标志清零,应该执行的指令是_____。
答案: (以下答案任选其一都对)CLI;
cli
分析:关中断指令CLI,使F寄存器中I标志置0,CPU处于关可屏蔽硬件中断状态。
28、 中断响应信号/INTA是_个连续的负脉冲。
答案: (以下答案任选其一都对)2;
两
分析:中断响应信号/INTA是2个连续的负脉冲。
29、 执行CLI指令,CPU处于_____(开/关)可屏蔽硬件中断状态。
答案: 关
分析:关中断指令CLI,使F寄存器中I标志置0,CPU处于关可屏蔽硬件中断状态。
30、 想使F寄存器中I标志置1,应该执行的指令是_____。
答案: (以下答案任选其一都对)STI;
sti
分析:开中断指令STI,使F寄存器中I标志置1,CPU处于开可屏蔽硬件中断状态。
31、 能够引发中断的事件,即发出中断请求的来源称为中断源。
答案: 正确
分析:能够引发中断的事件,即发出中断请求的来源称为中断源。
上方为免费预览版答案,如需购买完整答案,请点击下方红字
为了方便下次阅读,建议在浏览器添加书签收藏本网页
添加书签方法:
1.电脑按键盘的Ctrl键+D键即可收藏本网页
2.手机浏览器可以添加书签收藏本网页
我们的公众号
打开手机微信,扫一扫下方二维码,关注微信公众号:萌面人APP
本公众号可查看各种网课答案,还可免费查看大学教材答案
踞棘赴凡柬练捷渭湿匆滇庙净