- 1、本文档共45页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
组成与汇编4-3剖析
【例4-46】 由3个字构成的一个无符号数从高位到低位依次存放在M+4,M+2,M字单元中,若要将该数右移一位,则可用以下程序段实现: SHR M+4,1 RCR M+2,1 RCR M,1 如下图所示,SHR指令将M+4字单元的最低位移至CF中。第2条指令RCR将CF与M+2字单元构成一个17位的数进行一次循环右移,将M+4单元右移出的位通过CF移至M+2单元的最高位,而M+2中的最低位又移至CF。在第3条指令执行后,就完成将3个字的数右移一位。 * 4.串操作类指令 MOVS(MOVe String) 串传送。 CMPS(CoMPare String) 串比较。 SCAS(SCAn String) 串扫描。 LODS(LOaD from String) 取串。 STOS(STOre into String) 存串。 INS(INput from port to String) 串输入。 OUTS(OUTput String to port) 串输出。 与上述基本指令配合使用的前缀有: REP(REPeat) 重复。 REPE/REPZ(REPeat while Equal/Zero) 相等/为零则重复。 REPNE/REPNZ(REPeat while Not Equal/Not Zero)不相等/不为零则重复。 * (1)取串指令(Load String) 指令格式:LODS 源串 LODSB ; 取字节串 LODSW ; 取字串 LODSD ; 取双字串(80386及其后继机型可用) 指令功能: 字节操作 AL ?(DS:(SI/ESI)),SI/ESI ?(SI/ESI) 1 字操作 AX ?(DS:(SI/ESI)),SI/ESI ?(SI/ESI) 2 双字操作 EAX ?(DS:(SI/ESI)),SI/ESI ?(SI/ESI) 4 该指令把由源变址寄存器指向的数据段中某单元(字节/字/双字)的内容送到AL、AX或EAX中,并根据方向标志DF和数据类型(字节、字或双字)修改源变址寄存器的内容。若DF ? 0表示串操作按地址递增的方向处理,则修改SI/ESI内容用“+”; 若DF ? 1表示串操作按地址递减的方向处理,则修改SI/ESI内容用“-”。该指令也不影响标志位。 LODS指令如采用16位寻址,则源变址寄存器只能使用SI;如采用32位寻址,源变址寄存器只能使用ESI。 * 2.算术运算类指令 算术运算类指令包括加、减、乘、除4种指令。这类指令可以对字节、字或双字数据进行运算,参加运算的数可以是无符号数或带符号数。由于80x86提供十进制数运算校正指令,因此参加运算的数也可以是BCD码表示的十进制数。这类指令中既有双操作数指令,也有单操作数指令。如前所述,双操作数指令的两个操作数不能同时为存储器操作数,且只有源操作数可为立即数。单操作数指令不允许使用立即数寻址方式。 (1)加法运算指令 ADD(ADD) 加法 ADC(ADD with Carry) 带进位加法 INC(INCrement) 加1 XADD(eXchange and ADD) 交换并相加 * ① ADD加法指令 指令格式:ADD DEST,SRC 指令功能:DEST ?(SRC)+( DEST),即源操作数与目的操作数相加,其和送入目的地址中。并根据相加结果设置FLAGS的OF、SF、ZF、AF、PF和CF标志位。该指令执行后,源操作数保持不变。 【例4-29】 加法指令的常用格式有: ADD BX,SI ADD DA_WORD,0F8CH ADD DL,TAB[BX] ADD EAX,EDX * 下面以指令“ADD DL,0A4H”为例,给出该指令的相加及标志位设置过程。设DL的内容为0E5H: 结果不为零,则ZF ? 0; 结果无溢出,则OF ? 0; 结果中有奇数个1,则PF ? 0。 需要指出,溢出位OF表示带符号数的溢出,它是根据数的符号及其变化来设置的。而CF位可以表示无符号数的溢出。 * ② ADC带进位加法指令
您可能关注的文档
- 项目申报答辩.ppt
- 项目申报书格式.doc
- 项目监理年终工作总结.doc
- 项目物资管理.ppt
- 中考语文专题复习九_信息提炼.ppt
- 项目竣工交付物业验收接管移交清单(详细).doc
- 项目监理实施细则思源.doc
- 组合图形的周长和面积.ppt
- 项目管理6-职责.doc
- 组合图形面积.ppt
- 2025年西班牙语DELEN级写作冲刺试卷:写作情感与态度.docx
- 2025年护士执业资格考试题库:护理伦理学专项护理伦理实践试题.docx
- 2025年网络编辑师考试网络编辑版权保护试题.docx
- 2025年电子商务师职业资格考试题库:电子商务平台运营与数据分析案例分析实战试题.docx
- 2025年护士执业资格考试题库(外科护理学专项)护理伦理与法规试题解析.docx
- 2025年西班牙语DELE写作冲刺试卷:教育话题篇.docx
- 2025年西班牙语DELE考试听力国际政治听力试卷.docx
- 2025年拍卖师专业资格考试备考资料题集.docx
- 2025年社区工作者招聘考试试卷:社区工作者工作创新挑战与机遇.docx
- 2025年软件设计师考试软件工程跨学科研究试卷.docx
文档评论(0)