网站大量收购独家精品文档,联系QQ:2885784924

汇编语言指令及几个例题.pptVIP

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

1·数据传送指令

一.通用数据传送指令

1.MOV

对于MOV指令来说需要注意一下几点:

a:立即数不能作为目的操作数。例如:

MOV5,BX

b:立即数不能送段存放器〔ES〔附加段〕,SS

〔堆栈段〕,DS〔数据段〕,CS〔代码段〕〕

例如:MOVES,1234H

c:目标存放器不能为CS〔因为在汇编语言中

代码段是默认的如P91页的此类程序〕例如:

MOVCS,BX

d:两个段存放器之间不能直接传送

例如:MOVES,DS

•e:两个存储器操作数之间不能直接传送

•例如MOV[AX],[BX]

•f:在传送过程中要注意长度匹配

•例如:MOVBL,AX

•MOVCX,BL

•二.堆栈操作指令

•a.进栈指令PUSH

•PUSH后的源操作数只能是16位的存放器或存储器操作数。

例如:

•PUSHAX

•PUSHAL

•PUSH[BX]

•其中第二个是错误的,注意BX在这里代表的的是一个

地址[BX]代表的事这个地址中所存储的数。所以第三个指

令是将[BX]中的数压入堆栈,其中这个指令存在歧义。在

这里默认了[BX]是16位的。

•指令在执行过程中时先将指针SP-2〔即修改栈顶指针〕

再将源操作数压入栈顶

•b:出栈指令POP

•POP的源操作数要注意额地方和PUSH一样但是要特

别注意的是POPCS这条指令时错误的。

•综合这两条指令在考题中以这种题型出现:

•例如:AX=1234H,BX=5678H,CX=9ABCH,SP=2000H。

•问执行以下指令后AX,BX中的值和SP=?

•PUSHAX

•PUSHBX

•PUSHCX

POPAX

POPBX

最后AX=9ABCH,BX=5678,SP=1FFEH

c:地址传送指令LEA

LEAREG,SRC

其中源操作数只能是存储器操作数即[?]型.例

如:

LEABX,[BX]

这种指令主要在变成题较广:

例如:DATASEGMENT

DATADW10DUP(?)

DATAENDS

这是一个定义了一个以DATA为首地址的10个

字〔20个字〕型的空间

•d:类型转换指令〔略〕

•三.二进制指令

•a:加法指令ADD,带进位加法指令ADC。

•ADDDST,SRC实现DST=DST+SRC

•ADCDST,SRC实现DST=DST+SRC+CF

•减法指令SUB,带进位减法指令SBB。

•SUBDST,SRC实现DST=DST-SRC

•SBBDST,SRC实现DST=DST-SRC-CF

•要特别注意的是源操作数和目的操作数的长度必须得匹配,

如ADDBX,AX

•而ADDBL,AX

•是错误的。其次段存放器不能参加算术运算如:

•ADDES,BX.

•b:INC,DEC,NEG等指令其中尤其注意NEG指令

•NEGBX实现的是0-BX=BX

•通过LEAAX,DATA

•MOVDS,AX

•就可以将DATA的地址传送到DS的段基址中

•同时,可以用SEG来获得起始地址,用OFFSET来获取偏

移地址。例如:

•MOVSI,OFFSETDI

•MOVBX,SEGDATA

•c:二进制乘除法指令

•无符号乘法指令MUL,无符号除法指令DIV

•如果是字节型乘法〔一个字节等于8位,如AL,BL等〕那

么乘积放在AX中;如果是字型〔一个字为两个字节〕乘

法那么乘积在DS:AX中

•无符号除法是如果是字节型除法那么商在AL中,余

数在AH中;如果是字型除法那么商在AX中,余数在DX中;

•特别注意的是,乘除法指令不能直接与立即数想乘

除。例如要实现25乘以2

文档评论(0)

liuzhouzhong + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档