微机原理及应用习题与习题答案
- 格式:doc
- 大小:382.00 KB
- 文档页数:48
模拟练习题一
一、单项选择题(请将答案填入题号前的空格中)
( )1.Pentium机中的CPU进行算术和逻辑运算时,可处理的数据长度为()。
A 32位
B 16位
C 8位
D 都可以
( )2.将内存储器和I/O接口集成在一个芯片的MCS-51属于()。
A.单片机B.通用微处理器C.数字信号处理器D.80x86系列微处理器( )3.世界上第一个微处理器生产厂家是()
A.Motorola公司B.Intel公司C.Zilog公司D.IBM公司
( )4.以下不属于16位微处理器的芯片是()。
A.8086 B.80186 C.80286 D.80386
( )5.以下对8088CPU芯片描述错误的是()。
A.准16位微处理器B.80x86系列微处理器
C.8位微处理器D.Intel公司生产的微处理器
( )6.被确定为开发80x86系列微处理器体系结构IA-32标准的微处理器芯片是()。
A.80286 B.80386 C.80486 D.Pentium
( )7. 计算机的软件系统由()组成。
A.系统软件和应用软件 B. 操作系统和数据库系统
C. 通用应用软件和专用应用软件
D. 应用软件和工具软件
( )8.以下对微处理器芯片描述不正确的是()。
A.将CPU集成在一个芯片上B.由控制器、运算器和寄存器组组成
C.是微型计算机的核心D.只有运算器和控制器
( )9.80486微处理器芯片内的高速缓冲存储器Cache属于()。
A.L1 Cache B.L2 Cache C.数据Cache D. 指令Cache
( )10. 在字长8位的定点整数补码表示中,能表示的最小数和最大数是()。
A.-128和128 B.-127和127 C.-127和128 D.-128和127
( )11.以下对I/O接口的功能描述不正确的是()
A.和I/O设备一起构成输入输出子系统B.是外设和主机间的桥梁
C.完成信号变换、数据缓冲、联络控制D.不可直接与主机相连
( )12.在微型计算机中,总线信号分为三组,()。
A.由数据总线、地址总线和控制总线组成
B.数据总线是双向的
C.地址总线是单向的
D.以上都正确
二、填空题
1.CPU是英文的缩写,中文译为。
2.执行8位二进制数加法:10111010+01101101。
8位结果是,标志CF= 。
3.80386微处理器有条地址线,条数据线。
4.Pentium微处理器的整数流水线条数是。
5.8086CPU在总线周期的T1,A19/S6~A16/S3用来输出位地址信息的最高
_,而在其它时钟周期则用来输出___信息。
6.8086CPU中可以用作段起始地址的内存地址有___个,这些内存地址任意相邻的两
个地址相距___存储单元。
7.8086微处理器有条地址线,1MB 内存的地址编号从至。
8.微型计算机系统可分为三个层次:、、。
三、判断题
1.微处理器内部集成了控制器、运算器和若干高速寄存器。
( )
2.指令OUT DX,AX的两个操作数均采用寄存器寻址方式。
( )
3.标志寄存器是用来保存ALU部件运算的结果。
( )
4.存储器寻址方式的操作数是在内存当中的。
( )
5.逻辑运算没有进位或溢出问题,所以CF和OF的值为0。
( ) 6.21号DOS功能(INT 21H)需要入口参数,AL=显示字符的ASCII码。
( )
7.指令INC CX和ADD CX,l的实现功能完全一样,可以互相替换。
( ) 8. 执行了一条加法指令后,发现ZF=1,说明运算结果为0。
( )
四、请将下列左边的项和右边的解释联系起来(把所选字母放在括号中)
(1)CPU () A 存储程序、数据等信息的记忆装置。
(2)IP () B 指出指令操作结果的标志,如ZF、CF等。
(3)SP () C 用于确定逻辑段的起始地址。
(4)状态标志() D 分析、控制并执行指令的部件。
(5)控制标志() E 保存当前栈顶地址的寄存器。
(6)ALU () F 相对于段起始地址的偏移量。
(7)存储器()G 指示下一条将要执行的指令的地址。
(8)物理地址()H 控制操作的标志,如DF、TF等。
(9)偏移地址()I 进行算术和逻辑运算的单元。
(10)段基址()J CPU发出的访问存储器的地址信息。
五、简答题
1.8086 微处理器的标志寄存器的标志有哪些?状态标志位和控制标志位有什么区别?
2.Cache是什么意思? L1Cache和L2Cache有什么不同?
3.8086CPU从功能上分为几部分?各部分由什么组成?各部分的功能是什么?
4.数值协处理器和浮点处理单元有何相同之处和不同之处?
5.字长8位,采用定点整数补码表示,写出能表示的最大数、最小数、最大非0负数、最
小非0正数的二进制代码序列和十进制真值。
六、说明下列指令中源操作数的寻址方式,假设buff是一个字变量。
1. mov ax,buff[bxl
2. mov ax,[bx+di]
3. mov ax,[bx+di+2000h]
4. mov ax,buff[si+di]
5. mov ax,2000h
6. mov ax,buff
7. mov ax,bx
8. mov ax,[bx]
9. mov ax,[bx+2000h]
模拟练习题二
一.单项选择题(请将答案填入题号前的空格中)
( )1.汇编语句有执行性语句和说明性语句两种,每种语句由4个部分组成,以下不属于语句部分的是()。
A.标号与名字B.助记符C.注释D.指令
( )2.汇编语言中,程序员可以使用的正确标识符是()。
A.0FFH B. DS C. Again D. 6364b
( )3.变量定义伪指令DB、DW、DD分别表示以()为单位保存变量值。
A.字节、字、双字B.字、双字、四字
C.字节、双字、四字D.双字、四字、字
( )4.汇编语言的标识符大小写不敏感,以下与众不同的标识符是()。
A.lmas B.Lmas C.lAms D.1Mas
( )5.下面说法中不正确的是()。
A.表示指令操作码的符号就是指令助记符
B.用助记符表示的指令就是汇编指令
C.用汇编语言书写的程序就是汇编语言程序
D.汇编语言源程序不需要翻译成机器语言程序就可以被微处理器执行
( )6.标识符一般最多由( )个字母、数字及规定的特殊符号(如、$、?、@、_ )组成,不能以数字开头。
A.28 B.31 C.256 D.128
( )7. 表示回车和换行控制字符的两个ASCII码是( )。
A.13,10 B. \n C. CR D. LF
( )8. MOV AX,0指令的源操作数寻址方式是( )。
A.直接寻址 B. 间接寻址 C. 立即寻址 D. 存储器寻址
( )9. 以下不属于汇编语言伪指令的是( )。
A..model small B. .486 C. .startup D. mov ds,ax
( )10. 以下( )指令不属于单操作数指令。
A.INC B. DEC C. MOV D. NOT
二、填空题
1.获取变量名所具有的偏移地址的操作符是。
2. 计算机中有一个11101001编码。
如果把它认为是无符号数,它是十进制数;
如果认为它是有符号数的补码,则其真值为十进制数的;
3. 真值-1,如果其补码用字节量表达是,如果用16位补码表示,则为。
4. Pentium系列处理器采用位数据总线与主存相连。
5. 8086的输入信号Ready为低电平的作用是说明。
6. 指令XOR AX,AX和SUB AX,AX执行后,AX= ,ZF= 。
7. 汇编语言源程序的逻辑段由代码段、、组成。
8. 在16位存储器寻址方式中, 有4个设计成专门存放偏移地址的寄存器,它们是BP、、和。
9.逻辑地址“7380H:400H”表示的物理地址是,并且该段起始于物理地
址。
三、判断题
1. 数值300能够作为字节变量的初值。
( ) 2.字符’F’ 和数值46H作为MOV指令的源操作数无区别。
( ) 3.汇编语言的语句由明显的4部分组成,不需要分隔符区别。
( ) 4.汇编结束语句END表明程序执行到此结束。
( ) 5. 标志寄存器只用来保存ALU部件运算的结果。
( ) 6.立即数寻址方式的立即数保存在通用寄存器中。
( )
7.存储器寻址方式的操作数肯定在主存。
( ) 8.有效地址EA就是存储器操作数的偏移地址。
( )
四、计算题
1. 采用定点整数表示,字长8位,最高位为符号位,写出下列各数的原码、反码和补码:
(1)0
(2)127
(3)-128
(4)-15
2.采用定点小数表示,字长8位,含1位符号位,写出下列各数的原码、反码、补码:(1)0.10011
(2)0.10101
(3)-0.01110
(4)-0.10011
3.字长8位,含一位符号位,计算[X]补+[Y]补,并判断是否溢出。
(1)[X]补=10001000 [Y]补=11001111
(2)[X]补=01001010 [Y]补=00111110
(3)[X]补=10011001 [Y]补=01101110
(4)[X]补=01110011 [Y]补=11010110
4. 设字长n=16,按浮点数格式阶符、数符各占1位,阶码占6位,尾数占8位,写出2
5.21的浮点表示形式(阶码和尾数采用补码表示)。
5. 进行下列十六进制数据的加减运算,并说明是否有进位或借位。
(1)1234H+7802H
(2)F034H+5ABOH
(3)C051H-1234H
(4)9876H-ABCDH
6. 将下列机器数按要求进行算术移位和逻辑移位
(1)[X]原= 00000110 [Y]原= 10010011 [X]原和[Y]原左移两位
(2)[X]原= 00000100 [Y]原= 10011000 [X]原和[Y]原右移两位
(3)[X]补= 00000011 [Y]补= 11110101 [X]补和[Y]补左移一位
(4)[X]补= 00010100 [Y]补= 11101100 [X]补和[Y]补右移一位
五、简答题
1.为什么说XCHG DX,CH是一条错误的指令?
2.逻辑运算指令怎么实现对每一个二进制位的复位、置位和求反功能?
3.给出8086微处理器的物理地址寻址方式的组成公式。
4.INC、DEC、NEG和NOT都是单操作数指令,这个操作数应该是源操作数还是目的操
作数?
5.为什么特别强调为子程序加上必要的注释?
6.为什么判断无符号数大小和有符号数大小的条件转移指令不同?
六、程序分析
1. 假设当前SP=00B0H,说明下面每条指令后,SP等于多少?
push ax
push dx
push word ptr 0f79h
pop ax
pop’word ptr[bx]
2. 给出下列各条指令执行后AL值,以及CF、ZF、SF、OF和PF的状态。
mov al,89h
add al,al
add al,9dh
cmp al,0bch
sub al,al
dec al
inc a1
3. 说明下面各条指令的具体错误原因。
①mov cx,al
②mov al,257
③mov 50h,ax
④mov es,1234h
⑤mov es,ds
4. 假设当前DS=2000H,BX=0100H,SI=0002H,物理地址[20100H]~[20103H]的存储单
元依次存放12H、34H、56H和78H,[21200H]~[21203H]依次存放2AH、4CH、B7H和65H。
在上述条件下,独立执行下列每条指令后,AX寄存器的内容是什么?
①mov ax,1200h
②mov ax.bx
③mov ax,ds:[1200h]
④mov ax,[bx]
⑤mov ax,[bx+1100h]
⑥mov ax,[bx+si]
⑦mov ax,[bx][si+1100h]
模拟练习题三
1.单项选择题(请将答案填入题号前的空格中)
( )1.JMP指令根据目标地址的转移范围和寻址方式,可以分成4种类型,以下不属于这4类的是( )。
A.段内转移相对寻址B.段内转移间接寻址
C.段间转移直接寻址D.段间转移相对寻址
( )2. 当RESET引脚进入高电平状态时,8086CPU的()寄存器初始化为FFFFH。
A SS
B DS
C ES
D CS
( )3.汇编语言中参数传递可通过有三种方式,不属于这3种方式的是()。
A.寄存器B.变量C.存储器D.堆栈
( )4.是()的特点决定了转移和调用指令的目标地址的相对寻址方式应用最多。
A.当一个程序被安排到不同的存储区域时,指令间的位移并没有改变
B.指令代码中直接提供目标地址
C.目标地址来自寄存器
D.目标地址来自存储单元
( )5.转移指令的描述和指令不匹配的是()。
A.无条件转移指令JMP B.结果等于零(ZF=1)转移JZ
C.有进位产生(CF=1)转移JC D.符号为负(SF=1)转移JNS
( )6. 计算机可以直接执行的语言是()。
A.高级语言 B. 汇编语言
C.机器语言D.机器语言和汇编语言
( )7. 在字长8位的定点小数表示中, 的补码是()。
A.1.0000001B.1.0000000C.1.1111110D.1.1111111
( )8. 在算术移位中,下列说法错误的是()。
A.原码左移末位补0 B.原码右移末位移出
C.补码左移末位补0 D.补码右移高位补1
( )9. 采用补码做加减运算,当运算结果的符号位的进位和最高位的进位为()时,负溢出(小于所能表示的最小负数)。
A.00 B.01 C.10 D.11
( )10.当一台高速外设,如计算机中的硬盘与存储器交换数据时,通常采用()。
A DMA方式
B 无条件传送方式
C 程序查询方式D中断方式
( )11.在组成运算器的各部件中,ALU被称作()。
A 累加器
B 算术逻辑部件
C 标志寄存器
D 数据缓冲寄存器
( )12.当在一个存储单元中写入数据后,该存储单元中的内容为()。
A 新写入的数据
B 新数与原数的和
C 还是原来的数
D 不确定
二、填空题
1.循环结构程序一般由三部分组成,它们是、循环体和部分。
2.如果过程定义开始是TEST PROC语句,则过程定义结束的语句是。
3.CALL指令用在调用程序中,如果被调用程序中也有CALL指令,说明出现了。
4.段间转移的原位置和目的位置之间一定超出存储空间。
5.指令IN AL,21H的目的操作数是寻址方式,源操作数是寻址方式。
6. 用BX做基地址指针,默认采用段寄存器指向的数据段;如果采用BP或SP 作为基地址指针,默认使用段寄存器指向堆栈段。
7. 堆栈的存取原则是。
8.指令“XOR AX,AX”和“SUB AX,AX”执行后,AX= ,CF=OF= 。
而
指令“MOV AX,0”执行后,AX= ,CF和OF没有变化。
三、判断题
1.因为条件转移指令Jcc要利用标志作为条件,所以也影响标志位。
()
2.LOOP指令的目标地址只能在不超过-128~127之间的同一个代码段。
()
3.控制循环是否结束只能在一次循环结束之后进行()
4.子程序需要保护寄存器,包括保护传递入口参数和出口参数的通用寄存器。
()
5.进行模块连接是将多个可执行文件(例如EXE)连接成一个可执行文件。
()
6.微处理器并不直接连接外设,而是通过I/O接口电路与外设连接。
()
7.指令指针寄存器IP属于通用寄存器。
()
8.AX也被称为累加器,因为它使用最频繁。
()
9.100减90不需要借位,所以执行结束后,进位标志CF=0。
()
10.使用二进制8位表达无符号整数,257有对应的编码。
()
四、程序分析题
1. 说明下列三个条件转移指令发生跳转的条件:
xor ax, 1eleh
je equal ;(1)
test a1, 10000001b
jnz there ;(2)
cmp cx, 64h
jb there ;(3)
2. 有一个首地址为ARRAY的20个双字的数组,说明下列程序段的功能。
mov cx,20
mov ax,0
mov si,ax
sumlp:add ax,array[si]
add si,2
loop sumlp
mov total,ax
3. 写出下列程序段每条语句的注释,并说明该程序段的功能。
mov ah,1
int 21h
xor ah,ah
mov cx,8
again:shl a1,1
jnc next
inc ah
next:loop again
4. 说明下列程序段的功能,并写出每条语句的注释。
;数据段
dvar dw 0422h
result dw ?
;代码段
mov ax,dvar
cmp ax,0
jge nonneg
neg ax
nonneg:mov result,ax
五、编程题
1.编程,首先测试字变量DV AR的最高位,如果为1,则显示字母“L”。
如果最高位不为1,则继续测试最低位:如果最低位为1,则显示字母“R”;如果最低位也不为1,则显示字母“M”。
2. 请按如下说明编写子程序。
子程序功能:把用ASCII码表示的两位十进制数转换为压缩BCD码。
入口参数:DH=十位数的ASCII码,DL=个位数的ASCII码。
出口参数:AL=对应BCD码
3.请分别用一条汇编语言指令完成如下功能。
①把BX寄存器和DX寄存器的内容相加,结果存入DX寄存器。
②用寄存器BX和SI的基址变址寻址方式把存储器的一个字节与AL寄存器的内容相加,把结果送到AL中。
③用BX和位移量082H的寄存器相对寻址方式把存储器中的一个字和CX寄存器的内容相加,并把结果送回存储器中。
④数0A0H与AX寄存器的内容相加,并把结果送回AX中。
4. 编程将一个32位数据逻辑左移3位,假设这个数据已经保存在DX和AX寄存器对中。
模拟练习题四
一、单项选择题(请将答案填入题号前的空格中)
( )1.8086支持1MB容量的内存空间,80386支持()容量的内存空间。
A.32MB B.16MB C.4GB D.1GB
( )2.给定逻辑地址“1380H:0F00H”,那么该段的起始物理地址是()A.14700H B.14600H C.146FFH D.13800H
( )3.汇编语言的源程序文件的后缀为()。
A..exe B..obj C..asm D..lst
( )4.汇编语言中下列可以使用的标识符是()。
A.DS B.small C.h_ascii D.0xvab
( )5.指令mov dx,[bx+di+1234h]中源操作数的寻址方式为()。
A.立即数B.寄存器C.相对基址加变址D.寄存器相对
( )6.完成累加器AX清零,下面错误的指令是()。
A.SUB AX,AX B.XOR AX,AX
C.OR AX,0000H D.AND AX,0000H
( )7.数据段的定义为
Qvar dw 4321h
Ascii db ‘38’
Bcd db ?
那么Bcd的偏移地址起始为()。
A.0005H B.0004H C.0010H D.0009H
( )8.设物理地址(10FF0H)=10H,(10FF1H)=20H,(10FF2H)=30H,如从(10FF1H)中取出一个字的内容是()。
A.1020H B.3020H C.2030H D.2010H
( )9. 用8位补码表示的数0FCH,算术左移一位后,其十六进制代码是()。
A.0F8H B.0FCH C.7CH D.7EH
( )10.32位PC机广泛使用的操作系统是()。
A.MS-DOS磁盘操作系统B.Windows操作系统
C.UNIX操作系统D.Linix操作系统
( )11.某处理器具有64GB的寻址能力,则该处理器的地址线有()。
A 64根
B 36根
C 32根
D 24根
( )12. 已知[X]补=10000001,则X 的真值和[-X]补是()
A.+ 0000001、000000001B.-0000001、00001111
C.- 1111111、01111111D.- 1111111、11111111
二、填空题
1.计算机的字长(Word)是指。
2.定义字节变量的伪指令助记符是,获取变量名所具有的偏移地址的操作符是。
3.8086微处理器在存储器寻址方式中只能使用4个寄存器作为偏移地址,它们分别
是、、、。
4.假设DS=2000H,BX=1234H,字节变量TABLE的偏移地址是21A1H,物理地址233D5H
处存放5678H,执行JMP BX后IP= ,执行指令JMP TABLE[BX]后IP= 。
5.处理器的性能用、、等基本的技术参数来衡量。
6.用段基址及偏移量来指明内存单元地址的方式称为____。
7.立即数寻址方式中,立即数在中。
8.寄存器DX是位的,其中低8位的名称是,高8位D8~D15部分的名称是。
三、程序分析题
1.MOV BX, 00FFH
AND BX, 0FFFH
OR BX, 0F0FH
XOR BX, 00FFH
上述程序段运行后BX= ,CF=
2.MOV AX, 1234H
MOV CX,2
MUL CX
上述程序段执行后,内容被改变的寄存器有
3.MOV AL,28H
MOV AH,0
SAL AX,1
MOV BX,AX
SAL AX,1
SAL AX,1
ADD AX,BX
分析程序,问该段程序完成的功能是;程序运行后AX= 。
4.PUSH BX
PUSH AX
PUSH WORD PTR 1234H
POP AX
POP WORD PTR [BX]
设堆栈栈顶指针SP=0025H,执行上述程序段后SP= 。
四、程序填空题(填入适当指令或指令的一部分,完成指定功能)
设有一个数组array,共有count个字节数据(无符号数),填写以下程序使其实现从该数组中找出最大的一个数并存入同一数据段偏移地址为21OOH的单元中,请完成该程序(在括号内填入适当的语句)。
MAX: MOV BX,()
MOV AL,[BX]
MOV CX ,( )
LOOP1: INC BX
CMP AL ,[BX]
( )
MOV AL ,[BX]
LOOP2: DEC CX
JNZ ( ) MOV ( ),AL
五、编程题
1.假设bvar1单元有一个单字节无符号的整数X ,编程计算Y(假设仍为单字节数据,不考虑进位或借位),结果保留在bvar2单元中。
计算公式如下:
{
10
10
102≥<-=X X X X
Y
2.编写一个程序段,求内存中5个字单元(单元地址BUF~BUF+9)无符号整数之和,32位结果保存在BUF+10开始的单元。
3. 求两个数的平均值,这两个数分别存放在X 单元和Y 单元中,而平均值放在Z 单元中。
4. AX 寄存器中存放着4位十六进制数,试编写程序将这4位十六进制数分别转换为相应
的ASCII 码,并依次存放到RESULT 数组的4个字节中去,要求用子程序的方法实现。
5. 设有两个无符号数125和378,其首地址为x,求它们的和,将结果存放在SUM 单元,
并将其和转换为十六进制数且在屏幕上显示出来。
6. 编制程序两个6字节数相加.将一个字节相加的程序段设计为子程序.主程序分3次调用
该子程序,但每次调用的参数不同。
模拟练习题五
1. 单项选择题(请将答案填入题号前的空格中)
( )1.指令指针寄存器(IP )中存放的是( )。
A .操作数
B .操作码
C .指令码
D .指令的偏移地址 ( )2.指令MOV AX,10[BX]的源操作数的寻址方式是( )。
A .基址变址
B .寄存器寻址
C .变址寻址
D .寄存器相对寻址
( )3.下列哪一种寻址方式最快?()。
A.立即寻址B.直接寻址C.寄存器寻址D.寄存器间接寻址
( )4.若栈顶的物理地址为20100H,当执行完指令PUSH AX后,栈顶的物理地址为()。
A.20102H B.20101H C.200FEH D.200FCH
( )5.CPU中段寄存器用来存放( )。
A.存储器的物理地址B.存储器的逻辑地址
C.存储器的段基值D.存储器的起始地址
( )6.利用INT 21H调用DOS功能,向屏幕上输出一个字符串。
执行INT 21H之前,AH 应当赋值为()。
A.1 B.5 C.8 D.9
( )7.进行算术运算产生溢出时,()。
A.DF=0 B.DF=1 C.OF=0 D.OF=1
( )8.以下指令中操作数的寻址方式为直接寻址的是()。
A.mov dl,[bp+si] B.mov dx,[si] C.mov ax,100 D.mov ax,[100]
( )9.当执行完下列指令序列后,标志位CF和SF的值是()。
MOV AL, 0C4H
ADD AL, 9DH
A.0,0 B.0,1 C.1,0 D.1,1
( )10.数据段中语句如下:
BUF1 DB 3 DUP(0,2 DUP (1,2),3)
COUNT EQU $ - BUF1
与符号COUNT等价的值是()。
A.6 B.18 C.16 D.8
二、判断题
1.8086的数据总线为16位,也就是说8086的数据总线的条数是16。
()
2.处理器进行读操作,就是把数据从处理器内部读出传送给主存或外设。
()
3.AX也被称为累加器,因为它使用最频繁。
()
4.堆栈的操作原则是“先进后出”,所以堆栈段的数据除PUSH和POP指令外,不允许使
用其他方法读写。
()
5.段内转移指令执行结果要改变IP和CS的值。
()
6.处理器的传送指令MOV属于汇编语言的执行性语句。
()
7.8086微处理器中,段基地址加偏移地址就是物理地址。
()
8.指令POP CS是错误的。
()
9.控制循环是否结束只能在一次循环结束之后进行。
()
10.子程序需要保护寄存器,包括保护传递入口参数和出口参数的通用寄存器。
()
三、程序分析题
1.数据段的定义如下:
var dw 5678h,1356h
问执行下列代码后AX=
mov ax,var
mov bx, word ptr var+2
add ax,bx
2.①给出下列程序段运行每条指令的执行结果。
mov si, 10011100b ;SI=
and si, 80h ;SI=
or si, 7fh ;SI=
xor si, 0feh ;SI=
②以下程序段执行后,实现的功能是;程序运行后AL= 。
mov cx, 8
mov bl, al
next: shr al,1
rcr dl,1
shr bl,1
rcr dl,1
loop next
mov al, dl
3.首地址为array的20个字的数组,问该段程序完成的功能是。
mov cx,20
mov ax,0
mov dx,0
mov si,ax
sumlop: add ax,array[si]
adc dx, 0
add si,2
loop sumlop
mov total,ax
mov total+2, dx
4.MOV BX, 23ABH
ADD BL, 0ACH
MOV AX, 23F5H
ADD BH, AL
SBB BX, AX
ADC AX, 12H
执行上述程序段后AX= ,BX= 。
5.按下面要求写出相应的数据定义语句(未指定变量名的,可任意指定或省缺)。
(1)、定义一个字节区域,第一个字节的值为89,其后跟25个初值为0的连续字节。
(2)、定义一个以0为结束符的字符串,其初值为:MY NAME IS HG。
(3)、定义一个以'$'为结束符的字符串,该串中含有换行符和回车符。
(4)、定义55个字,其初值为9。
四、计算题
已知寄存器BX、DI和BP的值分别为1234H、0FF0H和42H,试分别计算出下列各操作数的有效地址。
(1)、[BX]
(2)、[DI+123H]
(3)、[BP+DI]
(4)、[1234H]
(5)、[BX+345H]
(6)、[BX+DI+200H]
五、简答题
1.汇编语言程序的开发有哪4个步骤?并说明分别利用什么程序完成、产生什么输出文
件?
2.在8086CPU中,有哪些8位寄存器、16位寄存器?哪些16位寄存器可分为二个8位
寄存器来使用?
3.访问内存单元的寻址方式有几种?它们具体是哪些?
4.解释指令性语句和指示性语句的区别。
5.什么是变量?什么是变量的三重属性?
六、编程题
1. 编写一个完整的程序实现对两个32位数做加法运算。
数据段的定义如下:
num1 dd ? ;num1是被加数
num2 dd ? ;num2是加数
sum dd ? , ? ;sum是和
2. 编写程序段用移位指令实现计算二进制乘法AX*18的值。
3. 已知字节变量char, 编写程序段把其所存的大写字母变成小写字母。
模拟练习题六
一、单项选择题(请将答案填入题号前的空格中)
()1、在下列段寄存器中,代码段寄存器是()。
A、ES
B、CS
C、DS
D、SS
()2、指出下列哪组伪指令使用是错误的()。
A、data segment
B、extra segment
C、stack segment
D、code segment
............ ............ ............ ............
data ends extra ends stack ends code ends
()3、当一个程序使用DOS系统功能调用退出用户程序时,在编写INT 21H指令前,应选用的指令是()。
A、MOV AH,01H
B、MOV AX,4CH
C、MOV AH,4CH
D、RET
()4、用户为了解决自己的问题,用汇编语言所编写的程序,称为()。
A、目标程序
B、源程序
C、可执行程序
D、汇编程序()5、可用做寄存器间接寻址或基址、变址寻址的地址寄存器,正确的是()。
A、AX BX CX DX
B、DS ES SS CS
C、SP BP IP BX
D、SI DI BP SP ()6、下列语句中有语法错误的语句是()。
A、DB 45H
B、DW 0ABCDH
C、DW 'ABCD'
D、DD 'AB' ()7、设SP初值是2000H,执行指令‘PUSH AX’后,SP的值是()。
A、1FFFH
B、1998H
C、2002H
D、1FFEH
()8、完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是()。
A、MOV AL, 00H
B、AND AL, 00H
C、XOR AL, AL
D、SUB AL, AL
()9、在程序运行过程中,确定下一条指令的物理地址的计算表达式是()。
A、CS*16+IP
B、DS *16+DI
C、SS*16+SP
D、ES*16+SI ()10、变量的类型属性如下,下面错误的类型是()。
A、字节型
B、字型
C、字符型
D、双字型
()11、MOV [SI][BX],AL,该指令中目的操作数采用的寻址方式是()。
A、基址加变址
B、寄存器
C、寄存器间接
D、寄存器相对
()12、编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指
令有()。
A、CMP
B、SUB
C、AND
D、MOV
()13、有一个八位二进制数的补码是11111101,其相应的十进制数是()。
A、509
B、-2
C、-3
D、253
()14、若堆栈位于存储区10000H~1FFFFH,则该堆栈的段地址是()。
A、10000H
B、1FFFFH
C、1000H
D、0FFFH
()15、8086/8088的控制标志有()。
A、3
B、2
C、6
D、1
()16、在程序设计的实际应用中往往存在要重复执行的某些操作的一类问题,这类问题由()来解决。
A、顺序结构程序
B、分支结构程序
C、循环结构程序
D、以上都不是
二、判断题
1、同一地址既可以看作是字节单元的地址,也可以看作是字单元的地址。
()
2、MOV AX, 1000H指令中的目的操作数是立即数寻址。
()
3、对于MOV指令,不可以将一个存储单元的内容直接送入另外一个存储单元中。
()
4、DUP操作不可以嵌套。
()
5、8086/8088标志寄存器共有16位,每一位都有含义。
()
6、在执行指令期间,执行部件EU能直接访问存储器。
()
7、数据在内存中以字为单位进行存储,即存储器空间按字地址号顺序排列,称为字节编址。
()
8、[X1]原=1101 0111B ,则[X1]补=1010 1000B。
()
9、INC SI 的结果是将SI寄存器的内容加1。
()
10、8086CPU寄存器中,负责与I/O接口交换数据的寄存器是DX。
()
11、由逻辑地址可唯一确定物理地址,因此映射到该物理地址的逻辑地址是唯一的。
()
12、微机主存储器的基本编址单元的长度为8位。
()
13、CPU至少包含一个处理器。
()
14、在汇编语言程序设计中有三种程序设计方法,它们分别是顺序程序、分枝程序和循环程序。
()
15、指令MOV BL,0F5H 书写正确。
()
三、填空题
1、8086的16位标志寄存器FLAGS中OF=1表示运算结果,ZF=1表示运算结果为零。
PF=0表示运算结果的低8位中1的个数为。
2、一对操作堆栈的指令为和。
3、和指令SHL AL, 1功能相同的指令是。
4、执行指令PUSH AX有SP = ,执行指令POP AX有SP = 。
5、8086CPU复位时, 寄存器CS值为,寄存器IP的值为。
6、8086CPU的I/O指令采用间接寻址时,使用的间接寄存器是。
7、地址4000H:0300H,其物理地址是,段地址是,偏移地址是。
8、设X= -1010001,则[X]原= ,[X]反= ,[X]补= 。
9、相邻段地址之间的最小距离为。
10、当对堆栈操作时,8086会自动选择____ 值作为段基值,再加上由SP提供的偏移量形成物理地址。
11、每一条指令一般都由和构成。
12、8086CPU内部有一个字节的指令队列寄存器。
四、简答题
1、指出下列语句中的错误并改正
(1)MOV DS, SEG ARA1
(2)MOV DISP[DX+15][SI], AX
2、写出指令实现在字存储单元DB1中存储2000H的内容。
3、下列各指令序列的功能是什么?
(1)NOT AL
OR AL,5
(2)XOR AL,0AFH
OR AL,50H
4、按题意写出合适的指令:
(1)将BX寄存器的内容与SI间接寻址的存储器操作数相加,和留在BX中。
(2)将16位立即数传送到BP和DI基址变址寻址的附加段的存储器中。
(3)将存储器某区域的一组数据传送到存储器的另一区域中。
5、什么是指令?指令由哪几部分组成?每一部分的含义是什么?
6、使用逻辑运算指令编写一指令序列,实现将AL第0位、第2位同时置1,其他位求反。
五、程序分析题
1、MOV AX, 0
MOV BX, 2
MOV CX, 5
L1:ADD AX, BX
ADD BX, 2
LOOP L1
HLT
问:(1)该程序完成的功能是什么?
(2)程序执行后AX= 。
2、TABLE DW 5000,4000,3000,2000,1000
COUNT DW 2
MOV BX, OFFSET TABLE
ADD BX, COUNT
MOV AX, [BX]
问:AX= 。
3、A DW 1234H
B DW 5678H
...........
PUSH A
PUSH B
POP A
POP B
问:(1)上述程序执行后A= ,B= 。