- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.4 数据传送指令 3.4.2 外部数据存储器传送指令 [例3.21] 以下指令可以实现将外部RAM的0040H单元的内容传送给内部RAM的0A0H单元的功能: 方法1:用DPTR 作数据指针: MOV DPTR,#40H MOVX A,@DPTR MOV 0A0H,A SJMP $ 方法2:用@Ri作数据指针(此时必须通过P2口来建立地址高8位): MOV P2,#0 MOV R1,#40H MOVX A,@R1 MOV 0A0H,A SJMP $ 3.4 数据传送指令 3.4.3 查表指令 指令集合:MOVC A,@A+PC/@A+DPTR 指令功能:这两条指令分别以PC、DPTR作为基址寄存器,累加器A作变址寄存器,将A的内容作为无符号数和PC的内容(本指令执行后下一条指令的起始地址)或DPTR的内容相加后得到一个16位的地址,由该地址指出的程序存储器单元的内容送累加器A的操作。 注意事项: ①只影响P标志。 ②采用PC作为基址寄存器时,当前的PC值是由该指令的存储地址确定的。采用DPTR作为基址寄存器时,该指令执行结果只和数据指针DPTR和变址寄存器A的内容有关,而与该指令的存放地址无关。 3.4 数据传送指令 3.4.3 查表指令 [例3.22] 以下介绍这两条指令的应用 假设(A)=30H,而MOVC A,@A+PC指令的存放地址为1000H。执行指令:MOVC A,@A+PC后,将哪个单元的内容送入A中? 假设(A)=30H,(DPTR)=1000H,执行指令:MOVC A,@A+DPTR后,哪个单元的内容送入A中? 3.4 数据传送指令 3.4.3 查表指令 [例3.23] 假设程序设计时,在8020H开始的单元中放置了一个9~0的ASCII码表,采用PC作为基址寄存器时,查表程序放置在8000H开始的单元中,请问执行下列程序后,A的内容是什么? ORG 8000H ;程序起始地址定位在8000H ORG 8000H MOV A,#2FH MOVC A,@A+PC ? ORG 8030H DB ‘9876543210’ ? 3.5 算术运算指令 3.5.1 加减指令 ORG 8000H ;程序起始地址定位在8000H 1、加法指令、减法指令 指令集合:ADD/ADDC/SUBB A,Rn/@Ri/direct/#data 指令功能:加法指令组:DST+SRC→DST。带进位加法指令组:DST+SRC+CY→DST。带借位加法指令组:DST—SRC—CY→DST。并且,本指令集合中的操作数均为无符号数。 注意事项: ①对标志的影响:位7有进/借位,CY=1,否则CY=0。位3有进/借位,AC=1,否则AC=0。位6或位7其中之一有进/借位,则OV=1,否则OV=0。ACC中“1”或“0”的个数为奇数时,则P=1,否则P=0。 *②对Pi口,引脚状态是加数或减数 3.5 算术运算指令 3.5.1 加减指令 ORG 8000H ;程序起始地址定位在8000H 1、加法指令、减法指令 [例3.24] 以下分别介绍这三组指令: ADD A,Rn ;(A)+(Rn)→A ADD A,@Ri ;(A)+((Ri))→A ADD A,direct ;(A)+(direct)→A ADD A,#data ;(A)+data →A ADDC A,Rn ;(A)+(Rn)+CY→A ADDC A,@Ri ;(A)+((Ri)+CY→A ADDC A,direct ;(A)+(direct)+CY→A ADDC A,#data ;(A)+data+CY→A SUBB A,Rn ;(A)-(Rn)-CY→A SUBB A,@Ri ;(A)-((Ri))-CY→A SUBB A,direct ;(A)-(direct)-CY→A SUBB A,direct ;(A)-(direct)-CY→A SUBB A,#data ;(A)-data-CY→A 3.5 算术运算指令 3.5.1 加减指令 ORG 8000H ;程序起始地址定位在8000H 1、加法指令、减法指令 [例3.25] 假设(A)=77H,(R1)=0ADH。执行指令:ADD A,R1 [例3.26] 假设(A)=76H,(R0)=55H,(55H)=40H。执行指令:ADD A,@R0 3.5 算术运算指令 3.5.1 加减指令 ORG 800
文档评论(0)