微机原理习题_第1页
微机原理习题_第2页
微机原理习题_第3页
微机原理习题_第4页
微机原理习题_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一章第二章小端方式小端方式 多字节数据在存储器中占据多字节数据在存储器中占据多个连续的存储单元多个连续的存储单元:存放时,存放时,低字节低字节存于存于低地址低地址,高字节高字节存于存于高地址高地址;多字节数据占据的地址空间用它的多字节数据占据的地址空间用它的低地址来低地址来表示。表示。例如:例如: “字字”单元:单元: 00002H = 1234H “双字双字”单元:单元: 00002H = 78561234H 80 x86 80 x86处理器的处理器的“低对低、高对高低对低、高对高”的存储形式,的存储形式,被称为被称为“小端方式小端方式” 。 同一个存储器地址可以表示为:同一个存储器地址可

2、以表示为:字节单元地址字节单元地址、字单元地址字单元地址、双字单元地址双字单元地址等等(视指令的具体情等等(视指令的具体情况)。况)。:字的地址是偶数地址字的地址是偶数地址,即从偶数地址,即从偶数地址开始存放;开始存放;:字的地址是奇数地址字的地址是奇数地址,即从,即从奇数地址开始存放奇数地址开始存放; 将将字字单元安排在单元安排在偶地址偶地址(xx.xx0 B),),将将双字双字单元安排在单元安排在模模4地址地址(xxxx00 B)的)的做法,被称为做法,被称为“地址对齐地址对齐(Align)”。 对于地址不对齐的数据,处理器访问时,需要对于地址不对齐的数据,处理器访问时,需要付出额外的访问

3、时间。要取得较高的存取速度,应付出额外的访问时间。要取得较高的存取速度,应该将数据的地址对齐。该将数据的地址对齐。1. 数据的格式 计算机中信息的单位有:计算机中信息的单位有:位(位(bit)、字节()、字节(byte)、字()、字(word)、)、双字(双字(double word)、)、KB、MB、GB等等 在存储器中,信息的存储单元是:在存储器中,信息的存储单元是: 80 x86微处理器对多字节数据采用:微处理器对多字节数据采用:小端方式(小端方式(little endian) 存储的数据如果存储的数据如果对齐边界对齐边界,则存取速度较快。,则存取速度较快。小端方式小端方式 多字节数据在

4、存储器中占据多字节数据在存储器中占据多个连续的存储单元多个连续的存储单元:存放时,存放时,低字节低字节存于存于低地址低地址,高字节高字节存于存于高地址高地址;多字节数据占据的地址空间用它的多字节数据占据的地址空间用它的低地址来低地址来表示。表示。例如:例如: “字字”单元:单元: 00002H = 1234H “双字双字”单元:单元: 00002H = 78561234H 80 x86 80 x86处理器的处理器的“低对低、高对高低对低、高对高”的存储形式,的存储形式,被称为被称为“小端方式小端方式” 。 同一个存储器地址可以表示为:同一个存储器地址可以表示为:字节单元地址字节单元地址、字单元

5、地址字单元地址、双字单元地址双字单元地址等等(视指令的具体情等等(视指令的具体情况)。况)。:字的地址是偶数地址,即从偶数地址:字的地址是偶数地址,即从偶数地址开始存放;开始存放;:字的地址是奇数地址,即从字的地址是奇数地址,即从奇数地址开始存放奇数地址开始存放; 将将字字单元安排在单元安排在偶地址偶地址(xx.xx0 B),),将将双字双字单元安排在单元安排在模模4地址地址(xxxx00 B)的)的做法,被称为做法,被称为“地址对齐地址对齐(Align)”。 对于地址不对齐的数据,处理器访问时,需要对于地址不对齐的数据,处理器访问时,需要付出额外的访问时间。要取得较高的存取速度,应付出额外的

