第三章(2)机器语言指令概况.ppt

第三章(2)机器语言指令概况.ppt

ID:48756510

大小:510.50 KB

页数:56页

时间:2020-01-22

第三章(2)机器语言指令概况.ppt_第1页
第三章(2)机器语言指令概况.ppt_第2页
第三章(2)机器语言指令概况.ppt_第3页
第三章(2)机器语言指令概况.ppt_第4页
第三章(2)机器语言指令概况.ppt_第5页
资源描述:

《第三章(2)机器语言指令概况.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、补充:IBMPC机的机器语言指令概况由于时间关系,这些补充内容就不讲了机器语言指令由操作码和地址码两部分组成。1.操作码的机器语言表示IBMPC机的机器语言指令是多字节指令,一条指令可以由1~7个字节组成。这些字节包括以下三个字段。(1)OP(操作码)字段:它通常用指令的第一个字节表示,如8位还不够,还可能占有第二个字节中的3位,除此以外的其他字节则用来表示地址码。操作码表示了指令规定的操作种类和两个操作数的来源。OPdw1(2)d(方向)字段(Bit1):只在双操作数指令中才有效。1)若d=1,表示目的操作数由REG字段确定,而源操作数则由MOD和R/M字段确

2、定。2)若d=0,表示目的操作数由MOD和R/M字段确定,而源操作数则由REG字段确定。(3)W(字/字节)字段(Bit0):1)当W=1时,表示两个操作数为字.2)当W=0时,表示两个操作数为字节。另外,当使用立即方式寻址时,操作码中用S位表示符号扩展:如立即数为8位,但要求扩展成16位时,S位为1。因此,当指令做字节操作时,SW=00;当指令有16位立即数且作字操作时SW=01;而当指令有8位立即数但需要经符号扩展成16位立即数作字操作时,则SW=11。22.寻址方式的机器语言表示IBMPC机用一个寻址方式字节表示操作数的寻址方式,它通常是机器指令的第二个字

3、节。寻址方式字节可表示如下:其中reg表示寄存器方式,在双操作数指令的情况下规定必须有一个操作数在寄存器中,该寄存器由reg字段指定。它与操作码字节中的W位相结合确定的寄存器如表1所示。Mod字段与r/m字段结合在一起确定另一个操作数的寻址方式。Mod=11为寄存器方式,由r/m的内容确定选用哪个寄存器,具体值由表2确定。modregr/m3表1reg字段所对应的寄存器45其他三种寻址方式则为操作数在存储器中时的寻址方式,由表2表示,下面分别加以说明:Mod=00为无位移量字节的存储器寻址方式。其中当r/m=110时指定为直接寻址方式,此时寻址方式字节之后跟16

4、位位移量D16,用来指出操作数的有效地址。Mod=01为带有一个位移量字节的存储器寻址方式,因此指令中应有其中D8为8位位移量,是带符号数,当用来计算有效地址时,可自动将符号扩展到16位。01Regr/mD86Mod=10为带有二个位移量字节的存储器寻址方式,因此指令中有其中D16为16位位移量,它也是带符号数。表2中每项下的段寄存器是指无段跨越前缀的情况下所使用的隐含的段寄存器。如果指令中指定段跨越前缀的情况下所使用的隐含的段寄存器。如果指令中指定段跨越前缀,则在机器语言中使用放在指令之前的一个字节来表示,如下所示:其中001及110均为段前缀标志,SEG则指

5、定四个段寄存器中的一个,如表3.3所示。01Regr/mD16低位D16高位001SEG1107表3SEG字段所对应的段寄存器SEG段寄存器00ES01CS10SS11DS8IBMPC机规定下列三种情况下不允许使用段跨越前缀:1。访问堆栈的指令(如PUSH和CALL等)使用SP作为偏移地址指针,只能使用SS作为段寄存器。2。串处理指令规定源寄存器使用SI,源串在DS段中,目的寄存器使用DI,目的串必须在ES段中。这里如果要用段跨越前缀则只能用于源而不能用于目的,也就是说,SI可以更换段寄存器,而DI则只能使用ES作为段寄存器,不允许用段跨越前缀更换。指令只能存放

6、在代码段中。93.加法的机器指令举例加法指令格式:ADDDEST,SRC指令功能:将源操作数与目的操作数相加,结果送到目的地址中。并根据相加结果设置标志寄存器的OF、SF、ZF、AF、PF和CF标志位。DEST←(DEST)+(SRC)根据不同的寻址方式,加法指令可以有三种格式:ADDmem/reg1,mem/reg2其中mem/reg1表示目的操作数地址,mem/reg2表示源操作数地址,它们都可以指定一个寄存器或一个存储单元的内容作为操作数。这些操作数可以是8位的或16位的,它们可同时指定两个寄存器,但不能同时指定两个存储单元,因此它的工作方式可以是以下三种

7、方式中的一种:10A)寄存器与寄存器的内容相加,结果存入寄存器中。B)寄存器与存储单元的内容相加,结果存入存储单元中。C)存储单元与寄存器的内容相加,结果存入寄存器中。这种寻址方式的机器语言为:其中000000为操作码。W=0为字节运算;w=1为字运算。D=0时,由mod、r/m决定目的mem/reg1,reg决定源mem/reg2;d=1时,由mod、r/m决定源mem/reg2,reg决定目的mem/reg1,虚线框中的位移量根据寻址方式确定其有无。000000dwmodregr/m112.ADDmem/reg,data把存储在代码段中的立即数与指定的寄存器

8、或存储单元的内容相加,结

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。