8086指令系统测试
- 格式:doc
- 大小:63.50 KB
- 文档页数:7
安徽大学江淮学院2013—2014学年第 1 学期《微机原理及应用》期中考试试卷(闭卷时间100分钟)院/系计算机科学与电子技术年级11级专业电子信息工程()姓名学号一、填空题(每小题1分,共20分)1、已知X、Y的真值分别为56D和-21D,[X+Y]补码为__________________(用二进制表示)。
2、8086CPU的外部数据总线有_______位,其内部的BIU和EU分开,所以______________和_____________可以重叠操作,提高了CPU的利用率。
3、若CS=7000H,则当前代码段可寻址的存储空间范围是从_________H 到__________H。
4、设堆栈指针SP的初值为2300H,AX=50ABH,BX=1234H,依次执行指令PUSH AX、PUSH BX及POP AX之后,SP=---________________,AX=______________。
5、8086的存储器读/写总线周期由__________个T状态组成,ALE信号在__________状态内有效,其作用是__________________________________________。
6、RESET信号有效后使、、、、寄存器清零。
7、总线保持请求/总线保持响应是、。
8、已知AL=7BH,BL=38H,若执行ADD AL,BL后,CF=_____,OF=_____,PF=______。
二、单项选择题(在备选答案中选出一个正确答案,并将其号码填在题后的表中。
1、运算器的主要功能是( )。
(A)算术运算(B)逻辑运算(C)算术运算与逻辑运算(D)函数运算2、下列有关指令指针寄存器的说法中,哪一个是正确的( )。
(A)IP存放当前正在执行的指令在代码段中的偏移地址(B)IP存放下一条将要执行的指令在代码段中的偏移地址(C)IP存放当前正在执行的指令在存储器中的物理地址(D)IP存放当前正在执行的指令在存储器中的段地址3、若用MB作为PC机主存容量的计量单位,1MB等于( )字节。
实验二找出8086/8088指令系统所有指令的操作码的编码一、实验目的本实验旨在利用debug工具的e和u功能找出8086/8088指令系统的指令格式中各种操作码编码对应的指令功能。
二、试验原理:1、每条指令1~6个字节不等2、指令的第一字节为操作码,规定指令的操作类型。
第二字节规定操作数的寻址方式接着以后的3~6 字节依据指令的不同取舍。
3、第一个字节的八个二进制位中前六位为操作码的主要部分,之后一位是D字段,然后是W字段,W指出操作数类型:W=0 为字节,W=1 为字,D指出操作数的传送方向:D=0 寄存器操作数为源操作数,D=1 寄存器操作数为目标操作数。
4、用DOS的输入/输出重定向功能,让debug自动执行一批命令。
三、试验内容和步骤1、用试探法(1)打开debug,输入如下内容:-e 100 00 00 00 00 00 00-u 100 1050B5D:0100 0000 ADD [BX+SI],AL0B5D:0102 0000 ADD [BX+SI],AL0B5D:0104 0000 ADD [BX+SI],AL可以得到如下结果:结论:操作码字节前六位为000000(二进制)看来是一条ADD指令,而且只占两个字节。
记下来:指令码汇编指令---------------------------------------------------------------------0B5D:0100 0000 ADD [BX+SI],AL(2)将指令首字节变为01,重复以上实验-e 100 01 00-u 100 1010B5D:0100 0100 ADD [BX+SI],AX得到以下结果:结论:第1字节由00(二进制0000 0000)变为01(二进制0000 0001),ADD指令的第二个操作数由AL变为了AX。
AL为8位寄存器、AX为16位寄存器,印证了W字段的作用,增加一条有用的记录:指令码汇编指令-------------------------------------------------------------------------0B5D:0100 0000 ADD [BX+SI],AL0B5D:0100 0100 ADD [BX+SI],AX(3)将指令首字节变为02,重复以上实验-e 100 02 00-u 100 1010B5D:0100 0200 ADD AL,[BX+SI]得到以下结果:结论:第1字节由00(二进制0000 0000)变为02(二进制0000 0010),ADD 操作的传送方向发生转变,印证了D字段的作用。
实验名称实验三 8086 常用指令练习一、实验目的1、通过实验掌握常用数据传送指令、算术运算指令。
2、MOV、XCHG、ADD、ADC、SUB、SBB等常用指令的使用。
二、实验要求1、16进制数加减法手算结果及实验结果。
2、8086 常用指令练习部分的逐条运行记录,思考结果及自编程序运行记录。
三、实验环境DOS操作系统。
四、实验内容1、传送指令1)用A命令在内存100H处键入下列内容:MOV AX,1234MOV BX,5678XCHG AX,BXMOV AH,35MOV AL,48MOV DX,75ABXCHG AX,DX图1在内存100处键入指令2)用U命令检查键入的程序并记录,特别注意左边的机器码。
图2用U命令检查键入3)用T命令逐条运行这些指令,每运行一行检查并记录有关寄存器及IP的变化情况。
并注意标志位有无变化。
图3 T命令逐条运行图4 T命令逐条运行图5 T命令逐条运行2、加减法指令:1)用A命令在内存200H处键入下列内容:MOV AH,34MOV AL,22ADD AL,AHSUB AL,78MOV CX,1284MOV DX,5678ADD CX,DXSUB CX,AXSUB CX,CX图6在内存200处键入指令3)用U命令检查键入的程序及对应的机器码。
图7用U命令检查键入4)用T命令逐条运行这些指令,检查并记录有关寄存器及ZF 情况。
图8 T命令逐条运行图9 T命令逐条运行图10 T命令逐条运行ZF无变化思考:这次运行还是打入T,行不行?怎么办?用R命令检查一下IP的内容。
注意T命令与IP的关系。
3、带进位加减法:1)用A命令在内存300H处键入下列内容,并用U命令检查:MOV AH,12MOV AL,84MOV CH,56MOV CL,78ADD AL,CLADC AH,CHMOV DH,A7MOV DL,58SUB DL,7FSBB DH,34图11在内存300处键入指令图12用U命令检查键入2)用T命令逐条运行这些指令,检查并记录有寄存器及CF内容。
微型计算机原理与接口技术综合测试题一一、单项选择题 (下面题只有一个答案是正确的,选择正确答案填入空白处)1.8086CPU通过(1 )控制线来区分是存储器访问,还是I/O访问,当CPU执行IN AL,DX指令时,该信号线为( 2 )电平。
(1) A. M/ B. C. ALE D. N/(2) A. 高 B. 低 C. ECL D. CMOS2.n+1位有符号数x的补码表示范围为()。
A. -2n < x < 2nB. -2n ≤ x ≤ 2n -1C. -2n -1 ≤ x ≤ 2n-1D. -2n < x ≤ 2n3.若要使寄存器AL中的高4位不变,低4位为0,所用指令为()。
A. AND AL, 0FHB. AND AL, 0FOHC. OR AL, 0FHD. OR AL 0FOH4.下列MOV指令中,不正确的指令是()。
A. MOV AX, BXB. MOV AX, [BX]C. MOV AX, CXD. MOV AX, [CX]5.中断指令INT 17H的中断服务程序的入口地址放在中断向量表地址()开始的4个存贮单元内。
A. 00017HB. 00068HC. 0005CHD. 0005EH6.条件转移指令JNE的条件是()。
A. CF=0B. CF=1C. ZF=0D. ZF=17. 在8086/8088 CPU中,一个最基本的总线读写周期由(1 )时钟周期(T状态)组成,在T1状态,CPU往总线上发( 2 )信息。
⑴ A. 1个 B. 2个 C. 4个 D. 6个⑵ A. 数据 B . 地址 C. 状态 D. 其它8. 8086有两种工作模式, 最小模式的特点是( 1 ),最大模式的特点是( 2 )。
⑴ A. CPU提供全部控制信号 B. 由编程进行模式设定C. 不需要8286收发器D. 需要总线控制器8288⑵ A. M/ 引脚可直接引用 B. 由编程进行模式设定C. 需要总线控制器8288D. 适用于单一处理机系统9.在8086微机系统的RAM 存储单元器0000H:002CH开始依次存放23H,0FFH,00H,和0F0H四个字节,该向量对应的中断号是( )。
8086微处理器指令系统数据传送数据传送指令可完成寄存器与寄存器之间、寄存器与存储器之间以及寄存器与I/O 端口之间的字节或字传送,它们共同的特点是不影响标志寄存器的内容通用数据传送指令MOV 传送指令格式: MOV 目标,源指令功能:将源操作数(一个字节或一个字)传送到目标操作数。
源操作数可以是8/16位通用寄存器、段寄存器、存储器中的某个字节/字或者是8/16 位的立即数。
堆栈操作指令后进先出的规则存取信息堆栈指针信息存入堆栈时,堆栈指针将自动减量,并将信息存入堆栈指针所指出的存储单元当需要从堆栈中取出信息时,也将从堆栈指针所指出的存储单元读出信息,并自动将堆栈指针增量堆栈指针始终指向堆栈中最后存入信息的那个单元栈顶不断移动、动端堆栈区的另一端则是固定不变的栈底PUSH 入栈指令格式: PUSH 源指令功能:将源操作数压入堆栈。
源操作数可以是16 位通用寄存器、段寄存器或者是存储器中的数据字。
P38 例 2.12POP 出栈指令格式: POP 目标指令功能:将堆栈中当前栈顶和次栈顶中的数据字弹出送到目标操作数。
目标操作数可以是16 位通用寄存器、段寄存器或者是存储单元。
P39 例 2.13XCHG 交换指令1格式: XCHG 目标,源指令功能:将源操作数与目标操作数(一个字节或一个字)相互交换位置。
源操作数可以是通用寄存器或存储单元。
目标操作数只允许是通用寄存器。
P39 例 2. 14XLAT 换码指令2目标地址传送指令这是一类专用于传送地址码的指令,可用来传送操作数的段地址或偏移地址LEA 有效地址送寄存器指令格式: LEA 目标,源指令功能:将源操作数的有效地址EA 传送到目标操作数。
源操作数必须是存储器操作数。
目标操作数必须是16位通用寄存器。
LDS 指针送寄存器和DS指令格式: LDS 目标,源指令功能:从源操作数所指定的存储单元中取出某变扯的地址指针(共4 个字节),将其前两个字节(即变量的偏移地址)传送到目标操作数,后两个字节(即变量的段地址)传送到DS 段寄存器中。
8086指令系统测试
说明:8086的指令系统测试题共有85条指令,测试的目的是让学生熟记指令且能运用指令完成指定任务,为第四章的程序设计打下基础。
最后,对本章中的寻址方式进行测试和考查。
一、请在每个括号内填入一条适当的指令,使之能完成该括号前的题目所
指定的任务。
(1空1分)
二、寻址方式测试,请指出下列指令中,源操作数的寻址方式,答案请写入括号中。
(每题2分)
1.MOV AX, 100H ;()
2.MOV AX, [100H] ;()
3.MOV AX, VAL ; ()(说
明:VAL是符号地址)
4.MOV AX, BX ;()
5.MOV AX, [BX] ;()
6.MOV AX, [BX+10H] ;()
7.MOV AX, [BX][SI] ;()
8.MOV AX, [BX][SI]COUNT ;()(说明:
COUNT是个偏移量)
9.IN AX, 0FFH ;()。