6、访问时间。要取得较高的存取速度,应该将数据的地址对齐。该将数据的地址对齐。第三章1. 立即数寻址立即数寻址2. 寄存器寻址寄存器寻址3. 存储器寻址存储器寻址(存储器直接寻址存储器直接寻址,寄存器间接寄存器间接寻址寻址,寄存器相对寻址寄存器相对寻址,基址加变址寻址基址加变址寻址)4. I/O端口寻址端口寻址OP 0B8H1 、立即寻址、立即寻址1、立即数不但可以送到寄存器中,也可以送到一、立即数不但可以送到寄存器中,也可以送到一个存储单元个存储单元(8位位)中或两个连续的存储单元中或两个连续的存储单元(16位位)中去中去, 例例 2、立即数只能做、立即数只能做源操作数源操作数,不能做目的操作数

7、;,不能做目的操作数;3、以、以AF打头的数字出现在指令中时,前面一定打头的数字出现在指令中时,前面一定要加一个数字要加一个数字0,以免与其它符号相混淆,例如,以免与其它符号相混淆,例如MOV AX, 0FF00H注意问题注意问题1、对于、对于16位操作数,寄存器可以是位操作数,寄存器可以是AX 、BX、 CX、 DX、 SI、 DI、 SP和和BP等等,对于对于8位操作位操作数,寄存器则用数,寄存器则用AH 、AL、 BH、 BL、 CH、 CL、 DH和和DL。2、源操作数的长度必须与目的操作数一致,例如、源操作数的长度必须与目的操作数一致,例如 MOV CL, AH注意问题注意问题 在在

8、存储器寻址存储器寻址方式中方式中, 要寻址的数据位于存储要寻址的数据位于存储器器(内存内存)中中, 存储单元的有效地址由指令或寄存器存储单元的有效地址由指令或寄存器指出,而寄存器可以为立即数或指出,而寄存器可以为立即数或BX、BP、SI、DI之一,即有效地址等于其中一个寄存器的值:之一,即有效地址等于其中一个寄存器的值: 存储器寻址可分为以下存储器寻址可分为以下四种四种: 指令直接给出存指令直接给出存储器操作数的有储器操作数的有效地址效地址. 例如例如: MOV AX,4000H;A10040 40HOP 0A1H 以以BX寄存器进行间接寻址时,默认的段寄寄存器进行间接寻址时,默认的段寄存器为

9、存器为DS, 因为因为BX称为基址寄存器,也称为称为基址寄存器,也称为数据段基址寻址。例如数据段基址寻址。例如: MOV AX, BX; 设设DS=5000H,BX=3000H, 则本指令在执则本指令在执行时,将行时,将53000H和和53001H两单元的内容送入两单元的内容送入AX中。中。 以以BP寄存器进行间接寻址时,默认的段寄寄存器进行间接寻址时,默认的段寄存器为存器为SS, 因为因为BP称为基址寄存器,也称为称为基址寄存器,也称为堆栈段基址寻址。例如堆栈段基址寻址。例如: MOV AX, BP; 设设SS=4000H,BP=2000H, 则本指令在执则本指令在执行时,将行时,将4200

10、0H和和42001H两单元的内容送入两单元的内容送入AX中。中。 1、如果要对代码段、堆栈段或扩展段寄存器所指、如果要对代码段、堆栈段或扩展段寄存器所指的区域进行寻址,则必须在指令前用前缀指出段寄的区域进行寻址,则必须在指令前用前缀指出段寄存器名存器名,这就是这就是段超越段超越,例如,例如: 设设ES=3000H,BX=3000H, 则本指令在执行时,则本指令在执行时,将将33000H和和33001H两单元的内容送入两单元的内容送入AX中。中。注意问题注意问题 2、在基址寻址中、在基址寻址中, 操作数位于位于内存中操作数位于位于内存中, 操作数操作数的有效地址由基址寄存器的有效地址由基址寄存器

11、BX或或BP与一个与一个位移量位移量相加给出。举例相加给出。举例:MOV AL,BX+1234H ; 等价于:等价于:MOV AL, 1234HBX 假定假定 BX=1000H,DS= 1000H则则: 结果结果, AL=78H1000H:3、基址寻址的格式、基址寻址的格式:BX+位移量位移量BP+位移量位移量位移量的范围位移量的范围: 补码表示的补码表示的8位或位或16位位(-128127)或或(-3276832767)也可以是也可以是变量变量 的的 形式形式 MOV AL, dataBX MOV AL, BX+data但但 MOV AL, BXdata(错误)(错误) SI和和DI分别称为

