9s12单片机-四五章.ppt

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

* NEGA为取反加一;LSRA使A中最后一位移动到C中;BITA S1,作与测试后为0,只影响标志位Z。 * 104--105 * 124--126 * 127 * 128 * 128 * 131 数学运算综合举例 在$2000单元开始存放字节型数据$10,$30,$04,$A0,在$2010单元开始存放字节型数据$11,$1A,$09,$1F,分别使用加、减、乘、除四中运算处理对应位置的数据。并把结果存到$2020开始的内存单元中。 例子程序见word文档 实际程序见:2-shuxue-example 2.3 逻辑运算指令 与指令:ANDA、ANDB 如 LDY #$1000 ANDA Y A与$1000单元数据与运算,结果保存到A 异或指令:EORA、EORB 或指令:ORAA、ORAB、ORCC 清零指令:CLC、CLI、CLV、CLR、CLRA、CLRB 把进位、中断屏蔽、溢出标志、内存单元,A,B清零 取反指令:COM、COMA、COMB 对内存单元、A、B进行取反运算并存储 求补指令:NEG、NEGA、NEGB 对内存单元、A、B进行求补运算并存储 逻辑运算指令 位测试指令: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=5FNEGA ;A=A1LSRA ;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)。 2.4 转移跳转循环指令 短转移指令: 无条件转移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 DBEQ B,LABEL … LABEL: … B减1,若为0 LABEL : … … DBNE B,LABEL B减1,若不为0 LABEL1: … … JMP LABEL1 … … 跳转指令:JMP 无条件跳转到标号处执行,范围为64K。 2.4 转移跳转循环指令 2.5 比较测试转移跳转指令 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 ;转移到此执行 2.6查表插值指令 查表插值指令: TBL ETBL 例子请见课本115页 2.7 系统指令 子程序调用返回返回指令: 短子程序调用BSR(-128~127),子程序返回使用RTS 长子程序调用JSR(64K范围),子程序返回使用RTS 跨页子程序调用CALL(1M范围)、子程序返回使用RTC 调用和返回同时把返回地址和PPAGE寄存器内容压栈和出栈 CALL prog1 ; 将返回地址堆栈 ……. …… Prog1

文档评论(0)

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

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

1亿VIP精品文档

相关文档