微型计算机系统与接口:ch(10)

微型计算机系统与接口:ch(10)

ID:40203401

大小:706.50 KB

页数:108页

时间:2019-07-25

微型计算机系统与接口:ch(10)_第1页
微型计算机系统与接口:ch(10)_第2页
微型计算机系统与接口:ch(10)_第3页
微型计算机系统与接口:ch(10)_第4页
微型计算机系统与接口:ch(10)_第5页
资源描述:

《微型计算机系统与接口:ch(10)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

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

2、OVAX,3064HMOVAL,‘A’*只能用于SRC字段MOV40H,AL*SRC和DST的字长一致MOVAH,3064H3(2)寄存器寻址方式*—操作数在指定的寄存器中MOVAX,BXMOVAL,BHMOVAX,3064H*字节寄存器只有AHALBHBLCHCLDHDL*SRC和DST的字长一致MOVAH,BX*CS不能用MOV指令改变MOVCS,AX4(3)直接寻址方式*—有效地址EA由指令直接给出例:MOVAX,[2000H]EA=2000H,假设(DS)=3000H,那么PA=32000H*隐含的段为数据段DS*可使用段跨越前

3、缀MOVAX,ES:[2000H]*操作数地址可由变量(符号地址)表示,但要注意VALUEDB10变量的属性MOVAH,VALUEMOVAX,VALUEMOVAX,WORDPTRVALUE503032000AHAL3050(AX)=3050H5寄存器间接寻址*—EA在基址寄存器(BX/BP)或变址寄存器(SI/DI)中MOVAX,[BX]PA=16d(DS)+(BX)MOVAX,ES:[BX]PA=16d(ES)+(BX)MOVAX,[BP]PA=16d(SS)+(BP)*不允许使用AX、CX、DX存放EAMOVAX,[CX]*SR

4、C和DST的字长一致MOVDL,[BX];[BX]指示一个字节单元MOVDX,[BX];[BX]指示一个字单元*适于数组、字符串、表格的处理6有效地址=(BX)(BP)8位(SI)16位(DI)+位移量(5)寄存器相对寻址方式*指令格式:MOVAX,COUNT[SI]或MOVAX,[COUNT+SI]假设(DS)=3000H,(SI)=2000H,COUNT=3000H,则:PA=35000H假设(35000H)=1234H,那么(AX)=1234H*适于数组、字符串、表格的处理7(6)基址变址寻址方式*指令格式:MOVAX,[BX][DI]M

5、OVAX,[BX+DI]MOVAX,ES:[BX][SI]*适于数组、字符串、表格的处理*必须是一个基址寄存器和一个变址寄存器的组合MOVAX,[BX][BP]MOVAX,[SI][DI]有效地址=(BX)(SI)(BP)(DI)+8(7)相对基址变址寻址方式MOVAX,MASK[BX][SI]或MOVAX,MASK[BX+SI]或MOVAX,[MASK+BX+SI]有效地址=(BX)(SI)8位(BP)(DI)16位++位移量9访问存储器的方式默认的段寄存器可跨越的段寄存器偏移地址取指令CS无IP堆栈操作SS无SP一般数据访问DSCSES

6、SS有效地址EABP作为基址的寻址SSCSDSESBP串操作的源操作数DSCSESSSSI串操作的目的操作数ES无DI段寄存器的使用规定10例:编写一段显示字符串STRING的程序DATASEGMENTSTRINGDB‘HAPPYNEWYEAR!’,0DH,0AH,‘$’COUNTDW17DATAENDS(1)直接寻址movdl,stringmovah,2int21h;显示字符‘H’movdl,string+1movah,2int21h;显示字符‘A’::11(2)寄存器间接寻址movcx,count;movcx,17movbx,offsets

7、tring;string的偏址bxNext:movdl,[bx]movah,2int21h;显示一个字符incbxloopnext;循环指令(3)寄存器相对寻址movcx,count;movcx,17movsi,0Next:movdl,string[si];movdl,[string+si]movah,2int21h;显示一个字符incsiloopnext;循环指令12(4)基址变址寻址movcx,count;movcx,17movbx,offsetstring;string的偏址bxmovsi,0Next:movdl,[bx][si];m

8、ovdl,[bx+si]movah,2int21h;显示一个字符incsiloopnext;循环指令(5)DOS显示字符串功能movdx,offset

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

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

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