12、源地址寄存器和目的变址分别称为源地址寄存器和目的变址寄存器。变址寻址中,段寄存器默认是寄存器。变址寻址中,段寄存器默认是DS,通,通常用于对数组元素进行操作,操作过程中,指常用于对数组元素进行操作,操作过程中,指令会自动修改变址寄存器中的地址,以指向下令会自动修改变址寄存器中的地址,以指向下一个操作数。例如:一个操作数。例如: MOV BX, SI MOV BX, ES:DATASI 8086指令系统允许基址寄存器和变址寄存器组合指令系统允许基址寄存器和变址寄存器组合起来构成起来构成基址加变址的寻址基址加变址的寻址。用此方法寻址时,操作。用此方法寻址时,操作数的有效地址是数的有效地址是1个基址

13、寄存器个基址寄存器(BX或或BP)的内容加上的内容加上1个变址寄存器个变址寄存器(SI或或DI)的内容的内容, 例如:例如: MOV AX, BX+SI; MOV BP+DI , AX; 设设SS=5000H,DS=4000H, SI=300H, DI=200H, BP=600H, BX=500H。1、在基址加变址寻址中、在基址加变址寻址中, 操作数位于内存操作数位于内存中中, 操作数的有效地址由基址寄存器操作数的有效地址由基址寄存器BX或或BP与变址寄存器与变址寄存器SI或或DI及一个位移量相加及一个位移量相加相加给出相加给出. 举例举例:MOV AL,BX+SI1234H ;假定假定:BX

14、=1000H,SI=2000H,DS=1000H则则: AL=78H1000H:注意问题注意问题2、基、基变变址寻址的格式址寻址的格式:BX+SI+位移量位移量 BX+DI+位移量位移量BP+SI+位移量位移量 BP+DI+位移量位移量BX+SI BX+DI BP+SI BP+DI错误的写法错误的写法: BX+BP SI+DI位移量的范围位移量的范围: 补码表示的补码表示的8位或位或16位位(-128127)或或(-3276832767)3、位移量也可以是、位移量也可以是变量变量的的 形式形式 下列指令正确:下列指令正确:MOV AX,DATASIBXMOV AX,BX+DATASIMOV A

15、X,BX+SI+DATA下列指令非法:下列指令非法:MOV AX,BXDATASIMOV AX,BX+SIDATAMOV AX,DATASIDIMOV AX,BXBPDATA 假定假定 DS=1000H, SS=2000H, BP=0100H, BX=0100H, 如下指如下指令在执行完后的结果令在执行完后的结果AX的内容的内容分别是什么分别是什么? 1. 分别指出下列指令中的源操作数和目的操作分别指出下列指令中的源操作数和目的操作数的数的: (1) MOV AX,SI (2) MOV DI, 100 (3) MOV BX, AL (4) MOV BXDI, CX (5) ADD DX, 10

16、6HSI (6) AND DS:BP, AX (7) OR AX, DX 2. 设寄存器设寄存器(DS)=2000H, (SS)=1500H, (ES)=3200H, (SI)=0A0H, (BX)=100H, (BP)=10H,数据段中变量,数据段中变量VAL的偏移地址值为的偏移地址值为50H。试指出下列各指令中试指出下列各指令中源操作数源操作数的寻址方式是什么?的寻址方式是什么?对于存储器操作数,其对于存储器操作数,其物理地址物理地址是多少是多少 : (1) MOV AX,100H (2) MOV CX, ES:BX (3) MOV DX, BXSI (4) MOV AX, VALSI (

17、5) MOV BX,1234 BX 205D2H (6) MOV AX, BP 3. 已知:已知:DS=1000H, BX=0200H, SI=02H, 内存内存10200H 10205H单元的内容分别为单元的内容分别为10H, 2AH, 3CH,46H, 59H和和6BH。下列每条指令执行完后。下列每条指令执行完后AX 寄存器的内容各是什么?寄存器的内容各是什么? (1) MOV AX, 0200H (2) MOV AX, 200H (3) MOV AX, BX (4) MOV AX, 3BX (5) MOV AX, BX+SI 205D2H (6) MOV AX, 2BX+SI 1. 设堆

