07 传送指令 算术指令 逻辑操作指令_第1页
07 传送指令 算术指令 逻辑操作指令_第2页
07 传送指令 算术指令 逻辑操作指令_第3页
07 传送指令 算术指令 逻辑操作指令_第4页
07 传送指令 算术指令 逻辑操作指令_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MOV 英文为Move 对内部数据寄存器RAM和特殊功能寄存器SFR的数据进行传送 MOVX MoveExternalRAM 对外部RAM的数据传送 1 数据传送类指令 指令助记符操作功能注释MOVXA DPTR A DPTR MOVXA Ri A Ri i 0或1MOVX DPTR A DPTR A MOVX Ri A Ri A i 0或1 MOVC MoveCode 读取程序存储器数据表格的数据传送 指令助记符操作功能注释MOVCA A DPTR A A DPTR MOVCA A PC PC PC 1 A A PC 注意 第二条指令编程时还需要进行偏移量的计算 即MOVCA A PC指令所在地址与表格存放首地址间的距离量计算 并需要一条加法指令ADD进行地址调整 偏移量 表首地址 MOVC指令所在地址 1 PUSH POP XCH XCHD ADD ADDC SP SP 1 SP direct direct SP SP SP 1 主要用于多字节的加法运算 2 带进位的加法指令 AddwithCarry 注意 带进位加法指令主要用于多字节的加法运算 例 试编写1234H 1FE7H的程序 将和的高8位 存入41H单元 低8位存入40H单元 解 两个16位数相加可分两步进行 第一步先对低8位相加 第二步再对高8位相加 考虑到第一步相加时可能产生进位 因而第二步必须用带进位加法指令 MOVA 34HADDA 0E7HMOV40H AMOVA 12HADDCA 1FHMOV41H A 3 增量指令INC Increment INCA 00000100INCRn 00001rrrINCdirect 00000101INC Ri 0000011iINCDPTR 10100011这组增量指令的功能是把所指出的变量加1 若原来为0FFH 将溢出为00H 不影响任何标志 例题 课本58页例3 10 直接地址 助记符 机器码 例3 10设 A 0FFH R3 0FH 30H 0F0H R0 40H 40H 00H 执行指令 INCA A 1 AINCR3 R3 1 R3INC30H 30H 1 30HINC R0 R0 1 R0 结果 A 00H R3 10H 30H 0F1H 40H 01H PSW状态不改变 4 十进制调整指令DA DecimalAdjust DAA 这条指令是在进行BCD码加法运算时 跟在ADD和ADDC指令之后 用于对BCD码的加法运算结果自动进行修正 使其仍为BCD码表达形式 该指令的执行过程如图3 2所示 P59页 例 累加器A中BCD数是5 立即数为8 执行加法指令 ADDA 8 在CPU中是按二进制加法进行的 其结果如下 0000100000001101 00000101 所得值为非法BCD码 但若将其结果加6调整后 就得到正确的结果 操作如下 00001101 00010011 得BCD码13 结果正确 00000110 参考程序如下 MOVA 65HADDA 58HDAA 例 编程实现BCD码65 58相加 5 带进位减法指令SUBB SubtractwithBorrow 思考题 怎样进行不带借位位的减法操作 需先清借位位 即置CY 0CLRC 注意 带进位减法指令主要用于多字节的减法运算 例 试编写341FH 12E7H的程序 将结果的高8位 存入41H单元 低8位存入40H单元 MOVA 1FHCLRCSUBBA 0E7HMOV40H AMOVA 34HSUBBA 12HMOV41H A 例 双字节无符号数 R0R1 R2R3 R4R5 MOVA R1CLRCSUBBA R3MOVR5 AMOVA R0SUBBA R2MOVR4 A 6 减1指令 DEC Decrement 例 课本59例3 12 减1指令的功能是将指定单元的内容减1 结果再放回到该单元中去 这类指令不影响标志位 例3 12设 A 0FH R7 19H 30H 00H R1 40H 40H 0FFH 执行指令 DECA A 1 ADECR7 R7 1 R7DEC30H 30H 1 30HDEC R1 R1 1 R1 结果 A 0EH R7 18H 30H 0FFH 40H 0FEH P 1不影响其它标志 7 乘法指令 MUL Multiplication 助记符机器码MULAB10100100 A B BA 该指令的功能是累加器A中8位无符号整数除以B寄存器中8位无符号整数 商存于A中 余数存于B中 标志位Cy和OV清0 当除数为0时OV置1 DIVAB A B的商 A 余数 B 如果积大于255 FFH 则溢出标志位OV置1 否则清0 进位标志位Cy总是清0 8 除法指令 DIV Division 例 试编写计算17H 68H的程序 将乘积的高8位存入31H单元 低8位存入30H单元 MOVA 17HMOVB 68HMULAB A B BAMOV30H AMOV31H B 左循环移位指令 3 逻辑操作指令 1 简单逻辑操作指令 累加器清0CLRA将累加器A清0 不影响Cy Ac OV等标志 累加器内容按位取反 例 A 10101010B 执行指令CPLA结果 A 01010101B CPLA将累加器A的每一位逻辑取反 原来1的位变0 原来0的位变1 不影响标志 a 累加器内容循环左移指令RLA RL Rotateleft ACC的内容向左循环移1位 位7循环移入位0 如下图所示 不影响标志 b 累加器带进位左循环移位指令RLCA RL Rotateleftcarry 将ACC的内容和进位标志一起向左循环移1位 ACC的位7移入进位位CY CY移入ACC的0位 不影响其他标志 a 累加器内容循环右移指令RRA RL Rotateright 累加器ACC的内容向右循环移1位 位0循环移入位7 如下图所示 不影响标志 A7 A0 b 累加器带进位右循环移位指令RRCA RL Rotaterightcarry A7 A0 将ACC的内容和进位标志CY一起向右循环移1位 ACC的位0移入进位位CY CY移入ACC的7位 不影响其标志 右循环移位指令 执行指令RRCA后 例设 A 5AH 90 01011010B 且CY 0 则 执行指令RLA后 A 10110100B B4H 180 执行指令RRA后 A 00101101B 2DH 45 执行指令RLCA后 A 10110100B B4H 180 CY 0 A 00101101B 2DH 45 CY 0 例 A 0C5H 执行指令SWAPA结果 A 5CH 累加器半字节交换指令 SWAPA 2 逻辑与指令ANL ANDLogic ANLA RnANLA directANLA RiANLA dataANLdirect AANLdirect data 例 将端口P1的低4位清 0 ANLP1 0F0H 逻辑与指令常用于屏蔽字节中某些位 若清除某位 则用 0 和该位相与 若保留某位 则用 1 和该位相与 例 已知A 07H R0 0FDH 执行指令 ANLA R0 则操作如下 结果 A 05H 3 逻辑或指令ORL ORLogic ORLA RnORLA directORLA RiORLA dataORLdirect AORLdirect data 例 将端口P1的低4位置1 ORLP1 0FH 它用来使字节中某些位置 1 欲保留的位用 0 与该位相或 而欲置位的位则用 1 与该位相或 例将累加器A中的低4位由P1口的低4位输出 P1口高4位不变 解据题意程序如下 ANLA 00001111BMOV30H AMOVA P1ANLA 11110000BORLA 30HMOVP1 A 4 逻辑异或指令XRL Exclusive ORLogic XRLA RnXRLA directXRLA RiXRLA dataXRLdirect AXRLdirect data 逻辑 异或 指令常用于对字节中某些位进行取反操作 欲取反的位与 1 异或 欲保留的位与 0 异或 还可以用异或指令对某单元异或 以实现清 0 操作 XRLA 0FH 高四位不变 低四位取反 4 位操作类指令 1 数据位传送指令 MOVC P1 3MOVP1 7 C 指令中C即进位标志位Cy bit为内部RAM中20H 2FH单元中128个可寻址位和特殊功能寄存器中的可位寻址的地址 例 把P1 3状态传送到P1 7 按题意编写指令如下 2 位变量修改指令 CLRCCLRbitCPLCCPLbitSETBCSETBbit 3 位变量逻辑与指令 ANLC bitANLC bit 4 位变量逻辑或指令 ORLC bitORLC bit P66页例3 22 P67页例3 23 例3 23设P1口为输出口 执行下述指令 MOVC 00H 20H 0 CORLC 01H C 20H 1 CORLC 02H C 20H 2 CORLC 03H C 20H 3 CORLC 04H C 20H 4 CORLC 05H C 20H 5 CORLC 06H C 20H 6 CORLC 07H C 20H 7 CMOVP1 0 C C P1 0 结果 内部RAM的20H单元中只要有一位为1 P1 0就为1 5 位变量条件转移指令 JCrel C 1 PC 2 rel PCC 1执行转移C 0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论