101438-微机原理与接口技术--111111111111111111111111-194_第1页
101438-微机原理与接口技术--111111111111111111111111-194_第2页
101438-微机原理与接口技术--111111111111111111111111-194_第3页
101438-微机原理与接口技术--111111111111111111111111-194_第4页
101438-微机原理与接口技术--111111111111111111111111-194_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、例3-2-6:指出下列指令的错误之处:(1) MOVDS, 0200H立即数不能直接向段寄存器送数据,应改为:MOVAX, 0200HMOV DS, AX(2) MOV AH, BX寄存器类型不匹配(3) MOV BP, AL MOVAX,SIDI两个变址寄存器不能同时出现(5) OUT310H,AL需采用寄存器间接端口寻址MOVDX,310HOUT DX, AL(6) MOV BYTE PTR BX,1000MOV WORD PTR BX,1000(7) MOVCS, AX不能用CS和IP作LI的操作数,CS和IP的内容可以了解,但不能随便修 改。(8) MOVBX+CX,ALCX和DX不能

2、作为变址寄存器(9) MOV BX, SI源操作数和U的操作数都是存储器操作数,如果要实现存储单元的数据传递, 要通过寄存器来完成。MOVAX, SIMOVBX,AX(10) MOV BX+SI+3, IPIP不能作为源操作数和目的操作数(ID PUSHBH 堆栈操作只能针对字操作,BH是8位字节寄存器(12) MOVAX, BYTE PTR SI 字节操作,和AX 不对应(13) MOV AX, DISP BXBP 基址寄存器BX和BP不能同时出现(14) OUT CX, ALI/O端口寻址中,使用的寄存器只能是AX, AL和DX(15)LEABX, CX LEA是地址传送指令,源操作数必须

3、是一个存储区操作数1. 第2题执行下列指令后,AX=( 1200 )H, BX=( 5600 )H, CX=( 3400 )HoMOVAX, 1200HMOVBX, 3400HMOVCX, 5600HPUSHCXPUSHAXPUSHBXPOPCXPOPAXPOPBX例3-2-3:已知(AX) =1234H, (BX) =5678H,连续执行以下程序后SP和BX 的内容是什么?MOV SP, 60HPUSH AXPUSH BPMOV BP, SPMOV BX, BP+2POP BPPOP DX解答:MOV SR 60HSP=60HPUSH AXAX内容压入堆栈,SP减2, SP=5EHPUSH

4、BPBP内容压入堆栈,SP减2, SP=5CHMOV BP, SP将SP内容送入BP, BP=5CHMOV BX, BP+2 将堆栈段中偏移为5CH+2=5EH的内容(即原AX 的值)送入BX中POP BP将栈顶(为BP的值)的内容弹出到BP中,SP加2=5EHPOP DX将栈顶(现为AX的值)的内容弹出到DX中,SP加2=60H最终 SP=60H, (BX) =1234H9.若 SS=3800H, SP=0100H, AX=905BH,执行指令 PUSH AX 后存放数据 5BH 的物理地址是()oA. 380FEHB. 380FFHC. 38101HD. 38102H题目答案:A题目分析:

5、执行指令PUSHAX应先使SP-2SP,然后把AX的内容存放入(SP)及(SP+1)单元。SPJOOFEH 5BHOOFFH 90HSP 0100H所以,存放5BH的单元物理地址为38000H+00FEH=380FEHo例3-2-8:将字变量ARRAY的偏移地址送寄存器BX的正确结果是()。A. LEA BX, ARRAYB. MOV BX, ARRAYC. MOV BX, OFFSET ARRAYD. MOV BX, SEG ARRAY分析:MOV BX, OFFSET ARRAY表示ARRAY的偏移地址,表示该指令可 以将ARRAY的地址传送给BX.MOV SEG ARRAY是将ARRAY

6、所在的段地址送给BX,而不是ARRAY本 身的地址。解答:AC例 3-3-5:2. 执行下列程序片段后,AL=( 1 )H, BL=( 0B5)H, CF=(1), OF=( 0), PF=( 0 )。MOVAL,4CHMOV BL,0B5HADD AL,BLA.数据段题目答案:BB.附加段C.堆栈段D.代码段例3-3-16: 8086CPU在进行无符号数比较时,是根据()标志来判断的。A. CF 和 OFB. CF 和 SFC. CF 和 ZFD. OF 和 ZF解答:C例 3-4-15:已知(AL) =80H, (CL) =03H,求执行下列指令后,(AL) =? , CF=?(1) SA

7、R AL, CL(2) SHRAL, CL解:(1) (AL) =0F0H, CF=0(2) (AL) =10H,CF=0例3-4-20:已知(AL) =12H, CF=h求:执行下列指令后,(AL) =? , CF=?(1) RORAL,1(2) RCRAL,1解:(1) (AL) =09H, CF=0(2) (AL) =89H, CF=0例3-5-1: .T.操作指令的两个隐含的指针寄存器为()解:SI和DI寄存器例3-5-2:将下列程序补充完整:程序的功能是在数据段ADDR1地址处有200 个字节,要传送到数据段地址ADDR2处。MOVAX, SEGADDR1MOV DS, AXMOV

8、ES,MOV SI,MOV DI, OFFSET ADDR2MOV, 200CLDREP解答:AX OFFSET ADDR1CX MOVSB例3-5-4:下列程序段的功能是完成将DS=2000H, SI=1500H中的一个字传送到ES=3000H, DI=0200H中,请在下列空格中填入合适的指令。CLDMOVAX, 2000H MOVDS,AXMOV AX, 3000H MOVES,AX MOVSI,15 OOH MOVDI,0200HMOVSW例 3-6-8:执行如下程序,当前指针 SP=1200H,且0084H=23H, 0085H=llH,0086H=00H, 0087H=20H;CS

9、 IPaa620011:011011 INT 21116200H:0112H MOV AX, BXi(1)试画出中断指令INT 21H执行时对FLAGS和断点地址压入堆栈后的堆栈示意图;(2)中断向量地址是多少?(3)试求出中断服务程序的入口地址。堆栈段(2) 中断冋量地址:n*4=21H*4=OO84H :(3) III 0084H和0085H两个单元提供转移目标的偏移地址,ill 0086H和0087H两个单元提供转移I标的段基址,即IP=1123H, CS=2000H。则中断服务子程序地址=CS*16+IP=21123HoIP中断服务子程序0084H21123H数据段 代码段W 3-6-

10、6:已知CPU的寄存器和存储单元的内容如下所示;请问执行下列指令后 CPU转至的目标地址的PA是多少?(1) JMP BX+DI(2) JMPDWORD PTR BX+DICPU的寄存器ARMDSq 2000H20410IP OAHCSqIOOOHqBX0400HDIpOOIOHp20411H34Hp20412d00Hp20413d65Hp解:(1) JMP BX+DI段内间接转移指令;转移的LI标地址存放在当前数据段、偏移地址为BX+DI 的单元中。CS不发生改变,IP改变。所以,该单元的段基址111数据段寄存器DS提供,即:段基址=2000H;偏移地址=(BX) + (DI) =0410H

11、:基址加变址寻址方式该单元的 PA=DS*16+EA=20410H此时IP山20411H和20410H两个单元内容提供,即IP=340AH,CS=1000Ho则 CPU 转至的 LI 标地址 PA= CS*16+IP=1340AHo(2) JMPDWORD PTR 田X+DI段间间接转移指令;转移的U标地址存放在当前数据段、偏移地址为BX+DI 所指的连续四个单元中。CS和IP都发生改变。所以,该四个连续单元的段基址由数据段寄存器DS提供,即:段基址=2000H;偏移地址=(BX) + (DI) =0410H:基址加变址寻址方式则该连续单元的PA=DS* 16+EA=2041 OH此时转移LI

12、标的偏移地址由20411H和20410H两个单元内容提供,转移訂 标的段基址山20412H和20413H两个单元内容提供,即IP=340AH,CS=6500H, 取代当前的CS。则 CPU 转至的 U 标地址 PA= CS*16+IP=6840AHo 例 3-6-37:假设(DS)=2000H, (BX)=1256H,(SI)=528FH,位移量 TABLE=2OA1H,(232F7H) =3280H, (264E5H) =2450H,贝I:(1) 执行指令JMP BX后,(IP) =(2) 执行指令 JMPTABLE BX后,(IP) = 执行指令JMP BXSI后,(IP) =解答:(1)

13、段内间接转移,无条件转移到山BX的内容指定的U标地址,IP=1256H(2) 相对寻址,默认DS为段寄存器,EA=DS*16+BX+TABLE=232F7H,因 为(232F7H) =3280H,所以执行完毕后,IP=3280H(3) 基址加变址寻址,默认DS为段寄存器,EA=DS*16+BX+SI=264E5H,因 为(264E5H) =2450H,所以执行完毕后,IP=2450H11.若当前 DS=0600H , BX=0064H ,内存字单元(06064H)=0018H , (06066H)=0700H, (06018H)=0026H, (0601AH)=0800H,并且有如下程序片段:LEA SI,BXMOV BX,BXLDS BX,BX执行该程序片段后,对于执行结果,下列描述正确的有()。A. SI=0018H B. BX=0026HC. SI=0064H D. BX=0018H题目答案:BC例3-6-7: LOOP NEXT指令的功能相当于哪两条指令依次执行?解:DEC CXJNZ NEXT例3-6-7:下面的程序段是一个段内直接调用子程序的尾部,请问子程序执行结 束后能返回到主程序调用子程序的下一条指令处吗?应该返回的偏移地址为

温馨提示

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

评论

0/150

提交评论