汇编语言第-寻址方式和指令系统

上传人:ji****72 文档编号:51469229 上传时间:2018-08-14 格式:PPT 页数:48 大小:213.50KB
返回 下载 相关 举报
汇编语言第-寻址方式和指令系统_第1页
第1页 / 共48页
汇编语言第-寻址方式和指令系统_第2页
第2页 / 共48页
汇编语言第-寻址方式和指令系统_第3页
第3页 / 共48页
汇编语言第-寻址方式和指令系统_第4页
第4页 / 共48页
汇编语言第-寻址方式和指令系统_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《汇编语言第-寻址方式和指令系统》由会员分享,可在线阅读,更多相关《汇编语言第-寻址方式和指令系统(48页珍藏版)》请在金锄头文库上搜索。

1、第2章 寻址方式和指令系统第2章 寻址方式和指令系统2.1 寻址方式2.2 数据传送类指令2.3 算术运算类指令2.4 位操作类指令2.5 串操作类指令2.6 控制转移类指令2.7 处理机控制类指令开 始第2章 寻址方式和指令系统2.3 算术运算类指令2.3.1 加法指令2.3.2 减运算指令2.3.3 乘运算指令2.3.4 除运算指令2.3.5 符号扩展指令 2.3.6 十进制调整指令返回本章首页第2章 寻址方式和指令系统2.3.1 加法指令1加1指令 INC2加指令ADD3带进位加指令ADC第2章 寻址方式和指令系统1加1指令 INC语句格式:INC OPD功能:将目的操作数加1,结果送目

2、的地址。 即(OPD)+1OPD。INC指令是一个单操作数指令,操作数可以是 寄存器或存储器操作数。如:INC BX,即(BX)+1BX。加1指令可用于对计数器和地址指针进行调整 。 第2章 寻址方式和指令系统2加指令ADD语句格式:ADD OPD, OPS功能:将目的操作数与源操作数相加,结 果存入目的地址中,源地址的内容不改变 。即(OPD)+(OPS)OPD。第2章 寻址方式和指令系统3带进位加指令ADC 语句格式:ADC OPD,OPS 功能:将目的操作数加源操作数再加低位进位, 结果送目的地址。 即(OPD)+(OPS)+CF OPD。 【例2.20】无符号双字加法运算。 Sum=0

3、234 4652H + 0F0F0F 0F0H MOVAX,4652H;(AX)=4652H ADDAX,0F0F0H;(AX)=3742H,CF=1 MOVDX,0234H;(DX)=0234H ADCDX,0F0F0H;(DX)=0F325H,CF=0返回本节第2章 寻址方式和指令系统2.3.2 减运算指令1减1指令DEC2减指令SUB3求补指令NEG4带借位减指令 SBB5比较指令 CMP第2章 寻址方式和指令系统1减1指令DEC语句格式:DEC OPD 功能:将目的操作数减1,结果送目的地址。即 (OPD)1OPD。DEC指令是一个单操作数指令,操作数可以是寄 存器或存储器操作数。如:

4、DEC CX。即(CX)1CX。减1指令DEC也一般用于对计数器和地址指针的调 整。第2章 寻址方式和指令系统2减指令SUB语句格式:SUB OPD,OPS功能:目的操作数减源操作数,结果存于 目的地址,源地址内容不变。即(OPD)(OPS)OPD【例2.21】减法运算。MOVAX ,5678H;(AX)=5678HSUBAX ,1234H;(AX)=4444HMOVBX ,3354H;(BX)=3354HSUBBX ,3340H;(BX)=0014H第2章 寻址方式和指令系统3求补指令NEG语句格式:NEG OPD功能:将目的操作数的每一位求反(包括 符号位)后加1,结果送目的地址。即(OP

5、D)+1OPD。【例2.22】求补运算。MOVAX,0FF64HNEGAL;(AX)=0FF9CHSUBAL,9DH;(AX)=0FFFFHNEGAX;(AX)=0001HDECAL;(AX)=0000HNEGAX;(AX)=0000H第2章 寻址方式和指令系统4带借位减指令 SBB语句格式:SBB OPD ,OPS功能:目的操作数减源操作数再减低 位借位CF,结果送目的地址。即(OPD)(OPS)CF OPD第2章 寻址方式和指令系统5比较指令 CMP语句格式:CMP OPD,OPS 功能:目的操作数减源操作数,结果只影响标志位,不 送入目的地址。 即(OPD)(OPS)。 【例2.24】比

