IBM汇编语言程序设计课件第3章.ppt

IBM汇编语言程序设计课件第3章.ppt

ID:57057678

大小:396.00 KB

页数:112页

时间:2020-07-30

IBM汇编语言程序设计课件第3章.ppt_第1页
IBM汇编语言程序设计课件第3章.ppt_第2页
IBM汇编语言程序设计课件第3章.ppt_第3页
IBM汇编语言程序设计课件第3章.ppt_第4页
IBM汇编语言程序设计课件第3章.ppt_第5页
资源描述:

《IBM汇编语言程序设计课件第3章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、指令系统一组指令的集合第3章80x86的指令系统和寻址方式操作码操作数...操作数指令寻址方式与数据有关的寻址方式与转移地址有关的寻址方式1.8086的寻址方式与数据有关的寻址方式:以MOV指令为例立即寻址MOVAX,3069H寄存器寻址MOVAL,BH直接寻址MOVAX,[2000H]寄存器间接寻址MOVAX,[BX]寄存器相对寻址MOVAX,COUNT[SI]基址变址寻址MOVAX,[BP][DI]相对基址变址寻址MOVAX,MASK[BX][SI]存储器寻址(1)立即寻址方式*——操作数在

2、指令中给出指令格式:MOVAL,5MOVAX,3064HMOVAL,‘A’*只能用于SRC字段MOV40H,AL*SRC和DST的字长一致MOVAH,3064H(2)寄存器寻址方式*—操作数在指定的寄存器中MOVAX,BXMOVAL,BHMOVAX,3064H*字节寄存器只有AHALBHBLCHCLDHDL*SRC和DST的字长一致MOVAH,BX*CS不能用MOV指令改变MOVCS,AX(3)直接寻址方式*—有效地址EA由指令直接给出例:MOVAX,[2000H]EA=2000H,假设(D

3、S)=3000H,那么PA=32000H*隐含的段为数据段DS*可使用段跨越前缀MOVAX,ES:[2000H]*操作数地址可由变量(符号地址)表示,但要注意VALUEDB10变量的属性MOVAH,VALUEMOVAX,VALUEMOVAX,WORDPTRVALUE503032000AHAL3050(AX)=3050H寄存器间接寻址*—EA在基址寄存器(BX/BP)或变址寄存器(SI/DI)中MOVAX,[BX]PA=16d(DS)+(BX)MOVAX,ES:[BX]PA=16d(ES)+(

4、BX)MOVAX,[BP]PA=16d(SS)+(BP)*不允许使用AX、CX、DX存放EAMOVAX,[CX]*SRC和DST的字长一致MOVDL,[BX];[BX]指示一个字节单元MOVDX,[BX];[BX]指示一个字单元*适于数组、字符串、表格的处理有效地址=(BX)(BP)8位(SI)16位(DI)+位移量(5)寄存器相对寻址方式*指令格式:MOVAX,COUNT[SI]或MOVAX,[COUNT+SI]假设(DS)=3000H,(SI)=2000H,COUNT=3000H,则:PA=

5、35000H假设(35000H)=1234H,那么(AX)=1234H*适于数组、字符串、表格的处理(6)基址变址寻址方式*指令格式:MOVAX,[BX][DI]MOVAX,[BX+DI]MOVAX,ES:[BX][SI]*适于数组、字符串、表格的处理*必须是一个基址寄存器和一个变址寄存器的组合MOVAX,[BX][BP]MOVAX,[SI][DI]有效地址=(BX)(SI)(BP)(DI)+(7)相对基址变址寻址方式MOVAX,MASK[BX][SI]或MOVAX,MASK[BX+SI]或MO

6、VAX,[MASK+BX+SI]有效地址=(BX)(SI)8位(BP)(DI)16位++位移量访问存储器的方式默认的段寄存器可跨越的段寄存器偏移地址取指令CS无IP堆栈操作SS无SP一般数据访问DSCSESSS有效地址EABP作为基址的寻址SSCSDSESBP串操作的源操作数DSCSESSSSI串操作的目的操作数ES无DI段寄存器的使用规定例:编写一段显示字符串STRING的程序DATASEGMENTSTRINGDB‘HAPPYNEWYEAR!’,0DH,0AH,‘$’COUNTDW17DATAEN

7、DS(1)直接寻址movdl,stringmovah,2int21h;显示字符‘H’movdl,string+1movah,2int21h;显示字符‘A’::(2)寄存器间接寻址movcx,count;movcx,17movbx,offsetstring;string的偏址bxNext:movdl,[bx]movah,2int21h;显示一个字符incbxloopnext;循环指令(3)寄存器相对寻址movcx,count;movcx,17movsi,0Next:movdl,string[si];

8、movdl,[string+si]movah,2int21h;显示一个字符incsiloopnext;循环指令(4)基址变址寻址movcx,count;movcx,17movbx,offsetstring;string的偏址bxmovsi,0Next:movdl,[bx][si];movdl,[bx+si]movah,2int21h;显示一个字符incsiloopnext;循环指令(5)DOS显示字符串功能movdx,offsetstring;string的偏址d

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

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

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