寻址方式与汇编语言.pptVIP

  1. 1、本文档共45页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 128 * 131 * 131 逻辑运算指令 位测试指令:BITA、BITB 将A或B与内存单元内容作与操作,改变标志位 位操作指令:BCLR、BSET BCLR:将立即数取反与内存单元M内容与操作,将结果送内存单元 BSET:将立即数与内存单元M内容或操作,将结果送内存单元 逻辑左移指令:LSL、LSLA、LSLB、LSLD 将内存字节、A、B、D内容带C左移 逻辑右移指令:LSR、LSRA、LSRB、LSRD 将内存字节、A、B、D内容带C右移 逻辑运算指令 算术左移指令:ASL、ASLA、ASLB、ASLD 同逻辑左移 算术右移指令:ASR、ASRA、ASRB 将内存字节、A、B内容右移一位,最高位不变,最低位移动到C。 循环左移指令:ROL、ROLA、ROLB 循环右移指令:ROR、RORA、RORB 逻辑运算指令举例 取数$55,使用逻辑运算指令使低4位清零,然后低4位置一;对结果取反操作;逻辑右移一位;与内存单元中$00作位测试;查看结果。 逻辑运算指令举例 S1: FCB $00 ;定义参加比较数据 LDAA #$55 ;A=55 ANDA #$F0 ;A=50 ORAA #$0F ;A=5F NEGA ;A=A1 LSRA ;A=50 C=1 BITA S1 ;Z=1 比较测试指令 比较指令:CBA、CMPA、CMPB、CPD、CPS、CPX、CPY 只做减法操作,不返回结果,影响标志位C(借位)、V(溢出),N(符号),Z(零) 测试指令:TST、TSTA、TSTB 测试内存单元、A或B是否为0,影响标志位N(符号),Z(零),V(总为0),C(总为0)。 转移跳转循环指令 短转移指令: 无条件转移BRA、BRN 有条件转移BCC、BCS、BEQ、BNE、BMI、BPL、BVC、BVS、BHI、BHS、BLO、BLS、BGT、BGE、BLT、BLE 长转移指令:在短转移前加“L” 如:LBRA等。 转移跳转循环指令 循环控制指令: DBEQ、DBNE IBEQ、IBNE TBEQ、TBNE 跳转指令:JMP 无条件跳转到标号处执行,范围为64K。 DBEQ B,LABEL … LABEL: … B减1,若为0 LABEL : … … DBNE B,LABEL B减1,若不为0 比较测试转移跳转指令举例 定义程序标号,从该程序标号开始执行程序;做5次空循环延时;A,B都给$55,作CBA测试;若Z=1则跳转到程序末尾。 比较测试转移跳转指令举例 BRA J1 ;短转移到J1 NOP ;由于转移,此句不执行 J1:LDAB #$05 ;B=05 J2:NOP ;延时的NOP指令 DBNE B,J2 ;B-1,若B=0则继续,否则到J2 LDAA #$55 LDAB #$55 ;A=B=55 CBA ;做A-B操作,Z=1 BEQ J3 ;若Z=1转J3 NOP ;此句不执行 J3:NOP ;转移到此执行 查表插值指令 查表插值指令: TBL ETBL 例子请见课本115页 系统指令 子程序调用返回返回指令: 短子程序调用BSR(-128~127),子程序返回使用RTS 长子程序调用JSR(64K范围),子程序返回使用RTS 跨页子程序调用CALL(1M范围)、子程序返回使用RTC 调用和返回同时把返回地址和PPAGE寄存器内容压栈和出栈 中断指令: 软件中断SWI,把返回地址和CPU寄存器依次全部压栈 陷阱中断TRAP,把返回地址和CPU寄存器依次全部压栈 中断返回RTI,把返回地址和CPU寄存器依次全部出栈 系统指令 其他指令: STOP 将PC、Y、X、D、CCR压栈,关闭时钟 WAI 将PC、Y、X、D、CCR压栈,关闭时钟,各自系统仍然运行,CPU等待中断 BGND 进入背景调试模式 NOP 空操作 系统指令 CPU12X在CPU12汇编指令集的基础上增加了不少新的指令。 (1)将原有的8位读改写指令扩展到16位 (2)增加了利用Gpage寄存器对连续8M寻址空间的读写指令 (3)增加了测试并置位指令处理信号量(semaphore) (4)增加了MOVEB、MOVEW等,可实现从存储器到存储器的数据传送或将立即数直接写入存储器。 谢谢! * 91页 * 91页 * 执行了一条NOP,指令指针指向下一条指令,程序计数器加一.执行PSHA后,先移动SP,然后在给[SP]于A的值. * 注意偏移量必须是1-8,所以加减范围是1-8和-1~-8。 * 1、93页 ; 2、95页 ; 3、98页 * 1、95页 ; 2、97页 ; 3、94页 * 130页 * A=$55;[480]=$55 ;B=$55 ;B=$56 ;[4

文档评论(0)

wuyoujun92 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档