- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理5-12
教学重点 寻址方式、指令系统及汇编语言的编程 教学难点 微处理器的寻址方式与指令系统 汇编语言编程的基本概念和编程方法 5.1 86系列汇编语言及指令的格式与寻址方式 5.1.1 86系列汇编语言指令语句格式 汇编语言的指令语句与机器指令一一对应,其指令语句格式如图5-1所示。 5.1.2 86系列CPU的寻址方式 寻址方式: 如何得到操作数的地址。 5.1.2 86系列CPU的寻址方式 3、直接寻址:数据是在存储器中,存储单元的EA由指令直接指出。例如: ?(1)以BX进行间接寻址—基址寻址。 因BX叫作基址寄存器,所以称基址寻址。默认的段寄存器为DS。EA=(BX) (2)以BP进行间接寻址——基址寻址。 BP称作基址寄存器,顾名思义,该寻址方式为基址寻址。默认的段寄存器为SS。 这种寻址方式,EA=(BP) (4)将BX,BP,和SI,DI组合起来进行间接寻址--基址加变址的寻址。其有效地址: (BX) (SI) EA = + (BP) (DI) 注意事项 在寄存器间接寻址中,只要使用了BP寄存器,缺省段寄存器是SS; 在其它情况下,缺省段寄存器是DS; 如果操作数不在缺省段,则要用前缀指出相应的段寄存器名。 习题 一,立即数寻址 MOV AX ,1090H (若CS = 1000H,IP = 100H) 三,直接寻址 MOV AX,[ 2000H ] (若DS = 3000H) 四,寄存器间接寻址 MOV AX ,[BX] (若DS = 2000H,BX = 1000H) 五、寄存器及存储单元的内容如下: 5.2 传送类指令 ·寄存器之间传送(除CS 和 IP) MOV AL,BL MOV DL,CH MOV DX,BX MOV AX,ES MOV DS,AX ·立即数→通用REG或存储器 MOV CL ,4 MOV AX ,03FFH MOV BYTE PTR [BX] ,5 MOV WORD PTR [100H] ,5678H MOV MEM,5 ;MEM是变量(符号地址) 注意的问题: 1、不能在两个存储单元之间传送。 MOV [1000H] ,[2000H] 2、堆栈操作指令 堆栈是一个按照先进后出原则组织的一个内存区域。主要用于保存子程序返回地址、断点地址和现场信息。 在程序中采用堆栈操作指令时,应预置堆栈段寄存器SS,堆栈指示器SP的值,SP的内容为当前堆栈段的栈顶。 2、堆栈操作指令 PUSH SRC ( SRC :REG、M, DEST:隐含SP) POP DEST ( DEST :REG、M, SRC:隐含SP) 例如: PUSH AX ;通用REG PUSH DS ;段REG PUSH [1000H] ;直接寻址,字单元。 PUSH DATA ;直接寻址(字变量) POP CX POP ES POP [3000H] 建栈 MOV AX ,1050H MOV SS ,AX MOV SP ,000 EH 进栈 PUSH AX (设 AX=1234H) 出栈操作:栈顶内容先出栈,再使SP加2。(字操作) POP CX ;出栈 3、交换指令 XCHG XCHG DEST, SRC 通用REG 通用REG M M 4、换码指令 XLAT XLAT的功能是使AL中的内容变换为内存表格中的某一个值,一般用来实现编码制的转换。其指令格式: XLAT ;(无操作数指令,隐含)功能:[(BX)+(AL)] ? ( AL) 源 目的 ?????首先将ASCII码表定位到当前数据段的一片连续区域,假定表首址的偏移地址为2000H。下图是换码指令的功能。 5.2.2目标地址传送指令 1、取有效地址指令 LEA LEA DEST ,SRC
文档评论(0)