6、较AL的内容数值大小。 CMPAL,50;(AL)50 JBBELOW ;(AL)=50,( AL)50AL INCAH;(AH)+1AH BELOW:返回本节第2章 寻址方式和指令系统2.3.3 乘运算指令1无符号数乘法指令MUL2有符号乘指令IMUL第2章 寻址方式和指令系统1无符号数乘法指令MUL语句格式: MUL OPS功能: 若是字节数据相乘,(AL)与OPS相乘得到字数据存入AX 中;若是字数据相乘,则(AX)与OPS相乘得到双字数据,高字存 入DX、低字存入AX中。即字节乘法:(AL)* (OPS) AX,字乘法:(AX) * (OPS ) DX,AX OPS 不能使用立即数寻址

7、方式【例2.25】无符号数0A3H与11H相乘。MOVAL,0A3H;(AL)=0A3HMOVBL, 11H;(BL)=11HMULBL ;(AX)=0AD3H第2章 寻址方式和指令系统2有符号乘指令IMUL语句格式:IMUL OPS功能:字节乘法:(AL)*(OPS)AX,字乘法:(AX )*(OPS)DX、AX。IMUL指令除计算对象是带符号二进制数外,其他都与 MUL一样,但计算结果不同。 【例2.26】有符号数0B4H 与11H相乘。MOVAL,0B4H;(AL)=B4HMOVBL,11H;(BL)=11HIMULBL ;(AX)=0FAF4H返回本节第2章 寻址方式和指令系统2.3.

8、4 除运算指令1无符号除指令DIV2有符号除指令IDIV第2章 寻址方式和指令系统1无符号除指令DIV 语句格式:DIV OPS 功能:字节除法:(AX)/(OPS) AL(商)、AH(余数) 字除法:(DX、AX)/(OPS) AX(商)、DX(余数) OPS 不能使用立即数寻址方式 【例2.27】写出实现无符号数0400H / 0B4H运算的程序段。 MOVAX,0400H;(AX)=0400H MOVBL,0B4H;(BL)=0B4H DIVBL ;商(AL)=05H,余数(AH)=7CH 第2章 寻址方式和指令系统2有符号除指令IDIV语句格式:IDIV OPS功能:字节除法:(AX)

9、/(OPS) AL(商)、AH(余数)字除法:(DX,AX)/(OPS) AX (商)、DX(余数)除法指令DIV和IDIV虽然对标志的影响未定义,但可产生溢出。OPS 不能使用立即数寻址方式。【例2.28】写出实现有符号数0400H /0B4H运算的程序段。MOVAX,0400H;(AX)=0400HMOVBX,0B4H;(BX)=0B4HIDIVBX ;(AL)=0F3H,(AH)=24H返回本节第2章 寻址方式和指令系统2.3.5 符号扩展指令 1字节转换成字指令CBW2将字转换成双字指令CWD第2章 寻址方式和指令系统1字节转换成字指令CBW语句格式:CBW功能:将AL中的符号位数据扩

10、展至AH。【例2.29】将字节数据扩展成字数据。MOVAL,0A5H;(AL)=0A5HCBW ;(AX)=0FFA5HADDAL,70H;(AL)=25HCBW ;(AX)=0025H第2章 寻址方式和指令系统2将字转换成双字指令CWD语句格式:CWD功能:将AX中的符号位数据扩展至DX 。【例2.30】将字数据扩展成双字数据。MOVDX, 0;(DX)=0MOVAX, 0FFABH;(AX)=0FFABHCWD;(DX)=0FFFFH (AX)=0FFABH返回本节第2章 寻址方式和指令系统2.5 串操作类指令串操作指令 :数据传送类指令每次只能传送一个数据 ,若要传送大批数据就需要重复编

