当前位置:文档之家› 微机原理复习2013-2014第1学期

微机原理复习2013-2014第1学期

微机原理及应用复习提纲第1章微机基础1、计算机中所有的信息都是以二进制数的形式存储的。

2、常用的进位计数制及相互转换。

3、计算机中常用的编码:BCD码、ASCII码(1)BCD码:二进制编码的十进制数。

(组合)BCD码用4位二进制码来表示一位十进制数。

注意:BCD码与二进制的区别,BCD码不能直接转换成二进制数,必须先将BCD 码转换为十进制数后,再转换成二进制数。

(2)ASCII码(美国标准信息代码):一种最常用的字符信息编码,用7位二进制数进行编码。

记住常用ASCII码:如0~9,A~F、a~f等。

5、带符号数的表示:原码、反码、补码及转换。

8位二进制数能表示的原码、补码的范围。

6、计算机的五大部分组成。

7、微机总线结构:CPU、存储器和I/O接口等部件通过总线连接。

根据传送信息的类型,微机的三大系统总线AB、CB、DB。

8、intel8086微处理器的结构(1)40DIP封装,16位CPU,16位数据线;20根地址线(2)CPU的编程结构:内部寄存器都是16位,主要包含:AX/BX/CX/DX/SP/BP/SI/DI/IP CS/DS/SS/ES、标志寄存器FLAG等。

其中AX/BX/CX/DX能作为8个8位寄存器用。

(3)CPU的功能结构:两大功能单元EU和BIU。

EU负责指令的执行,BIU负责与总线相关的操作。

(4)存储器组织:20根地址线决定了8086存储器的寻址能力是1MB,地址范围:00000H~FFFFFH。

存储单元地址的两种表示形式:物理地址、逻辑地址。

物理地址用20位二进制数表示,它是唯一的;逻辑地址用“段地址:偏移地址”的形式表示,它是相对地址,并不唯一。

物理地址=逻辑地址中的段地址*10H+逻辑地址中的偏移地址8086CPU对内存采用“分段管理机制”,每段最大可达64KB(段地址确定时,偏移地址的变化范围),段和段之间可以重叠。

(5)标志寄存器中各个标志位的含义。

第2章8086指令系统1、寻址方式(1)汇编指令包含两部分:操作数和操作码。

(2)各种寻址方式的区别与应用。

8086CPU共有三大类寻址方式:立即寻址、寄存器寻址和存储器寻址(又可分为:直接寻址、寄存器间接寻址、变址寻址、基址加变址寻址)。

判断寻址方式,如MOV AX,1234H指令中目的操作数是寄存器寻址,源操作数是立即寻址。

2、指令系统:熟练掌握常用指令的功能、格式及应用。

传送指令:MOV、PUSH、POP、IN、OUT、XCHG、XLAT、LEA算术运算指令:ADD/ADC、INC、SUB/SBB、DEC、NEG、CMP、MUL/IMUL、DIV/IDIV、AAA/DAA、AAM(BCD码调整指令只考加法和乘法调整指令)逻辑运算指令:AND、OR、XOR、TEST、SHR、SHL、SAR、SAL、ROR、ROL、RCR、RCL控制转移指令:JMP、JX(所有条件转移指令)循环控制指令:LOOP、LOOPNZ、LOOPZ常见考试题型1:读懂程序段,给出执行结果。

例如MOV AX,0ADD AX,1执行上述2句指令后,(AX)=1考试题型2:判断指令格式是否正确。

例如:MOV CS,AX是否正确?错,因为CS不能用MOV修改。

参考课本习题2-3。

考试题型3:编写程序段或程序填空。

第3章8086汇编语言程序设计1、常用汇编伪指令。

数据定义和分配数据单元的伪指令DB/DW/DD、DUP、OFFSET2、三种基本结构程序设计:顺序结构、分支结构、循环结构。

参考课件例题和练习题。

考试题型1:程序填空。

如:下列程序实现1+2+3+……+100,根据要求,请完成程序填空。

考试题型2:编程题。

如编写程序实现1+2+3+ (100)课件或课本重点例题1. 设CPU的字长为8位。

(有符号数的表示)X=123,则[X]原=01111011;[X]反=01111011;[X]补=01111011;Y=-123,则[Y]原=11111011;[Y]反=10000100;[Y]补=10000101。

2. 若CS=FFFFH,IP=0000H,则指令所在存储单元的物理地址为:PA= (CS) ×10H + IP = FFFF0H3.十进制数转换成二进制数:(1)58 (2)674.二进制数转换成十进制数(1)10110B (2)11010B5. 指出下列指令中源操作数的寻址方式,并求出其对应存储器操作数的物理地址。

假设: (DS)=3000H,(ES)=2000H,(SS)=2500H,(SI)=0900H,(BX)=0100H,(BP)=0008H,数据变量DATA 的偏移地址为0050H。

(1)MOV AX,0ABH (2)MOV AX,[100H](3)MOV BX,[SI](4)MOV AL,DATA[BX] (5)MOV CL,[BX][SI](6)MOV DA TA[SI],BX (7)MOV BX,[BP][SI]6. 设有关寄存器及存储单元的内容如下:(DS)=4000H,(BX)=0200H,(AX)=1200H,(SI)=0002H,(40200H)=12H,(40201H)=34H,(40202H)=56H,(40203H)=78H,(41200H)=2AH,(41201H)=4CH,(41202H)=0B7H,(41203H)=65H试说明单独执行下列各条指令后,相关寄存器或存储单元内容的变化。

