汇编语言课堂测验题1一、填空题:1.Intel 8086 CPU的字长为_______位,地址总线为_______位,寻址范围为_______。
2.设SS=2000H,SP=2,AX=BX=1234H,顺序执行PUSH AX, PUSH BX后,SP=_______,AX=_______,BX=_______。
3. 8088的I/O寻址范围为___________。
4.逻辑地址为1234h:1234h,其物理地址是___________。
5.字符'0'的ASCII码为___________;6.已知单字节定点整数X的补码是00011100B,Y的补码是00110001B,求X-Y的十进制真值是______。
7.运算器包括算术逻辑部件(ALU),用来对数据进行算术、逻辑运算,运算结果的一些特征由___________寄存器储存。
8.一个有16个字的数据区,它的起始地址为70A0H:DDF6H,那么该数据区的最后一个字单元的物理地址为______________。
9.8086CPU的物理地址是指实际的20位主存单元地址,每个存储单元对应唯一的物理地址,其范围是_________________ 。
10.假定(AX)=96H,(BX)=65H,依次执行ADD AX,BX和DAA 指令后,(AL)=___ ___。
二、判断下述指令或表述的正误。
正确的打“√”,错误的打“×”:(1) MOV AH,BL (2) MOV [SI],[BX](3) MOV AX,[SI][DI] (4) MOV AX,[BX][BP](5) MOV [BX],ES:AX (6) MOV BYTE PTR[BX],1000(7) MOV AX,OFFSET [SI] (8) MOV CS,AX(9) MOV DS,BP (10)RCL DX, 2(11)LDS BX,[BX] (12) DIV 1000H三、编写利用循环移位指令实现下列功能的指令序列:1)移位后AX中内容高8位与低8位交换;2)移位后AX中内容不变;3)移位后AX清0;4)移位后AX低8位清0,高8位存放原来低8位的值;四、编写满足下列要求的程序段:1)使AX中低4位清零。
2)使BX中高4位置“1”。
3) 使CX中低4位变反。
微机原理复习基本概念1.掌握计算机中的数和编码系统二、十、十六进制的相互转换,无符号数、带符号数、真值、机器数的区别,原码、反码、补码、真值之间的相互转换方法,位、字节和字长的概念,十进制数用8421BCD码表示,ASCII码与国标码的区别,而进制数的加、减、乘、除算术运算,二进制数的与、或、非、异或逻辑运算,进位和溢出的概念。
2.掌握系统组成微处理器、微型计算机、微型计算机系统的概念,微机系统组成框图及各部分的主要功能,指令和程序的概念,软件的分类,软、硬件的关系。
掌握计算机主要技术性能指标(字长、内存容量、主频、运算速度、存取周期)的含义。
通过简化的微型计算机的初步理解计算机的工作过程,建立起整机的概念。
了解微机的工作环境。
8086中20位地址的形成,8086存储器的分段方法。
3.理解8086微处理器的内部结构、引脚功能和定时关系8086的寄存器结构和功能结构、最小组态,主要引脚的功能,指令周期、总线周期、时钟周期的概念,能看懂存储器读和存储器写典型时序图。
4.掌握8086主要寻址方式立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、基址变址寻址、串寻址、端口寻址和隐含寻址。
掌握8086中的标志寄存器各位的含义。
掌握8086主要常用指令的功能数据传送类、算术运算类、逻辑运算类、转移类、移位类、串操作类、处理器操作类指令中的常用指令。
5.汇编语言以Intel8086 CPU 为背景,了解汇编语言的特点、汇编语言的基本语法。
掌握常用汇编伪指令的含义和用法:符号定义伪指令、数据定义伪指令、段和模块定义伪指令和过程定义伪指令。
了解其他伪指令的含义和用法。
掌握汇编语言程序的格式和运算方法。
.掌握汇编语言程序中返回DOS的方法。
了解其他常用的系统功能调用。
6.基本程序设计方法理解顺序程序、分支程序、循环程序、含子程序的程序的基本方法,能读写、运行、调试简单的汇编语言程序,如数据传送、比较、求和等简单程序。
7.存储器理解存储器分类,性能指标,典型芯片,8086存储器结构,重点掌握存储器与微处理器的连接。
微机原理练习题1.8086CPU由哪两个部分组成?它们的主要功能是什么?2.8086有多少条地址线?允许访问多少个存储器地址?8086存储器为什么要分段?怎样分段?3.什么叫总线周期?8086系统中的总线周期由几个时钟周期组成?如果一个CPU的主时钟频率为25MHZ,问一个时钟周期是多少?一个基本总线周期是多少?4.在总线周期的T1、T2、T3、T4状态CPU分别执行什么动作?什么情况需要插入T w?5.在T1状态下,数据/地址线上是什么信息?用哪个信号将此信息锁存起来?数据信息是在什么时候给出的?用时序图表示出来。
6.状态标志和控制标志有何不同?8086的状态标志和控制标志分别有哪些?7.8086是怎样解决地址线和数据线的复用问题的?ALE信号何时处于有效电平?8.8086系统在最小模式时应该怎样配置?9.RESET信号到来时,系统从何处开始启动?10.8086的存储器空间最大可以为多少?怎样用16位寄存器实现对20位地址的寻址?11.直接寻址方式中,一般只指出操作数的偏移地址,但段地址如何确定?12.用增、减量指令设计程序时,其后不能用标志位作为判断的依据,为什么?13.条件转移指令均为相对转移指令,请解释“相对转移”的含义。
若需要向较远的地方进行条件转移,该怎么办?14.设存储器内数据段中存放了两个字2FE5H、3EA8H,数据存放的偏移地址为4F25H和3E5AH,已知(DS)=3500H。
画图说明这两个字的存放情况,若要读取这两个字,需要对存储器进行几次读操作?15.非屏蔽中断有什么特点?可屏蔽中断有什么特点?16.非屏蔽中断处理子程序的入口地址如何寻找?17.一个非屏蔽中断或者可屏蔽中断响应后,堆栈顶部四个单元中是什么内容?18.软件中断有那些特点?19.中断向量表的作用是什么?它放在内存的什么区域?中断类型9的中断向量指针是什么?20.若中断向量表中0040H单元内容为240BH,0042H单元内容为0D169H,问:1)对应的中断类型是什么?2)该中断服务程序的入口地址是什么?21.写出下列存储器地址的段地址、偏移地址和物理地址:1)2314H:0035H2)1FD0H:00A0H3)0000H:0100H4)3FB0H:0035H22.判断下列指令书写是否正确:1)MOV AL,BX2)XCHG CS,AX3)IN BX,DX4)MOV AL,CL5)INC [BX]6)MOV 5,AL7)MOV [BX],[SI]8)MOV DX,F5H9)MOV DX,2000H10)POP CS11)PUSH CS23.设(SP)=2000H,(AX)=3000H ,(BX)=5000H,问:1)执行指令PUSH AX 后SP=?2)再执行指令PUSH BX 和POP AX 后SP=?AX=?BX=?24.假如(AL)=20H,(BL)=10H,当执行CMP AL,BL后,问:1)若是两个无符号数比较,结果如何?2)若是两个有符号数比较,结果如何?25.将62A0H与下列各数相加,试给出和数及标志AF、SF、ZF、CF、OF、PF的状态:1)1234H2)4321H3)0CFA0H26.试分析在下列程序段执行完后,A单元的内容是什么?DA TA SEGMENTA DW 1B DW 2C DW 3DA TA ENDSCODE SEGMENT……MOV BX,OFFSET AMOV AX,[BX]MOV B,AXMOV AX,2[BX]ADD AX,BMOV A,AX……CODE ENDS27.编写一段程序,实现下列要求:1)使AX的低4位清零,其余位不变。
2)使AX的低4位不变,高4位取反。
28.编写一段程序,将两位组合的BCD数转换成ASCII码,并存放于指定单元中。
29.已知程序段如下:MOV AX,1234HMOV CL,3ROL AX,CLDEC AXMOV CX ,4MUL CX……1)每条指令结束后,AX的内容是什么?2)程序结束时,AX、CX的内容是什么?30.在编写乘除法程序时,为什么常用移位指令来代替乘除法指令?编写一段程序,实现将BX中的数除以10,结果仍然放在BX中。
31.假设(DX)=0E3H,变量CHAR中存放的内容是55H,确定下列各个指令单独执行后的结果:1)XOR DE,CHAR2)AND DX,CHAR3)OR DX,CHAR4)XOR DX,0FFFFH5)AND DX,06)TEST DX,01H32.用循环控制指令编写程序段,从60个元素中寻找一个最大数,结果放在AL 中。
33.写出下列数据段中每个符号所对应的值:MAX EQU 0FFFHV ALO EQU MAX MOD 10HV ALT EQU V ALO*2BUFS EQU ((V ALT GT 10H)AND 10H)+ 10HBUFF DB BUFS DUP(?)34.假设AX和BX中的内容为带符号数,CX和DX中的内容为无符号数,请用比较指令和条件转移指令实现以下判断:1)若DX的内容大于CX的内容,则转移到A12)若BX的内容大于DX的内容,则转移到A23)若DX的内容小于CX的内容,则转移到A34)若BX的内容小于DX的内容,则转移到A45)若CX的内容等于零,则转移到A535.编写程序段,实现16位非组合BCD码相加的程序段。
36.编写程序段,实现16位非组合BCD码相减的程序段。
37.编写程序段,将ASCII码的空格字符填满存储器的100个字节。
38.编写程序段,实现对两个存储区中的50个字进行比较,如果找到一对不同的字,则使AL=0,如果所有的字均相同,则使AL=1。
39.编写程序段,实现从TABLE为起始地址的100个字节中检索“A”字符。
如果找到,则转移到A1,如果未找到,则转移到A2。
40.写出完成下列要求的定义语句:1)为某缓冲区BUF留出200个字节的内存空间2)在某数据区存入下列数据:2040H,0300H,10H,0200H,1048H3)在某数据区存入下列字符:‘BYTE’,‘WORD’,‘DWORD’41.对于下面的数据定义,各条指令单独执行后,有关寄存器的内容是什么?FL DB ?TA DB 10DUP(?)TB DB ‘ABCD’1)MOV AX,TYPE FL2)MOV AX,TYPE TA3)MOV CX LENGTH TA4)MOV DX,SIZE TA5)MOV CX,LENGTH TB微机原理课堂练习2一、填空题:(共20分)1.(2分)8086的存储器寻址范围为___________,I/O寻址范围为___________。