18、栈指针设堆栈指针SP的初值为的初值为2400H,(AX)=4000H, (BX)=3600H。试问。试问 : (1) 执行指令执行指令“PUSH AX”后,后, (SP)=? (2) 再执行指令再执行指令“PUSH BX” (3) 再执行指令再执行指令“POP AX”后,后, (SP)=? (AX)=? (BX)=? 当当运算产生溢出时,运算产生溢出时,为为1;当当运算产生溢出时,运算产生溢出时,OF为为1 ;如果运算结果为如果运算结果为0,则,则ZF1;如果运算结果的最高位为如果运算结果的最高位为1,则,则SF1;如果运算结果的低如果运算结果的低8位有偶数个位有偶数个1,则,则PF1;如果第

19、如果第3位向第位向第4位借位或者进位,位借位或者进位,AF1。运算后标志位的说明运算后标志位的说明1. AND指令可用于对一个数据的指定位指令可用于对一个数据的指定位清零清零(屏蔽屏蔽)。 例如,例如, AND AL, 0FH2. OR指令可用于对一个数据的指令可用于对一个数据的指定位置指定位置1。 例如,例如,OR AL, 02H3. XOR指令通常用在一些程序的开头使某个指令通常用在一些程序的开头使某个寄存器清零寄存器清零,以配合初始化工作的完成。例如,以配合初始化工作的完成。例如, XOR AX, AX4. NOT指令常用来将某个数据取反码,再加指令常用来将某个数据取反码,再加1得到补码

20、得到补码5. TEST指令一般用来指令一般用来检测某个指定位是检测某个指定位是1还是还是0,而这个,而这个指定位往往对应一个物理量。例如,指定位往往对应一个物理量。例如, TEST AL, 01H 1. 已知已知(DS)=091DH, (SS)=1E4AH, (AX)=1234H, (BX)=0024H, (CX)=5678H, (BP)=0024H, (SI)=0012H, (DI)=0032H, 09226=00F6H, 09228=1E40H, 1EAF6=091DH, 试求单独试求单独执行下列指令后的结果?执行下列指令后的结果?(1)MOV CL, 20HBXSI ; (CL)=?(2

21、)MOV BPDI , CX ; 1EAF6=?习题习题2. 判断下列指令有无错误,若有,则改正判断下列指令有无错误,若有,则改正(1)PUSH CL (2)ADC AX, 0ABH(3)OUT 3EBH, AX(4)MUL AL, CL(5)DIV AX, BX(6)INC SI 习题习题(7) IN BL, 05H (8) MOV BX+SI+3, AX(9) MOV BX, 1200H(10) MOV DS, 0200H(11) MOV IP, 0FFH(12) MOV AL, ES:BP 习题习题 3. 若若CPU中各寄存器及中各寄存器及RAM参数如图所示,试参数如图所示,试求独立执行

22、下列指令后,求独立执行下列指令后,CPU及及RAM相应寄相应寄存器及存储单元的内容是多少?存器及存储单元的内容是多少?(1)MOV DX, 2 BX ; DX=? BX=? (2)POP CX ; SP=? (3)MOV CX, BX ; CX=? BX=?(4)TEST AL, 01 ; AL=? ZF=?(5)MOV AL, SI ; AL=习题习题(6) ADC AL, SI ; AL=? CF=? (7) INC SI ; SI=? (8) DEC DI ; DI=? (9) MOV DI, AL ; DI=? (10) XCHG AX, DX ; AX=? DX=? (11) XOR AH, BL ; AH=? BL=?(12) JMP DX ; IP=习题习题4. 设设(DS)=2000H, (BX)=1256H, (SI)=528FH, 偏偏移量移量TABLE=20A1H, 232F7H=3280H, 264E5H=2450H, 执行下列指令执行下列指令(1)JMP BX

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论