- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[第三章寻址方式
第三章 寻址方式赵博引言CPU寻址是与内存进行数据交换的基础。内存以字节(Byte)为单位存储信息。Intel微处理器采用“小端方式”(Little Endian)存放字数据。低字节存入低地址,高字节存入高地址大端方式:低字节高地址,高字节低地址引言存放字数据时:低位字节从偶数地址开始存放——规则存放;低位字节从奇数地址开始存放——不规则存放;寻址方式数据内存寻址——DS/ESMOV指令程序内存寻址——CSCALL、JMP指令堆栈内存寻址——SSPOP、PUSH指令数据内存寻址MOV AX, BX操作码目标操作数源操作数操作数MOV指令将源操作数复制到目的操作数改变目的操作数,源不变数据流向从右到左源操作数可以是内存、寄存器或立即数目标操作数可以是内存或寄存器数据传送不允许内存到内存(MOVS指令除外)不改变标志寄存器数据寻址方式寄存器寻址——寄存器间数据传送立即寻址——源操作数为立即数直接寻址——内存单元与寄存器间数据传送寄存器间接寻址——内存单元由变址或基址寄存器寻址基址加变址寻址——内存单元由基址+变址寄存器寻址寄存器相对寻址——内存单元由基址寄存器+位移量寻址相对基址加变址寻址——内存单元由基址+变址+位移量寻址比例变址寻址*(386以上)——寄存器内容可用比例因子(2,4,8)修改寄存器寻址MOV AX, BX寄存器间数据传送8位寄存器:AH, AL; BH, BL; CH, CL; DH, DL16位寄存器:AX, BX, CX, DX, SP, BP, SI, DI段寄存器:CS, DS, ES, SS源寄存器和目的寄存器位长必须一致源和目的不能为同一寄存器源和目的不能同为段寄存器不允许用MOV指令改变CS寄存器寻址MOV AL , BXMOV CS ,AX(编译成功,但会出错)MOV DS , ESMOV IP , SSMOV AL , AH立即寻址MOV AX, 1234H立即数:内存中数据放在操作码之后,即常数。可操作字节或字立即数表示:二进制数,后缀为B或b;八进制数,后缀为Q或q;十进制数,后缀为D或d,或者没有后缀;十六进制数,后缀为H或h,以A~F开头,前面要加0;字符串,用单或双引号括起的字符;立即寻址MOV BL, 44MOV AX , ‘12’;将ASCII码21复制到AXMOVCS , 1234HMOV 1234H, BX直接寻址1. 直接寻址:用于内存单元与AL、AX之间的MOV指令MOV AL, [1234H] ; 实际中不使用MOV AL, DATA2. 位移量寻址:用于指令系统中几乎所有指令MOV CL, [1234H]MOV CL, DATA共同点:都是把位移量加到默认的数据段地址或其他段地址上形成地址差异:指令长度不同直接寻址MOV AX, [2000H]假定DS=1234H寄存器间接寻址寄存器间接寻址允许寻址任何存储单元的数据保存偏移地址的寄存器:BX,BP,SI,DIDS : BX, SI, DISS :BP如果BX=1010H, DS=3000H,执行MOV AX, [BX]则:寄存器间接寻址汇编伪指令BYTE PTR, WORD PTR, DWORD PTR(32位CPU使用)——规定传送数据长度MOV AL, [DI]MOV [DI], 10H;?????汇编程序无法确定寻址目标长度MOV BYTE PTR [DI], 10H只用于带有立即数的通过指针或变址寄存器寻址的存储单元。寄存器间接寻址BX间接寻址通常用于程序引用内存系统中的数据表。例如:内存中有一个TABLE数据表,包含50个存储单元。MOV BX, OFFSET TABLE;将TABLE偏移地址放入BXMOV CX, 50 ;设置CX值为50AGAIN: MOV AX, [BX] ;将TABLE单元值读入AX INC BX ;BX加一 LOOP AGAIN ;循环基址加变址寻址类似于间接寻址——间接访问内存数据用一个基址寄存器(BP或BX)和一个变址寄存器(DI或SI)间接寻址内存。通常,基址寄存器保存内存数组的起始位置地址,而变址寄存器保存数据元素相对位置。MOV DX, [BX+DI]MOV DX, [BX][DI]; Intel ASM基址加变址寻址AXBXCXDXSPBPSIDIMOV DX, [BX+DI]BX=1000H, DI=10H, DS=2000H基址加变址寻址
您可能关注的文档
最近下载
- 临床微生物学检验技术试题及答案.docx VIP
- Danfoss丹佛斯iC2-Micro Frequency Converters Appl. Gui Application guide说明书用户手册.pdf
- “一带一路”背景下国际投资争端解决机制研究.docx VIP
- JJG 1118-2015 电子汽车衡(衡器载荷测量仪法)(高清).pdf
- 冀教版五年级英语下册全套测试卷.doc
- NB∕T 32036-2017 光伏发电工程达标投产验收规程.docx
- 2024年新《机场安检员》工作岗位试题库(有答案).pdf
- 小学数学三年级下册第三单元《乘法》作业设计.docx VIP
- 超星网课尔雅《知识论导论:我们能知道什么》尔雅答案2022章节测试答案.docx
- JT 711-2008 营运客车燃料消耗量限值及测量方法.pdf VIP
文档评论(0)