微机与单片机汇编常用指令教程方案.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据传送指令 一 通用数据传送指令 指令英文全拼翻译MOVMove传送PUSHPush onto the stack进栈POPPop from the stack出栈XCHGExchange交换MOV指令为双操作数指令,两个操作数中不能全为内存操作数 格式:MOV DST,SRC  执行操作:dst = src 注:1.目的数可以是通用寄存器, HYPERLINK /view/1223079.htm \t _blank 存储单元和段寄存器(但不允许用CS段寄存器). 2.立即数不能直接送段寄存器 3.不允许在两个存储单元直接传送数据 4.不允许在两个段寄存器间直接传送信息 PUSH入栈指令及POP出栈指令:  HYPERLINK /view/93201.htm \t _blank 堆栈操作是以“后进先出”的方式进行数据操作。 格式:PUSH SRC //Word 执行操作:(SP)-(SP)-2 ((SP)+1,(SP))-(SRC) 注:1.入栈的操作数除不???许用立即数外,可以为通用寄存器,段寄存器(全部)和存储器。 2.入栈时高位字节先入栈,低位字节后入栈。 格式:POP DST //Word 执行操作:(DST)-((SP+1),(SP)) (SP)-(SP)+2 注:1.出栈操作数除不允许用立即数和CS段寄存器外,可以为通用寄存器,段寄存器和存储器。 2.执行POP SS指令后,堆栈区在存储区的位置要改变。 3.执行POP SP 指令后,栈顶的位置要改变。 XCHG(eXCHanG)交换指令: 将两操作数值交换。 格式:XCHG OPR1,OPR2 //Byte/Word 执行的操作:(OPR1)--(OPR2) 注:1.必须有一个操作数是在寄存器中 2.不能与段寄存器交换数据 存储器与存储器之间不能交换数据。 二 累加器专用传送指令 指令英文全拼翻译INInput输入OUTOutput输出XLATTranslate换码IN?输入指令 长格式为:IN AL,PORT(字节) IN AX,PORT(字) 执行的操作:(AL)-(PORT)(字节) (AX)-(PORT+1,PORT)(字) 短格式为:IN AL,DX(字节) IN AX,DX(字) OUT?输出指令 长格式为:OUT PORT,AL(字节) OUT PORT,AX(字) 执行的操作:(PORT)-(AL)(字节) (PORT+1,PORT)-(AX)(字) 短格式为:OUT DX,AL(字节) OUT DX,AX(字) 执行的操作:((DX))-(AL)(字节) ((DX)+1,(DX))-AX(字) XLAT(TRANSLATE)换码指令: 把一种代码转换为另一种代码。 格式:XLAT (OPR 可选) //Byte 执行操作:(AL)-((BX)+(AL)) 注:指令执行时只使用预先已存入BX中的表格首地址,执行后,AL中内容则是所要转换的代码。 三 有效地址送寄存器指令 指令英文全拼翻译LEALoad effective address有效地址送寄存器LDSLoad DS with Pointer指针送寄存器和DSLESLoad ES with Pointer指针送寄存器和ESLEA(Load Effective Address) : 有效地址传送寄存器指令 格式:LEA REG,SRC //指令把源操作数SRC的有效地址送到指定的寄存器中。 执行操作:(REG)-SRC 注:1. SRC只能是各种寻址方式的存储器操作数,REG只能是16位寄存器 2.MOV BX,OFFSET OPER_ONE 等价于LEA BX,OPER_ONE 3.MOV SP,[BX] //将BX间接寻址的相继的二个存储单元的内容送入SP中 4.LEA SP,[BX] //将BX的内容作为存储器有效地址送入SP中 LDS(Load DS with pointer):  HYPERLINK /view/159417.htm \t _blank 指针送寄存器和DS指令 格式:LDS REG,SRC //常指定SI寄存器。 执行的操作:(REG)-(SRC) (DS)-(SRC+2) 注:把源操作数指定的4个相继字节送到由指令指定的寄存器及DS寄存器中。该指令常指定SI寄存器。 LES(Load ES with pointer) 指针送寄存器和ES指令 格式:LES REG,SRC //常指定DI寄存器 执行的操作:(REG)-(SRC) (ES)-(SRC+2)//与LDS大致相同,不同之处是将ES代替DS而已。 注:把源操作数指定的4个相继字节送到由指

文档评论(0)

1112111 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档