嵌入式接口技术课件2.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式接口技术课件2

假设(DX)=0B903H,(CL)=3,(CF)=1,确定下列各条指令单独执行后DX中的值。 SHR DX, 1 SAR DX, CL SHL DX, CL SHL DL, 1 ROR DX, CL ROL DL, CL SAL DH, 1 RCL DX, CL RCR DL, 1 第2章要求 1、掌握80X86微处理器操作数的寻址方式; 2、掌握80X86微处理器指令系统中的常用指令; 3、了解ARM微处理器的寻址方式和指令集。 第2章作业 教材2第3章的作业题: 3-1, 3-6, 3-7, 3-11, 3-15 (5) ROL 循环左移指令 格式:ROL OPR,CNT ROL是循环左移指令,即运算数的各个位被依次向左移动,最高位被移动到最低位和进位标志位上。 (6) ROR 循环右移指令 格式:ROR OPR,CNT ROR是循环右移指令,即运算数的各个位被依次向右移动,最低位被移动到最高位和进位标志位上。 (7) RCL 带进位循环左移指令 格式:RCL OPR,CNT RCL是带进位循环左移指令,即运算数的各个位被依次向左移动,最高位被移进位标志位上,原进位标志位上的值被移动到最低位。 (8) RCR 带进位循环右移指令 格式:RCR OPR,CNT RCR是带进位循环右移指令,即运算数的各个位被依次向右移动,最低位被移进位标志位上,原进位标志位上的值被移动到最高位。 习题:教材2的作业3-16 3.4.4 字符串处理指令 在80X86系列微处理器中有一组指令被称为字符串指令。通过它们可以对存储在存储器连续位置中的一系列运算数进行处理。 为了实现对字符串的运算,一些寄存器固定地充当目标操作数和源操作数。 在80X86微处理器中,寄存器SI和DI分别指向源操作数和目的操作数。80X86把SI当作数据段寄存器(DS)的偏移地址,而把DI当作附加段(ES)的偏移地址。 1.MOVS 字符串传送指令 格式1:MOVSB 执行的操作:(目的操作数)←(源操作数) (源操作数地址) ← (源操作数地址)±1 (目的操作数地址) ← (目的操作数地址) ±1 格式2:MOVSW 执行的操作:(目的操作数)←(源操作数) (源操作数地址) ← (源操作数地址)±2 (目的操作数地址) ← (目的操作数地址) ±2 字符串指令中,运算数既可以是字节也可以是字。通过指令中最后一个字母B(字节)和字母W(字)来区别。MOVSB是把SI所指定存储单元一个字节的内容传送给DI所指定的存储单元,寄存器SI和DI都会自动加1或减1(这取决于方向标志DF)。MOVSW是把SI所指定存储单元一个字的内容传送给DI所指定的存储单元,寄存器SI和DI都会自动加2或减2。 方向标志位:在标志寄存器的第11位(D10)是方向标志位(DF)。 运用指令CLD清除方向标志位将会把DF的值设为0,表明字符串指令自动递增指针。 STD设置方向标志位将会把DF的值设为1,表明字符串指令自动递减指针。 2.REP 重复前缀 通过重复前缀REP可以让字符串指令重复执行。重复执行的次数存储在CX寄存器中。 前缀REP告诉CPU执行字符串指令的同时不断自动地递减寄存器CX的内容。这个过程将不断重复直到CX变为0为止。 例:编写程序,将数据段中DATA1中20个字节数据传送到DATA2中。 在数据段中: DATA1 DB ‘ABCDEFGHIJKLMNOPWRST’ DATA2 DB 20 DUP(?) 在代码段中: MOV AX,@DATA MOV DS,AX MOV ES,AX CLD MOV SI,OFFSET DATA1 ;DATA1地址存入SI MOV DI,OFFSET DATA2 ;DATA2地址存入DI MOV CX,20 ;重复次数 REP MOVSB 3.4.5 控制转移指令 在执行指令序列的过程中,经常需要把程序控制转移到一个不同的位置。根据转移到程序存储位置的远近,涉及FAR和NEAR两个概念在跳转和调用指令中的应用。 1.FAR和NEAR 如果控制权被转移到位于当前代码段内的某一存储位置,就是NEAR的情况,称为段内跳转。 如果控制权被转移到位于当前代码段外的存储位置,就是FAR的情况,称为段间跳转。 由于CS:IP寄存器总是指向要被执行的下一条指令的地址,所以在执行控制转移指令后它们被更新。在NEAR跳转中,IP被改变而CS保持不变,因为控制权还保留在当前的代码段内。在FAR跳转中,由于控制权被转移到当前代码段以外,所以CS和IP都必须更新为新值。 2.JMP无条件转移指令 (1) 格式1:JMP SHORT 标签 短跳转。这种跳转目标位置的地址与当前IP之间的距离处于-128到+127个字节的范围内。在这

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档