欢迎来到天天文库
浏览记录
ID:49803647
大小:68.50 KB
页数:18页
时间:2020-03-02
《微型计算机原理课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1.寻址方式寻址方式是理解指令系统的关键。例5.1如图所示,有关寄存器和存储单元的内容为:(DS)=3000H,(BX)=2000H,(DI)=1000H,COUNT=0250H。试说明指令MOVAX,COUNT[BX+DI]执行后,AX寄存器的内容,并指出源操作数的寻址方式。难点和重点解:源操作数为基址变址且相对寻址,所以EA=COUNT+(BX)+(DI)=0250H+2000H+1000H=3250H物理地址=(DS)×10H+EA=30000H+3250H=33250H因为(33250H)=34H,(33251H)=12H所以(AX)=1234H
2、2.数据传送指令例5.2十进制数0~9与BCD码和字型码的相互转换如表5.1所示。请编写程序段,将7转换成共阳极LED显示的字型代码。表5.1BCD码与字型码的相互转换表分析:理解表5.1:表中七段显示代码中高电平“1”表示不亮,低电平“O”表示亮。如:共阳极LED显示的字型代码“0”(即十进制数“O”)只有G不亮,为高电平“1”。解:(1)设表格存放在内存的首址以标号TABLE表示。将表格首址放入BX中,将表格偏移量放入AL中。本例中偏移量为07H。(2)执行XLAT指令:EA=(BX)+(AL)AL=(EA)(3)用如下程序段实现:MOVAX,SEG
3、TABLEMOVDS,AXMOVBX,OFFSETTABLEMOVAL,07XLAT该程序执行后,(AL)=78H。3.算术运算类指令加减指令主要考虑溢出问题及对标志位的影响。此类指令的难点在于乘除指令及BCD码调整指令。1)乘法指令例5.3指出下列程序段执行后的结果:(1)MOVAL,llHMOVBL,0B4HMULBL无符号乘的结果=?(2)MOVAL,11HMOVBL,0B4HIMULBL有符号乘的结果=?解:(1)对于无符号乘,只需直接将AL乘以BL即可。结果:(AX)=(AL)×(BL)=11H×0B4H=0BF4H验证:(AL)=llH=(1
4、7)10,(BL)=0B4H=(180)10(AL)×(BL)=17×180=3060=0BF4H(2)有符号乘较为复杂,可按如下步骤进行:①将数变为原码,并去掉符号位。因为IMUL是有符号乘指令,所以,BL=0B4H,是(-76)10的补码表示,将BL变补,即(76)10=4C。②将两数(绝对值)相乘,见图5.2(b),结果的符号按两数符号位异或运算规定确定。结果:(AX)=(AL)×(BL)=11H×4CH=50CH③积的符号位为1(负数)应将结果再变补。因为50CH变补为AF4H,并将其进行符号扩展,所以(AX)=FAF4H验证:(AL)=11H=
5、(17)10,(BL)=0B4H=(-76)10(AL)×(BL)=17×(-76)=-1292=FAF4H1.指出下列指令中源操作数和目的操作数的寻址方式:(1)MOVSI,1000(2)MOVBP,AL(3)MOV[SI],1000(4)MOVBP,[AX](5)ANDDL,[BX+SI+20H](6)PUSHDS(7)POPAX(8)MOVEAX,[EDX](9)IMULAX,BX,34H(10)JMPFAR_LABEL解:(1)源操作数为立即数寻址方式,目的操作数为寄存器寻址方式。(3)源操作数为立即数寻址方式,目的操作数为寄存器间接寻址方式。(
6、5)源操作数为相对的基址加变址寻址方式,目的操作数为寄存器寻址方式。(7)目的操作数为寄存器寻址方式。(10)该指令为程序段内直接寻址方式。2.指出下列指令语法是否正确,若不正确请说明原因。(1)MOVDS,0100H(2)MOVBP,AL(3)XCHGAH,AL(4)OUT310H,AL(5)MOVBX,[BX](6)MOVES:[BX+DI],AX(7)MOVAX,[SI+DI](8)MOVSS:[Bx+sI+100H],BX(9)ANDAX,BL(10)MOVDX,DS:[BP]解:(1)、(2)、(4)、(7)、(9)不正确,原因如下:(1)不能
7、直接向DS中送立即数,要实现该语句的功能应改为MOVAX,0l00HMOVDS,AX(2)源操作数和目的操作数的类型不相同,应改为MOVBP,AX(4)直接寻址的输出指令中,端口号只能在O~FFH范围内。(7)SI、DI不能一起用,应改为MOVAX,[BX+DI](9)源操作数和目的操作数的类型不相同,应改为ANDAX,BX3.若SP=2000H,AX=3355H,BX=4466H,试指出下列指令,或程序段执行后有关寄存器的内容。(1)PUSHAX;执行后AX=?SP=?(2)PUSHAXPUSHBXPOPDX;执行后AX=?DX=?SP=?解:(1)A
8、X=3355H,SP=1FFEH。(2)AX=3355H,DX=4466H,SP
此文档下载收益归作者所有