片机学习数逻指令PPT学习教案_第1页
片机学习数逻指令PPT学习教案_第2页
片机学习数逻指令PPT学习教案_第3页
片机学习数逻指令PPT学习教案_第4页
片机学习数逻指令PPT学习教案_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、会计学1片机学习数逻指令片机学习数逻指令SFR名+位次:PSW.7 PSW.6 PSW.5 PSW.4 PSW.3 PSW.2 PSW.1 PSW.0 字节地址+位次:0D0H.7 0D0H.6 0D0H.5 0D0H.4 0D0H.3 0D0H.2 0D0H.1 0D0H.0位地址: D7H D6H D5H D4H D3H D2H D1H D0HSFR名字节地址位名称位次进位标志位辅助进位标志位溢出标志位奇偶标志位用户标志位工作寄存器区选择控制位加减运算时最高位向上有进/借位则置1加减运算时D3位向D4位有进/借位则置1BCD数运算修正用加减运算时D7、D6位向上的进/借位不同则置1补码运算

2、时表征溢出A中1的个数为奇则置1表征8位码的奇偶性P.14图2-3 PSW的格式半进位标志位随时根据A的内容变化生成第1页/共26页不影响标志位C AC OV 3.4.2 算术运算类指令 积FF则0V=1B=0则0V=1不影响AC OV标志 结果存累加器A CyCyTM第2页/共26页P.38 0 1 0 1 0 0 1 1 + 1 1 1 1 1 1 0 0 1 1 1 0 0 0 0 = 0 1 0 0 1 1 1 1 Cy: 1 1 0 0 0 0 1 0 1 + 1 0 1 0 1 1 1 1 0 0 0 1 1 1 1 = 0 0 1 1 0 1 0 0 Cy: 1第3页/共26页P

3、.3840 1 0 0 0 0 1 0 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 = 1 0 0 0 0 1 0 1 Cy: 1原Cy 1 1 0 0 1 0 0 1 - 0 1 0 1 0 1 0 0 - 1 = 0 1 1 1 0 1 0 0 Cy: 0原Cy第4页/共26页P.41第5页/共26页第6页/共26页3.4.3 逻辑操作类指令跟0相与的位被屏蔽(清0)跟1相或的位被置1跟1相异或的位被求反TM第7页/共26页 1 0 1 1 0 0 1 1 B) 1 1 1 1 0 0 0 0 B 1 0 1 1 0 0 0 0 B不 变清0(屏蔽)第8页/共2

4、6页 1 0 1 0 0 0 0 1 Bv) 0 0 0 0 1 1 1 1 B 1 0 1 0 1 1 1 1 B不 变置 1第9页/共26页 1 0 1 0 1 0 0 1 B) 1 1 1 1 0 0 0 0 B 0 1 0 1 1 0 0 1 B 求 反 不 变第10页/共26页移位指令操作示意图 D7D0D7D7D7D0D0D0【例B3-11】 8位二进制码算术左移(无符号数乘2): CLR C;Cy清0 RLCA ;左移1位,低位补0,原最高位进到Cy中 【例B3-12】 8位二进制码逻辑右移(无符号数除2): CLR C ;Cy清0 RRCA ;右移1位,高位补0,原最低位移到C

5、y中 【思考】 DPTR(DPH、DPL)中的16位二进制码算术左移(乘2)【思考】 DPTR(DPH、DPL)中的16位二进制码逻辑右移(除2)第11页/共26页【思考】指出下列非法指令违背了什么样的概念或规则?ADD 20H, #10H INC R5DEC DPTR ADDC #30H,ARLCADEC #60HANL 4AH, R0 ORL R0, #8AH第12页/共26页作业二 : P.517、8、9、10、15、16 补充:请分析下列程序段执行后有关单元的内容。MOV A,#68HMOV R0,#40HPUSH ACCADD A,#50HMOV R0,AMOV A,R0INC R0

6、MOV R0,APOP BORL A,40H答:A= , R0= , B= , (40H)= , (41H)= ANL A,R5 R3单条指令实现第13页/共26页如:用一个8位二进制数表示一个有符号数:l一个数在机器中的表示形式称为机器数。 (机器中连同符号位一起代码化了的数) l机器数所表示的数值本身,称为真值。D7 D6 D5 D4 D3 D2 D1 D0符号位数值位D7=0 正数1 负数机器数真值0001 1011B表示+271001 1011B表示27【相关知识】第14页/共26页D7 D6 D5 D4 D3 D2 D1 D0符号位数值位:数的绝对值的二进制码(7位)0 正数1 负数

7、 +3原码 = 0 000 0011B = 03H - 3原码 = 1 000 0011B = 83H +0原码 = 0 000 0000B = 00H 0的表示不唯一 - 0原码 = 1 000 0000B = 80H+127原码 = 0 111 1111B = 7FH 8位原码表示范围127原码 = 1 111 1111B = FFH -127+1270( 2n-1-1)n-1位最高位n位:【相关知识】第15页/共26页n位二进制原码的表数范围: - (2n-1 1 ) S ( 2n-1-1)原码中 0 有两种表达方式 (+0、-0)原码表示方法简单直观,但机器中原码不便于运算! 真值 8

