- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章 寻址方式与指令系统;3.1 寻址方式; 3.1.2 寄存器寻址
操作数存放在指令指定的8位、16位寄存器中。对于16位的操作数,寄存器可以是AX、BX、CX、DX、SI、DI、SP和BP等
例3-2 寄存器寻址
MOV AX,BX ; 将BX中的内容送入AX中,
BX中的内容保持不变
MOV SI,DI ;将DI中的内容送入SI中,
DI中的内容保持不变
为避免指令执行时间过长,双操作数指令一般必须有一个操作数使用寄存器寻址。寄存器寻址常用来存放运算对象、中间结果、运算结果、计数值等。
正误辨别:
MOV DX,BL ;错,要求长度相等,可改为MOV DL,BL
MOV BL,CX ;错,要求长度相等,可改为MOV BX,CX
MOV ES,DS ;错,不能在段寄存器之间直接传送,
需通过第三者AX:MOV AX,DS
MOV ES,DS
;3.1.3 直接寻址
直接寻址指的是操作数在存储器中的有效地址EA直接包含在指令中,书写时有效地址加上中括号
例3-3 存储器直接寻址
MOV DL,[1000H] ;1000H作为y,默认和DS段配合,将DS段的
1000H一个字节单元的内容即一个字节送入DL寄存器中
MOV [1000H],DL ;方向相反,即从寄存器到内存单元
MOV AX,[1000H] ;注意与立即数寻址指令MOV AX,1000H的
区别:1000H作为y,默认和DS段配合,将DS段的1000H
和1001H两个字节单元的内容即一个字送入AX寄存器中
MOV AX,BUF ;将DS段内以有效地址BUF,现在看不懂的
(符号地址)起始的两个单元的内容送入AX寄存器中
直接寻址可以方便地访问存储器中某一数据存储单元,被访问的存储单元一般由变量或含变量的地址表达式给出地址。
注意:[y]方括号里的y值作为偏移地址,跟默认的x配合得到物理地址z,访问z对应的一个字节或者一个字(字还是一个字节取决于另一个操作数是字节还是字),还要注意高高低低。;3.1.4 寄存器间接寻址
MOV AX,BX ;寄存器寻址
MOV AX,[BX] ;寄存器间接寻址
BX寄存器的值作为y,与默认的DS段寄存器作为x配合得到z,再将z指向的相应字单元送AX
操作数的有效地址EA存放在基址寄存器BX、BP,或变址寄存器SI、DI中。如果指定的寄存器是BX、SI、DI,则操作数默认在数据段中;如果使用BP,默认在堆栈段中。允许段超越。
书写时对间接寻址的寄存器加上中括号,能加方括号的只有BX、BP、SI、DI四个寄存器。
正误辨别:MOV AX,[CX] ;错,CX不能加方括号。
操作数的物理地址为:
(DS)×16+(SI/DI/BX)或(SS)×16+(BP)
作用:访问一维数组,如一个学生多门课程成绩;例3-4 寄存器间接寻址,假定(DS)=2000H,(SI)=3600H,(23600H)=6022H
MOV AX,[SI] ;先将DS中的值左移4位,然后与SI中的值相加,
形成物理地址是23600H,再将该物理地址中的
数据6022H送入AX寄存器中
例3-5 寄存器间接寻址,假定(SS)=3000H,(BP)=1100H,(31100H)=5E28H
MOV BX,[BP] ;先将SS中的值左移4位,然后与BP中的值相加,
形成物理地址31100H,再将该物理地址中的
数据5E28H送入BX寄存器中;3.1.5 寄存器相对寻址
操作数的有效地址是一个基址寄存器或变址寄存器中存放的数据加上指令中
文档评论(0)