




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、指令:类似于C语言中的语句C语言语句语言语句汇编语言指令汇编语言指令赋值语句传送指令 i=2; MOV A, #2自增运算加1指令 i+; INC A汇编语言指令格式汇编语言指令格式1)表示完成什么操作的大写字母串,如: MOV、INC,称为“操作码操作码”2)表示参与这种操作的数据,数据也可以 存放在一个存储单元或寄存器中,如: #2, A,称为“操作数操作数”,多个操作数间用 逗号隔开51单片机指令的格式一、一、1、只有一个操作数、只有一个操作数操作码 操作数如:INC A2、有、有2个操作数个操作数操作码 目的操作数, 源操作数如:MOV A, #2 结论:参与操作的数据可以直接给出来,
2、也可以放在一个存储单元或寄存器中,所以找到操作数的方式有很多种,可通过存储单元地址直接找,可通过寄存器间接找到,这种寻找操作数的方式称为“寻址方式寻址方式” (P118119)51单片机指令的寻址方式二、二、阅读P118119,2007年4月,第32题指令MOV A, #41H,其源操作数的寻址方式指令MOV A, 41H,其源操作数的寻址方式1、立即数寻址 源操作数直接给出,即源操作数是立即数,带有前缀“#”的数据2、直接寻址 直接给出操作数地址(指片内RAM的地址:00H7FH,或18个SFR)立即数寻址立即数寻址直接寻址直接寻址阅读P118119,2009年4月,第32题指令MOV 15
3、H, R1,其源操作数的寻址方式指令MOV 15H, R1,其源操作数的寻址方式3、寄存器寻址 操作数中有一个是寄存器(指累加器A,或工作寄存器R0R7)4、寄存器间接寻址 操作数的地址存放在寄存器(特指:R0、R1、DPTR)中,寄存器前有前缀“”寄存器寻址寄存器寻址 寄存器寄存器间接间接寻址寻址2010年4月,第34题2011年4月,第11题数据传送指令(汇编语言的赋值语句,必考)三、三、片内RAMMOVMOV A, #02H片外RAMMOVXMOVX A, R0ROMMOVCMOVC A, A+PCP124,表11-21、16位立即数只能传送给数据指针DPTR MOV DPTR, #da
4、ta162、片外RAM数据传送指令(MOVX,共4条) 只能采用寄存器间接寻址方式(指令中必须有) 一个操作数必须是A 另一个操作数可以是:DPTR或Ri(指R0或R1) MOVX A, DPTR MOVX DPTR, A MOVX A, Ri MOVX Ri, A 3、ROM数据传送指令(MOVC,共2条) 只能采用变址寻址方式 MOVC A, A+DPTR MOVC A, A+PCP124,表11-23、ROM数据传送指令(MOVC,共2条) 只能采用变址寻址方式 MOVC A, A+DPTR MOVC A, A+PC 用于查表操作(类似于C语言的数组)4、数据交换指令 目的操作数必须是A
5、 XCH: Exchang 交换 XCHD:低4位交换 SWAP A:A中的高4位与低4位交换2010年4月,第33题2011年4月,第12题算术运算指令(C语言的算术运算,常考)四、四、C C语言运算语言运算汇编指令汇编指令类别类别符号符号含义含义赋值运算符=赋值赋值MOV、MOVX、MOVC指令算术运算符+加ADD A,?ADDC A,?-减SUBB A,?*乘MUL AB/除除DIV AB%取余取余+自增INC- -自减DECP129,表11-41、加法指令(二进制的加法指令) 目的操作数只能是A,结果也存放于A,影响PSW(P120) ADD A,? ;直接加,不管进位CY ADDC
6、A,? ;要把进位CY加进去 INC ? ; INC:Increase,加1指令 ; 相当于C语言的 i+语句 DA A ; DA:Decimal Ajust ; 十进制调整指令(P127128) 结论:1)加法后无“DA A”时,按“逢十六进一”相加2)有 “DA A”时,按“逢十进一” 相加2007年4月,第40题MOV A, 30HADD A, 40H DA AMOV 30H, AMOV A, 31HADDC A, 41HDA AMOV 31H, A31H30H13H23H/低低8位相加位相加/高高8位相加位相加/十进制调整十进制调整08H72H41H40H两个16位的数相加,加数放在3
7、1H、30H,被加数放在41H、40H,结果放在31H、30H有“DA A”,故把十六进制数当作十进制数,按“逢十进一”方法相加2009年4月,第11题2010年4月,第12题2011年4月,第33题例:MOV A, #0B4HADD A, # 03HSUBB A, #51H2、减法指令 目的操作数(被减数)只能是A,结果也存放于A,影响PSW(P120): 第4位(D3)向第5位(D4)借位时AC=1 最高位产生借位时CY=1 有符号数相减的结果不对(如负数-正数=正数)时OV=1SUBB A,? ; SUBB: Subtract,带进位相减指令DEC ? ; DEC: Decrease,减
8、1指令 ; 相当于C语言的i-语句 注:十六进制数的第1个数为字母时,要在前面加0 B7H-51H=66H(正数)而B4H为负数,51H为正数,“负数-正数=负数”,结果不对,OV=1P129,表11-43、乘法指令 MUL AB ; MUL: Multiply ;A、B均为8位无符号数 ;乘积A*B如果是16位无符号数,则 ;乘积的低8位放在A,高8位放在B ;CY=0,当B!=0时OV=1溢出 4、除法指令 DIV AB ; DIV: Divide ;被除数A、除数B均为8位无符号数 ;商A/B放在A,余数A%B放在B中 ;CY=0,当B=0时OV=1溢出 2010年4月,第35题逻辑运算
9、、移位指令和位操作指令五、五、P130,表11-51、逻辑与运算指令(ANL: And Logic,类似于乘法) 按位“与”,进行“与操作”的两位,只要有1位是0,结果就是0.(P10) 注:逻辑与操作通常用于对某些不关心的位“清0”,而保留另外一些关心的位,如 MOV A, P1 ANL A, #0FH ;A的高的高4位清零位清零P130,表11-52、逻辑或运算指令(ORL: Or Logic,类似于加法) 按位“或”,进行“或操作”的两位,只要有1位是1,结果就是1. (P10) 注:逻辑或操作通常用于对某些关心的位“置1”,如 ORL A, #0F0H ;将A的高4位设置为13、逻辑异
10、或运算指令(XRL) 按位“异或”,进行“异或操作”的两位如果不同,结果就是1 (P10)4、清零(CLR:Clear) CLR A ;A=05、累加器按位取反:CPL AP130,表11-56、循环左移指令(RL: Rotate Left,类似于乘2) RL A7、循环右移指令(RR: Rotate Right,类似于除2) RR A8、带进位循环左移指令(RLC: Rotate Left CY) RLC A9、带进位循环右移指令(RRC: Rotate Right CY) RRC A位操作指令,P130,表11-62009年4月,第13、14题2010年4月,第14题2011年4月,第13
11、、34题2010年4月,第38题,改错TB: MOV 40H, A SWAP A ANL A, #0FH MOV B, #10 MUL AB ANL 40H, #0FH ORL A, 40H RET上述程序:“TB:”为标号P142,可有可无,按实际设置 RET:Return,子程序(C语言的函数)返回指令,P139BCD码(P14)是用二进制编码表示的十进制数,每1位十进制数用4位二进制串表示,所以BCD码表示的2位十进制数转换成二进制数的方法是:BCD码的高4位*10+BCD码的低4位; A的高4位与低4位交换 ; 保留A低4位,即取原BCD码数的高4位(即十进制数的十位); 高4位*10
12、,结果存A中 ; 取原BCD码数的低4位; 高4位*10+低4位; 原BCD码数存40H单元 ADD A, 40H比较转移指令(类似C语言的比较运算)六、六、C C语言运算语言运算汇编指令汇编指令类别类别符号符号含义含义关系运算符大于CJNE指令(配合JC、JNC指令)=大于等于小于=5EH,即(A)-5EH=0,够减,CY=0 若(A)5EH,即(A)-5EH=40H ADD A, #40H ;(A)=1.5V,用逻辑“1”表示 低电平:U1.5V,用逻辑“0”表示 +5VINOUT非门非门功能与逻辑非相同,即IN为“高电平”时OUT为“低电平”,而IN为“低电平”时OUT为“高电平” 注意
13、:发光二极管极性与普通二极管一样,当给其加约为1.8V正向电压时它能点亮高高低低高高即P1.0=1时L1点亮 ORG 0000H ; P143,自0000H单元开始放程序 LJMP 0200H ;无条件跳转至0200H单元 ORG 0200H ; 后面程序段从0200H开始存放START: MOV A, #01H LOOP: MOV P1, A ;P1为8位的特殊功能寄存器,依次存 ;放单片机P1的8个I/O接口的状态值 LCALL D2S ; 调用延时2秒子程序 RL A ; A循环左移 SJMP LOOP ; 反复执行程序段LOOPD2S: . ; 子程序略 RET END ; 第1次循环
14、P1口状态所以,第1次调用子程序时,L1点亮2011年4月,第44题, 填空(实为2002年考题) ORG 0100H ;之后 数据或程序从0100H开始存放TAB: DB, ABC ;从TAB所代表的地址单元开始,顺序 ;存放字符串ABC中字符A、B和CNOON: DS 03 ; 从NOON所代表的地址单元开始,保 ;留3个字节的存储空间BUF: DB 25H ; 从BUF所代表地址单元开始存立即数25HLOOP EQU 2100H ; 用LOOP代替存储单元地址“2100H”DB:从指定地址单元开始,定义若干个字节存储单元的内容 常用于存放类似于C语言数组的数据表格DS:从指定地址单元开始,保留指定的若干个字节存储单元作为备用存储空间EQU:Equation,相等 符号 EQU 数字 ;用“符号”代替“数字”2011年4月,第44题, 填空 ORG 0100H ;之后 数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 围产期健康教育
- 创新创业仿生章鱼笔筒
- 2025年湿法混合颗粒机项目合作计划书
- 新生儿病理性黄疸的护理查房
- 2025年合伙企业书面合伙协议模板
- 2025年太原货运资格证考试70题
- 2025年K12课外辅导项目建议书
- 小龙虾水彩课件
- 2024年五年级数学上册 一 今天我当家-小数乘法 我学会了教学实录 青岛版六三制
- 2025年技术检测与标准认证服务项目经济效益评估报告
- 小儿锌缺乏症剖析
- 古风集市策划方案
- 道路危险货物运输安全培训课件
- 天然气消防培训课件
- 胡壮麟《语言学教程》(第5版)章节题库(1-4章)【圣才出品】
- 驾驶员劳务派遣投标方案
- 面密度仪设备原理培训课件
- DB63∕T 1729-2019 地球化学样品中铂、钯、钌、铑、锇、铱的测定 锍镍试金富集-电感耦合等离子体质谱法
- 《公路立体交叉设计细则》(D21-2014 )【可编辑】
- 焦虑抑郁自评量表(综合版)
- 二手房屋买卖物品交接清单
评论
0/150
提交评论