(1)MOV AX,1800H (2)MOV DX,BX(3)MOV BX,[1200H] (4)MOV AX,1000H[BX](5)MOV [BX][SI],AL (6)MOV CL,1000H[BX][SI]7.设SS=2000H,SP=0040H,BX=2340H,执行:PUSH BX则执行后,2340H被保存到堆栈,(2003EH)=40H,(2003FH)=23H,同时SP=003EH,BX内容不变。

8. 设有SS=3200H,SP=07FEH,(327FEH)=22H,(327FFH)=11H,执行:POP BX则执行后,SP=0800H,BX=1122H9. 说明下列程序段的功能。

MOV AX,1234HPUSH AXMOV BX,5678HPUSH BXPOP AXPOP BX10. 已知十进制数0~9的七段LED显示码对照表如下表所示。

试用XLAT指令求数字6的七段显示码。

十进制数的七段显示码程序:TABLE DB 40H , 79H , 24H , 30H , 19HDB 12H , 02H , 78H , 00H , 18H┆MOV AL,6 ;数字6的位移量送ALMOV BX,OFFSET TABLE ;表格首址送BXXLAT TABLE11. 对两个8位16进制数7EH和5BH求和,并分析加法运算指令执行后对标志位的影响。

MOV AL,7EH ;(AL) ←7EHADD AL,5BH ;(AL) ← 7EH+5BH结果:(AL)=0D9H, 进位标志(CF)=0,零标志(ZF)=0,符号标志(SF)=1,奇偶标志(PF)=0,辅助进位标志(AF)=1。

12. 设有两个4字节的无符号数相加,这两个数分别放在2000H和3000H开始的存储单元中,低位在前,高位在后。

要求进行运算后,得到的和放在2000H开始的单元中。

MOV SI, 2000HMOV DI, 3000HMOV AX,[SI]ADD AX,[DI]MOV [SI],AXMOV AX,[SI+2]ADC AX,[DI+2]MOV [SI+2],AX13. MOV AL,7FHNEG AL执行结果:AL=7F按位求反+1=80H+1=81H14. MOV AL,14H ;AL=14HMOV CL,05H ;CL=05HMUL CL ;AX=0064H,CF=OF=0结果的高半部分AH=0,因此,状态标志位CF=OF=0。

15. MOV AH,0MOV AL,00000110B ;代表6ADD AL,00000111B ;代表7AAA最后结果:AH = 01H,AL = 03H16. MOV AL,00100111B ;代表27ADD AL,10000110B ;代表86DAA调整后结果:CF=1,AL=00010011 B17. MOV AL,05HMOV BH,06HMUL BH ; AX=001EHAAM ; AX=0300H18. 检测CX的内容是否为0,若为0则转移;TEST CX,0FFFFHJZ P1…P1: …19. MOV BL,10001001BSAL BL, 1结果:CF = 1,BL = 00010010B, OF=120. 将AL中的数x乘以10。

10x=2x+8xSAL AL,1 ;(AL)= 2xMOV BL,AL ;暂存BLMOV CL,2 ;(CL )←移位次数SAL AL,CL ;(AL)= 8xADD AL,BL ;(AL)= 10x21. 设CF=1,AL=10110110B,则:执行指令ROL AL,1后,AL= 01101101B,CF= 1 ,OF= 1 ;执行指令RCL AL,1后,AL=01101101B,CF=1,OF=1;执行指令ROR AL,1后,AL=0101101lB,CF=0,OF=1;执行指令RCR AL,1后,AL=11011011B,CF= 0 ,OF= 0 ;执行指令MOV CL,3及RCL AL,CL后,则AL=10110110B,CF=1,OF不确定。

22. MOV AX, 0123HMOV [0000], AXMOV WORD PTR [0002],0JMP DWORD PTR [0000]执行上述程序段后,(CS)= 0000H,(IP)= 0123H23. 课本P42 【例2-1】数据传送设DS=3000H,起始偏移地址为0100H内存区域中顺序存放着100个字节的数据。

要求传送到以2000H为起始偏移地址的区域。

利用寄存器间接寻址来寻找操作数。

MOV AX,3000HMOV DS,AX ;建立数据段MOV SI,0100H ;建立源数据指针MOV DI,2000H ;建立目的地指针MOV CX,100 ;设置计数器NT:MOV AL,[SI] ;取数MOV [DI],AL ;送数INC SI ;调整指针INC DIDEC CX ;计数器减1JNE NT ;CX不等于0则转NT标号INT 20H ;返回DOS24. 课本P59【例2-7】求符号数的最大值。

设数据区1000H开始的区域中存放着50个字节的符号数。

要求找出其中最大的一个数并存到0FFFH单元。

MOV BX,1000HMOV AL,[BX]MOV CX,31HL1: INC BX CMP AL ,[BX] JGE L2 MOV AL ,[BX] L2:DEC CXJNE L1MOV BX ,0FFFH MOV [BX],AL INT 20H25.利用LOOP 指令,编程实现1+2+3…+100的总和。

相关主题