《微机原理习题》PPT课件.ppt
《《微机原理习题》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《微机原理习题》PPT课件.ppt(49页珍藏版)》请在三一办公上搜索。
1、微机系统与接口习题课 第1-3章要点小结,一、数制与编码,补码是计算机所采用的数值存储格式,以后应用时我们约定带符号数均默认为补码。补码使得加减法运算简单了(带符号数的加减法一致性加法时直接进行两数相加,减法时用减数变补码与被减数相加)。可以说补码是使计算机工作“方便了”,使人理解起来“麻烦了”。,带符号数:原码和反码是人为定义,补码是机器特性!,例题,习题一.2当下列各二进制分别代表原码、反码和补码时,其等效的十进制数值为多少?11111111 代表原码时,-127;代表反码时,原码是10000000,0;代表补码时,原码是10000001,-1(-128+127),例题,习题一.3已知x1
2、=+0010100,y1=+0100001,x2=-0010100,y2=-0100001,试计算下列各式。(字长8位),解:由已知可得x2=-20,y2=-33,则得x2+y2/8=-20-4,x2+y2/8补=-24补=E8H,反映在指令系统中,MUL(无符号乘法指令)以及IMUL(带符号乘法指令)比较指令:适用于无符号数的JA、JB等条件转移指令与适用于带符号数的JG、JL等条件转移指令。,例题,设AL,BL都是带符号数,要求当ALBL时转至NEXT处,在CMP AL,BL指令后应选用正确的条件转移指令是()AJBE BJNG CJNA DJNLE,答案:B 有符号数的大小判断,二、对标
3、志位的认识与理解,容易出错的是(补码的)算数运算后对CFOF的判断;,对CF的判别:只要在单步操作后看最高位是否有借位与进位即可,不用考虑最高位是否被指定为符号位。,CF=1表示无符号数运算溢出OF=1表示有符号数运算溢出,对OF的判别:,课本中对于OF的判别依据为:当算术运算结果超出了带符号数的范围时,即溢出。,“正溢出”,“负溢出”,正数相加的结果为负,负数相加的结果为正,简单判别方法:双高位判别法,首先引进两个附加的判别符号,即 CS:表征最高位(符号位)的进位情况。如有进位,则CS=1;否则,CS=0。CP:表征次高位(数值部分最高位)的进位情况。如有进位,则CP=1;否则,CP=0。
4、,当CSCP=1,必定发生溢出。(异或)其中CSCP为“01”,称其为“正溢出”;当CSCP为“10”,称其为“负溢出”。,显然CS=0,CP=1,则为“正溢出”,显然CS=1,CP=0,则为“负溢出”,提示:一个正数与负数相加,结果肯定不溢出,例题 习题1.4,三、汇编指令,汇编语言有三种基本语句:指令语句、伪指令语句、宏指令语句。指令语句操作指令+操作数(可隐含)汇编器如何找到操作数寻址方式:(1)在数据存储器中,指令中如何提供操作数或操作数地址的方式。(2)在程序存储器中,程序转移时需提供转移地址,这也称为寻址。,习题二.1.(7)PUSH 1234H,源操作数寻址方式:直接寻址;无目标
5、操作数,例题,下面指令中,源操作数的寻址方式为直接寻址的指令是()AADD AX,WORD PTR BX+SI BADD AX,DATA1CINC CX DMOV BX,8FFFH,答案:B解释:A为基址加变址;B中DATA1为一变量,作为存储器操作数;C为寄存器寻址;D为立即数寻址。,例题,要点:理解各段与寄存器的概念,正确使用寻址方式。,例:(1)直接、间接、立即三种寻址方式的执行速度由快至慢依次为:(2)下列指令中操作数在代码段中的是A.MOV AL,25HB.ADD AL,BHC.CMP AX,BP D.INC DS:BP,立即、直接、间接,A,要点1:寄存器不能随便使用,基址与基址(
6、或变址与变址)不能组合在一起寻址。MOV BX,BP+SI(正)MOV AX,BXBP(错)2)出现AX、CX、DX、SP(都错)MOV IP,AX(错)MOV AX,IP(错),存储器间不能直接进行操作。(MOV 2000H,BX;CMP BX,SI)段寄存器不能直接进行立即数赋值(MOV DS,0100H),段寄存器之间不能直接进行操作(MOV CS,DS),段寄存器不能进行加减法操作(ADD DS,AX),另外CS不能作为目标操作数。(PUSH CS(正),POP CS(错)),要点2:操作数类型要明确,MOV AX,BLMOV AL,BX,反汇编查看:,警告:操作数类型不匹配,警告就是
7、非法!,例题,下面的指令中,不合法的是()AMUL BX BMUL BX CMOV AL,02H DMOV AL,BX,答案:B 解释:因为MUL指令可以进行字节或字操作,而B中并未向编译器指明操作数的类型,使得操作不能确定,这时可以利用伪指令BYTE PTR或WORD PTR向编译器传递操作数类型。,例题2.3,指出下列传送类指令中,哪些是非法指令(1)MOV DS,0100H(2)MOV BP,AL(3)MOV BX,AL(4)XCHG AH,AL(5)OUT 21H,AL(6)OUT 310H,AL(7)MOV BP+DI,AX(8)MOV BX+CX,2130H(9)AND AX,BL
8、(10)ADD AL,BX+DX+10H(11)MOV CS:2000H,AX(12)POP CS非法指令:(1),(2),(3),(6),(8),(9),(10),例题 补充,注意下列指令都是非法的(1)CMPCF,1;symbol not defined(2)MOVAX,CF(3)MOVDATA1SI,DATA2DI(4)MOVDATA1,DATA2(5)SBBAX,BX(6)CMP39,AL,要点3:串操作指令,注意“先期的准备工作”:对相应的寻址寄存器进行(DS:SI、ES:DI)设置,注意段超越的问题。根据自己的程序决定对存储区的操作方向,即对DF的设置。若要进行重复操作时,一定要设
9、置CX。若要进行ZF的判别,注意判别条件的设置。,例题,假设ES段中有一个字符12FG3LM5C,其名为ARRAY,下面的程序段 CLD LEA DI,ES:ARRAY MOV AL,G MOV CX,9REPNE SCASBHLT执行后,CX的值是()。A7 B6 C5 D4,解释:这是在字符串中寻找第一个出现的指定字符的操作,我们将关键的循环串操作的具体的执行步骤表述如下:先做终止判断:如果CX=0或ZF=1则退出,否则往下执行:(2)执行其后的串操作,比较AL与(ES:DI),改变ZF(3)DF=0表示按地址增方向,修正DI(4)CX-1送入CX(5)回到,REPNE SCASB,要点4
10、:控制转移指令,JMP指令,分类情况:按段内还是段间以及直接还是间接。可分为五类,相当于间接修改寄器CS、IP的内容,段内跳转:当前IP寄存器加上偏移量段间跳转:CS:IP=新地址,要点4:控制转移指令,段内直接短转移:JMP SHORT label8位相对位移量,与下一条指令的地址差-128127。段内直接近转移:JMP NEAR PTR label 16位相对位移量。范围-3276832767。,段内间接转移:16位相对位移量 JMP reg或JMP memMOV BX,1000HJMP BXJMP WORD PTR BX+20H段间直接转移:32位相对位移量(CS:IP)JMP FAR
11、PTR label,段间间接转移:32位相对位移量(CS:IP),JMP memMOV SI,0100HJMP DWORD PTR SI,不能是寄存器,26,课程中的例题,DP1 DD PRC1,PRC2CODE SEGMENT;设CS为8B00H PRC1 PROC FAR;8B00:1000:PRC1 ENDPPRC2 PROC FAR;8B00:2C20:PRC2 ENDP,00,10,00,8B,20,2C,00,8B,;DP1开始的内容=?,00H10H00H8BH20H2CH00H8BH,DP1,8A00:0034H,(PRC1),8B00:1000H,MYDATA ENDS,;D
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机原理习题 微机 原理 习题 PPT 课件
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-5508271.html