第3-章-基本指令系统.ppt

第3-章-基本指令系统.ppt

ID:61916703

大小:1.26 MB

页数:41页

时间:2021-03-29

第3-章-基本指令系统.ppt_第1页
第3-章-基本指令系统.ppt_第2页
第3-章-基本指令系统.ppt_第3页
第3-章-基本指令系统.ppt_第4页
第3-章-基本指令系统.ppt_第5页
资源描述:

《第3-章-基本指令系统.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第3章基本指令系统赵艳红汇编语言程序设计第3章基本指令系统3.1数据传送指令3.2算术运算指令3.3逻辑运算指令3.4移位指令3.1数据传送指令MOVPUSHPOPLESXLAT(1)传送指令MOV语句格式:MOVOPD,OPS功能:将源操作数传送入目的地址,源地址内容不变。即(OPS)→OPD。下图描述了MOV指令在传送数据时允许传送的路径及类型。指令格式例子MOVreg,immMOVBL,44MOVmem,immMOV[DI],78HMOVreg,memMOVAX,[BX]MOVreg1,reg2MOVBX,AXMOVmem,re

2、gMOV[2000H],CX注意:MOV指令不破坏源操作数的内容。MOV指令不允许从存储单元直接传送到存储单元。源操作数和目的操作数长度应该相等。(2)进栈指令PUSH堆栈堆栈是以“后进先出”方式工作的一个存储区,位于堆栈段。它们只有一个出入口,所以堆栈段中有一个堆栈指针SP,SP的内容任何时候都指向当前的栈顶。在IBMPC机中,堆栈的存取必须以字为单位。语句格式:PUSHOPS功能:将寄存器、段寄存器或存储器中的一个字数据压入堆栈,堆栈指针减2。例:PUSHAX(若(AX)=2107H),则PUSHAX指令的执行情况如下图:)堆栈在

3、计算机工作中起着重要作用,如果在程序中要用到某些寄存器,但它的内容却在将来有用,这时就可以用堆栈把它们保存下来,然后到必要时再恢复其原始内容。(3)出栈指令POP语句格式:POPOPD功能:将栈顶元素弹出送至某一寄存器、段寄存器(除CS外)或存储器,堆栈指针加2。从POP指令功能可看出,该指令为PUSH指令的逆过程。(4)传送偏移地址指令LEA语句格式:LEAREG,SRC功能:指令把源操作数的有效地址送到指定的寄存器。SRC是一个存储单元。例:设SUM是定义的一存储单元则LEABX,SUM表示将SUM存储单元对应的偏移地址送入BX(

4、5)XLAT换码指令指令格式:XLAT功能:(AL)((BX)+(AL))(将AL和BX寄存器内容之和为偏移地址的存储单元内容,送入AL寄存器。)该指令常用做通过查表方式进行转换工作。如:ASCII码和BCD码的相互转换。可以使AL中的一个值变换为内存表格中的一个值。指令使用前的准备工作:①定义一个表;②先把表的首地址存入BX寄存器;③AL中存放一个需要转换的数值。指令执行时将BX和AL中的值相加,将得到的值作为地址,然后将此地址对应的单元中的值取到AL中(示意如下)。BXAL(5)+BX表的首址BX+519AL(19H)013.2算

5、术运算指令算术运算指令除进行指定运算,并根据操作结果的某些特征设置标志位,大多标志位是条件转移指令进行转移的判断依据。CF进位标志若加法操作中有进位或减法操作中有借位,则CF=1,否则CF=0。SF符号标志算数或逻辑运算结果为正,SF置0;结果为负,SF置1。ZF零标志当运算结果为0时,将使该标志设置为1,否则设置为0。OF溢出标志操作数超出了机器能表示的范围称溢出,此时OF=1,否则OF=0。两个操作数的符号相同而结果的符号与之相反,OF置1;否则,置0。3.2.1加法指令(1)加1指令INC(2)加指令ADD(1)加1指令INC语

6、句格式:INCOPR功能:将除段寄存器以外任何存储器或存储单元内容加1。例:INCBX,即(BX)+1→BX。(2)加指令ADD语句格式:ADDDST,SRC功能:将目的操作数与源操作数相加,结果存入目的地址中,源地址的内容不改变。即(SRC)+(DST)→(DST)。例:ADDAL,BL3.2.2减运算指令(1)减1指令DEC(2)减指令SUB(3)比较指令CMP(1)减1指令DEC语句格式:DECOPR功能:将目的操作数减1,结果送目的地址。即(OPR)-1→(OPR)DEC指令是一个单操作数指令,操作数可以是寄存器或存储器操作数

7、。如:DECCX即(CX)-1→(CX)。减1指令DEC也一般用于对计数器和地址指针的调整。(2)减指令SUB语句格式:SUBDST,SRC功能:目的操作数减源操作数,结果存于目的地址,源地址内容不变。即(DST)-(SRC)→(DST)例:SUBAL,BL(3)比较指令CMP语句格式:CMPOPR1,OPR2功能:目的操作数减源操作数,结果只影响标志位,不送入目标操作数。例:CMPAL,50;(AL)-50JBBELOW;(AL)<50,转到BELOW处执ADDAL,2BELOW:…注:JB表示两个无符号数比较,若CMPX,Y中X<

8、Y转移.3.3逻辑运算指令(1)逻辑非指令NOT(2)逻辑与指令(逻辑乘指令)AND(3)测试指令TEST(4)逻辑或指令(逻辑加指令)OR(1)逻辑非指令NOT语句格式:NOTOPR功能:将目的地址中的内容逐位取反后送

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

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

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