8、位原码 真值 16位原码 +127 0111 1111 7FH +32767 7FFFH +126 0111 1110 7EH +32766 7FFEH . . . +2 0000 0010 02H +2 0002H +1 0000 0001 01H +1 0001H 0 0000 0000 00H 0 0000H -0 1000 0000 80H -0 8000H -1 1000 0001 81H -1 8001H -2 1000 0010 82H -2 8002H . . .-126 1111 1110 FEH -32766 FFFEH-127 1111 1111 FFH -32767 F

9、FFFH-128 - - -32768 -2n-1-1-(2n-1-1)八位原码:-127 +127十六位原码:-32767 +32767【相关知识】第16页/共26页3、补码表示法+3原= 0000 0011B = 03H - 3原= 1000 0011B = 83H+3补= 0000 0011B = 03H - 3补= 1111 1101B = FDH正数的补码:与其原码相同。负数的补码:为将其原码的数值位取反加1。 例1: - 46补码 = ? - 46 = - 0 1 0 1 1 1 0 B - 46原码 = 1 0 1 0 1 1 1 0 B 1 1 0 1 0 0 0 1 B -

10、46补码 = 1 1 0 1 0 0 1 0 B = D2H例2: -0原码 = 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 = + 0补码 0 的表示唯一8位补码表示范围:-128+127原码与补码之间可逆转换, x补 补= x原数值位取反末位加一数值位取反末位加一【相关知识】第17页/共26页n位二进制补码的表数范围:( - 2n-1 ) S ( 2n-1-1)(- 2n-1)的补码 100000 为按等效原则定义的! (无法从原码转换而来) 真值 8位补码 真值 16位补码 +127 0111 1111 7FH +32767 7FFFH

11、 +126 0111 1110 7EH +32766 7FFEH . . . +2 0000 0010 02H +2 0002H +1 0000 0001 01H +1 0001H 0 0000 0000 00H 0 0000H -0 -0 -1 1111 1111 FFH -1 FFFFH -2 1111 1110 FEH -2 FFFEH . . .-126 1000 0010 82H -32766 8002H-127 1000 0001 81H -32767 8001H-128 1000 0000 80H -32768 8000H- 2n-12n-1-1八位补码:-128 +127十六位

12、补码:-32768 +32767【相关知识】第18页/共26页 移码表示法以 ( X + 2n-1 ) 对应的n位二进制数表示带符号数X。则n位移码表达范围为 -( 2n-1 ) X +( 2n-1-1)反之把 X移对应的二进制数减 2n-1 即得真值移码便于比较大小(按无符号数相比较即可) 移码例1:已知 X =113 求 X 移 = 解:X + 27= 113+128=15 , 而15=0000 1111B X 移=0000 1111 移码例2: 已知 X 移 = 10100010 求X = 解: 10100010 B=162 , 而 162- 27 =162-128=34 X = +34

13、8位移码表示范围:-128+127八位: X=-128 +1270 255 (00H-FFH)128【相关知识】第19页/共26页 真值 8位原码 +127 0111 1111 7FH +126 0111 1110 7EH . . +2 0000 0010 02H +1 0000 0001 01H 0 0000 0000 00H -0 1000 0000 80H -1 1000 0001 81H -2 1000 0010 82H . . -126 1111 1110 FEH-127 1111 1111 FFH-128 - - 8位补码0111 1111 7FH0111 1110 7EH. 00

14、00 0010 02H0000 0001 01H0000 0000 00H1111 1111 FFH1111 1110 FEH. 1000 0010 82H1000 0001 81H1000 0000 80H 8位移码1111 1111 FFH1111 1110 FEH. 1000 0010 82H1000 0001 81H1000 0000 80H0111 1111 7FH0111 1110 7EH. 0000 0010 02H0000 0001 01H0000 0000 00H原码、补码、移码表示法对比 (以8位码为例)(八位移码用x+128的二进制码表示)【相关知识】第20页/共26页可

15、用符号位为1,数值位“求反加一”实现符号位为0,数值位不变。即与原码相同 例1: - 46补码 = ? - 46 = - 0 1 0 1 1 1 0 B - 46原码 = 1 0 1 0 1 1 1 0 B 1 1 0 1 0 0 0 1 B - 46补码 = 1 1 0 1 0 0 1 0 B = D2H数值位取反末位加一 1 0 0 0 0 0 0 0 0 B = 28+ - 0 0 1 0 1 1 1 0 B = - 46 1 1 0 1 0 0 1 0 B = D2H+ 1 B = +1 1 1 1 1 1 1 1 1 B = 28-1+ - 0 0 1 0 1 1 1 0 B = - 46 1 1 0 1 0 0 1 0 B = D2H末位加一数值位取反第21页/共26页补码的加法和减法运算 加法规则:X+Y 补码 = X补码 + Y补码 减法规则:X -Y 补码 = X补码 - Y补码 = X补码 + -Y补码 补码加/减运算:不论正负、不论大小 ,

温馨提示

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

评论

0/150

提交评论