主讲人 刘雪洁.ppt

主讲人 刘雪洁.ppt

ID:52039752

大小:353.00 KB

页数:124页

时间:2020-03-30

主讲人 刘雪洁.ppt_第1页
主讲人 刘雪洁.ppt_第2页
主讲人 刘雪洁.ppt_第3页
主讲人 刘雪洁.ppt_第4页
主讲人 刘雪洁.ppt_第5页
资源描述:

《主讲人 刘雪洁.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、主讲人刘雪洁AssemblyLanguageProgramming汇编语言程序设计0第2章80x86的指令系统2.1指令格式2.2寻址方式2.3数据传送类指令2.4算术运算类指令2.5位操作类指令2.6串操作类指令2.7控制转移类指令2.8处理机控制类指令12.1指令格式计算机是通过执行指令序列来解决问题的。计算机的指令系统就是指该计算机能够执行的全部指令的集合。指令的一般格式:[标号:]操作符OPD,OPS[;注释]算术运算和位操作类指令的部分单操作数指令的格式:[标号:]操作符OPD[;注释]22.2寻址方式2.2.1立即寻址2.2.2寄存器寻址2.2.3直接寻址2.2.4寄存器间接寻址

2、2.2.5变址寻址2.2.6基址加变址寻址2.2.7跨段问题2.2.8与转移地址有关的寻址方式32.2.1立即寻址立即寻址方式中,指令操作码和操作数都在存储器代码段中。立即数可以是用8位或16位二进制补码表示的有符号数。功能:常用于给寄存器赋初值,只能用于源操作数字段,且源操作数与目的操作数长度应一致。4【例】MOVAX,10执行后(AX)=?该例中源操作数为立即寻址方式,立即数为10,存放在指令的下一单元。图形表示:执行:10→AX执行后:(AX)=000AH52.2.2寄存器寻址寄存器寻址方式的操作数在指令指明的寄存器中。【例】下列程序执行后,(AX)=?,(BX)=?MOVAX,123

3、4HMOVBX,5678HADDAX,BX该程序中MOV指令为数据传送指令操作符,ADD指令为加法指令操作符,三条指令皆为双操作数指令。第一、二条指令AX、BX皆为目的操作数地址,为寄存器寻址方式。第三条指令中,AX为目的操作数地址,BX为源操作数地址。源地址和目的地址皆为寄存器寻址方式。6图形表示:执行:1234H→AX5678H→BX(AX)+(BX)→AX执行后:(AX)=68ACH,(BX)=5678H72.2.3直接寻址汇编格式:①含有变量的地址表达式。②段寄存器名:[EA]。功能:指令下一字单元的内容是操作数的有效(偏移)地址EA。图形表示:8【例】寄存器和存储器内容为:(AX)

4、=1212H,BUF为数据段定义的变量,其偏移地址是2000H,(DS)=3000H,(32000H)=4545H。执行指令:MOVAX,BUF(MOVAX,[2000H])执行后:(AX)=?图形表示:执行:(32000H)→AX执行后:(AX)=4545H92.2.4寄存器间接寻址寄存器间接寻址方式中,寄存器的内容为操作数的偏移地址EA,操作数在存储器中。汇编格式:[R]功能:操作数存放在存储器,寄存器R存放操作数的偏移地址EA。10偏移地址EA计算方法如下:EA=[SI]SI作间址寄存器。[DI]DI作间址寄存器。[BX]BX作间址寄存器。[BP]BP作间址寄存器。11执行指令:MOV

5、AX,[BP]执行后:(AX)=?图形表示如下:执行:(20030H)→AX执行后:(AX)=1234H【例】寄存器和存储器内容分别为:(AX)=0,(BP)=0030H,(SS)=2000H,(20030H)=1234H122.2.5变址寻址变址寻址方式操作数的偏移地址EA为寄存器的内容加位移量,操作数在存储器中,又称为寄存器相对寻址。汇编格式:X[R](X表示位移量,是8位或16位二进制补码表示的有符号数)功能:操作数存放在存储器,寄存器R的内容加位移量X为操作数的偏移地址EA。图形表示如下:13偏移地址EA计算方法如下:14【例】设执行前:(AX)=0040H,(BX)=0030H,(

6、DS)=2000H,(20036H)=0050H执行指令:ADD6[BX],AX执行后:(AX)=?,(BX)=?,(DS)=?,(20036H)=?图形表示如下:执行:(20036H)+(AX)→20036H执行后:(AX)=0040H,(BX)=0030H,(DS)=2000H,(20036H)=0090H。152.2.6基址加变址寻址基址加变址寻址方式中,操作数的偏移地址EA是指令中基址寄存器内容、变址寄存器内容、位移量X三项之和,操作数在存储器中。汇编格式:X[BR+IR]功能:操作数存放在存储器,BR的内容加IR的内容加位移量X是操作数的偏移地址EA。16操作数偏移地址EA计算方法

7、如下图形表示:172.2.7跨段问题按前述规定:若选用BP作间址基址寄存器、变址寄存器或基址寄存器,则操作数在堆栈段,操作数的物理地址PA由堆栈段寄存器SS的内容左移4位与偏移地址EA相加后形成;否则,操作数在数据段,操作数的物理地址PA由数据段寄存器DS的内容左移4位与偏移EA相加后形成。该规定为系统默认状态。当要否定默认状态,到非约定段寻找操作数时,必须用跨段前缀指明操作数的段寄存器名。18汇编格式:段寄

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

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

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