11、程, 这样就浪费了大量的时间和空间。为此 8086提供了一组处理主存中连续存放数 据串的指令,这就是串操作指令。 返回本章首页第2章 寻址方式和指令系统1传送指令MOVS语句格式: MOVSB字节串传送 MOVSW字串传送功能:将以SI为指针的源串中的一个字节(或字)存储 单元中的数据传送至以DI为指针的目的地址中去,并自 动修改指针,使之指向下一个字节(或字)存储单元。即:(DS:SI)ES:DI。 当DF=0时,(SI)和(DI)增量。当DF=1时,(SI)和(DI)减量。第2章 寻址方式和指令系统2串比较指令CMPS 语句格式: CMPSB字节串比较 CMPSW字串比较功能:将SI所指的

12、源串中的一个字节(或字)存储单元 中的数据与DI所指的目的串中的一个字节(或字)存储 单元中的数据相减,并根据相减的结果设置标志,但结 果并不保存。即:(SI)(DI)。 修改串指针,使之指向串中的下一个元素。当DF=0时,(SI)和(DI)增量。当DF=1时,(SI)和 (DI)减量。第2章 寻址方式和指令系统3串搜索指令SCAS语句格式: SCASB字节串搜索 SCASW字串搜索功能:AL(字节)或AX(字)中的内容与DI所指的目的 串中的一个字节(或字)存储单元中的数据相减,根据 相减结果设置标志位,结果不保存,即: 字节操作:(AL)(DI),字操作:(AX )(DI)。 修改指针使之

13、指向串中的下一个元素。当DF=0时,(DI)增量。当DF=1时,(DI)减量。第2章 寻址方式和指令系统4从源串中取数指令LODS语句格式: LODSB从字节串中取数 LODSW从字串中取数功能:将SI所指的源串中的一个字节(或字)存储单元 中的数据取出来送入AL(或AX)中。即: 字节操作:(SI)AL,字操作:(SI) AX。 修改指针SI,使它指向串中的下一个元素。当DF=0时,(SI)增量。当DF=1时,(SI)减量。 第2章 寻址方式和指令系统5往目的串中存数指令STOS语句格式: STOSB往字节串中存数(2)STOSW往字串中存数功能:将AL或AX中的数据送入DI所指的目的串中的

14、字节 (或字)存储单元中。即: 字节操作:(AL)DI,字操作:(AX) DI。 修改指针DI,使之指向串中的下一个元素。当DF=0时,(DI)增量)。当DF=1时,(DI)减量。第2章 寻址方式和指令系统6重复前缀指令REP REPZ REPNZ(1)REP REP前缀用在MOVS、STOS 、LODS指令前。功能:每执行一次串指令(CX)1,直到(CX)=0,重复执行结 束。(2)REPZ 该指令一般用在CMP、SCAS指令前。功能:每执行一次串指令(CX)1,并判断ZF标志是否为0,只 要(CX)=0或ZF=0,则重复执行结束。(3)REPNZ 该指令一般用在CMPS、SCAS 指令前。

15、功能:每执行一次串指令(CX)1,并判断ZF标志是否为0,只 要(CX)=0或ZF=1,则重复执行结束。第2章 寻址方式和指令系统2.6 控制转移类指令2.6.1 条件转移指令2.6.2 无条件转移指令2.6.3 循环指令 2.6.4 子程序调用指令2.6.5 中断指令返回本章首页第2章 寻址方式和指令系统2.6.1 条件转移指令1简单条件转移指令2无符号数条件转移指令3. 有符号数条件转移指令 它们都有通用的语句格式和功能。语句格式: 标号: 操作符 短标号功能:如果条件满足,则(IP)位移量 IP。第2章 寻址方式和指令系统1简单条件转移指令第2章 寻址方式和指令系统第2章 寻址方式和指令系统2无符号数条件转移指令表2.2 无符号数条件转移指令第2章 寻址方式和指令系统【例2.53】比较无符号数大小,将较大的数存放AX 寄存器。CMPAX, BX ;(AX)(BX)JNBNEXT ;若AX=BX,转移到NEXTXCHG AX,BX ;若AX=BX,转移到NEXTXCHG AX,BX;若AXBX,交换NEXT:返回本节第2章 寻址方式和指令系统2.6.2 无条件转移指令表2.4 无条件转移指

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号