单片机原理与应用陈桂友第章指令系统_第1页
单片机原理与应用陈桂友第章指令系统_第2页
单片机原理与应用陈桂友第章指令系统_第3页
单片机原理与应用陈桂友第章指令系统_第4页
单片机原理与应用陈桂友第章指令系统_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

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

文档简介

第4章指令系统

4.18051单片机的助记符语言

4.2指令格式及分类

4.3寻址方式

4.4数据传送类指令

4.6算术运算类指令

4.5逻辑操作类指令

4.7位操作指令4.8控制转移类指令4.18051单片机的助记符语言

高级语言编程简单,执行效率低,常用在计算和管理的场合。汇编语言(助记符语言)编程繁琐,执行效率高,宜用于需要结构紧凑、反应快速的实时控制场合。助记符一般是由操作码和操作数两部分组成的。操作码反映了指令的功能,操作数代表了指令的操作对象。例如,ADDA,#6AH ;A←A+#6AH其中ADD是操作码符号。A和6AH是操作数。前者反映了该指令的功能是做加法,后者则表示相加的对象是A累加器中的内容和立即数6AH。由助记符构成的编程语言一般称为汇编语言。目前大多数单片机的编译系统都支持C语言编程,并可以对编译的代码进行优化。使用C语言编程,具有编写简单、直观易读、通用性好等特点,特别是控制任务比较复杂或者具有大量运算的系统中,C语言更显示出了超越汇编语言的优势。然而,汇编语言是理解和掌握单片机原理及应用的基础,并且,在控制系统不太复杂、实时性要求较高的控制系统中,较多的用户还是使用汇编语言进行程序设计。

4.1.1概述4.1.2操作码

操作码是指令功能的英文缩写。

操作码含义1.

传送类:MOVMOVXMOVC

传送字节变量(数据存储器、I/O口)外部送数到A程序存储器送数到A2.

数据操作类:ADDSUBBMULDIV

加带借位减乘除3.

程序控制类:AJMP(SJMP、LJMP)JZ、JC、JB(JNZ、JNC、JNB)ACALL(LCALL)RETCJNE

绝对转移(短转移、长转移)有条件转移绝对调用(长调用)子程序返回第一操作数与第二操作数比较不等则转移4.

逻辑操作类:ANLORLXRL

与或异或4.1.3操作数

操作数是一条指令操作的对象。不同功能的指令,操作对象形式不同。操作数可以是数据,也可以是地址。操作数是指令中给出的数据时,被称为立即数。它有8位和16位二进制数两种。在助记符的数字前加以“#”来标记其是立即数,常用符号“#data”表示。操作数也可以是存放数据的地址,这些地址可以是:1.所选定寄存器工作区内的R7~R0,A、B、C(位)、AB(双字节),DPTR(双字节)等可编址的寄存器。2.

内部数据存储器中低128字节,专用寄存器SFR,可寻址的位。3.

外部数据存储器空间。4.

程序存储器空间。

[注意]:编写程序时,操作数的最高位大于9时,在操作数的最高位前要加写0。否则,编译会提示出错。例如:MOVA,#0F8H是正确的,而MOVA,#F8H是不正确的。4.2指令格式及分类

用助记符来描述机器指令的语言称为符号语言或汇编语言,汇编语言是一种面向机器的程序设计语言。其规定的格式如下:[标号:]操作码助记符[第一操作数][,第二操作数][,第三操作数][;注释]标号是表示该指令所在的符号地址,一般是由字母开头的字符串组成。例如:ABCQ3PATD678均为标号的允许格式5AC-PTR+A等均为标号不允许的格式操作码助记符表示了指令的功能。第一操作数、第二操作数都表示操作的对象,这些是指令的核心部分。指令操作码部分是必不可少的。操作数段有的指令可以没有,或者只有一个操作数,例如:

RETI ;中断返回,无操作数

CPLA ;累加器逐位取反,只有一个操作数。注释字段是为方便用户阅读程序所加注的说明。

4.2.1汇编语言4.2.2指令代码格式

指令代码是指令的二进制表示方法,是指令在存储器中存放的形式。汇编语言只有经“编辑/汇编”程序翻译成机器语言,才能被执行。8051单片机指令系统中的指令字长有单字节、双字节、三字节三种。指令字节数越多,所占用内存单元越多。但是指令执行时间长短并不和所占用字节数的多少成比例。例如乘法为单字节指令,但是所需的指令执行时间却最长。

单字节指令:操作码例:RET;机器代码:22H双字节指令:操作码操作数

例:MOVA,#0FH;机器代码:740FH三字节指令:操作码第一操作数第二操作数例:MOV74H,#0BH;机器代码:75740BH4.2.3指令中的符号约定

符号含义A累加器ACCB寄存器BC进(借)位标志位,在位操作指令中作为累加器使用direct直接地址bit位地址,内部RAM中的可寻址位和SFR中的寻址位#data8位常数(8位立即数)#data1616位常数(16位立即数)@间接寻址rel8位带符号偏移量。Rn当前工作区(0~3区)的工作寄存器(n=0,1,…,7)Ri可作地址寄存器的工作寄存器R0和R1(i=0,1)(X)X寄存器内容((X))由X寄存器寻址的存储单元的内容→表示数据的传送方向/表示位操作数取反∧表示逻辑与操作∨表示逻辑或操作⊕表示逻辑异或操作4.3寻址方式

指令中的源操作数是立即数,叫做立即寻址。立即数的类型可以是:二进制(B)、十进制、十六进制(H)、整数、序数或者字符。立即数的字长可以是8位或16位。例如:

MOVA,#61H这条指令是把61H这个数据送入到累加器A中。例如:

MOVDPTR,#2050H这条指令是把2050H这个数据送入到数据指针DPTR中。1.立即寻址

操作数是指令的重要组成部分,它指定了参与运算的数或数所在单元地址,而如何得到这个地址就称为寻址方式。一般来说,寻址方式越多,计算机功能越强,灵活性越大。所以寻址方式对机器的性能有重大影响。8051单片机共有7种寻址方式,描述如下:2.直接寻址

直接寻址就是在指令中包含了操作数的地址,该地址直接给出了参加运算或传送的单元或位。它可访问三种地址空间:(1)

特殊功能寄存器SFR:直接寻址是唯一的访问形式(2)

内部数据RAM中的00H~7FH的128个字节单元(3)

位地址空间例如:MOVA,60H;把60H单元内容送入累加器A中。

3.寄存器寻址

指定某一可寻址的寄存器的内容为操作数,对寄存器ACC,B,DPTR和CY(进位标志,也是布尔处理机的累加器),其寻址时具体的寄存器已隐含在其操作码中。而对选定的8个工作寄存器R7~R0,则用指令操作码的低3位指明所用的寄存器。在应用中,可以先通过PSW中的RS1、RS0两位来选择寄存器组,再用操作码中低3位来确定是组内哪一个寄存器,达到寻址的目的。例如:INCR5 ;把寄存器R3的内容加1后再送回R54.寄存器间接寻址

指令指定某一寄存器的内容作为操作数地址。8051中可用来间接寻址的寄存器有:选定工作寄存器区的R0、R1,16位的数据指针DPTR,使用时前面加@表示间接寻址。例如:MOVA,@R0;将R0中的内容所表示的地址单元中的内容送给AMOVX@DPTP,A5.变址寻址

由指令指定的偏移量寄存器和变址寄存器DPTR或PC相加所得结果作为操作数地址。例如:MOVCA,@A+PC其中A作为偏移量寄存器,PC作为变址寄存器,A中内容为无符号数和PC相加,从而得到其真正的操作数地址。6.相对寻址

把指令中给定的地址偏移量与本指令所在单元地址(即程序计数器PC中的内容)相加,即得到真正的程序转移地址。与变址方式不同。该偏移量有正、负号,在该机器指令中必须以补码形式给出,所转移的范围为相对于当前PC值的-128~+127之间。例如:JC80H若C=0,则PC值不变,若进位C=1,则以现行的PC为基地址加上80H得到转向地址。

7.位寻址

支持位单元存取操作是8051单片机的一个主要特点。位操作指令能对位地址空间的每一位都可进行运算和传送操作。例如:MOVC,P1.0 ;将P1.0的状态传送到CSETB20.6H ;将20H单元的第6位置为1

MOVA,50H ;50H是字节地址

MOVC,50H ;50H是位地址

MOV60H,50H ;50H是字节地址4.4数据传送类指令

数据传送类指令是使用频率最高的一类指令。主要用来给8051系统的内部和外部资源赋值,进行堆栈的存取操作等。数据传送类指令执行前后,对程序状态字PSW不产生影响。按其操作方式,又可把它们分为三种:数据传送数据交换栈操作4.哄4.削1仿数跨据传紫送指稼令格式权:MO浇V个<目的饰字节仍>,和<源艇字节匙>功能遍:把膊第二毫操作胶数指薄定的颗字节痛变量活传送签到由战第一园操作竖数指羽定的良单元确中,昼不影讲响源蹲字节炮,不歼影响戏任何透别的仗寄存根器或钩标志惊。这柄是最小灵活桌的操显作,句允许该15剪种源虚和目辱的寻巷址方悔式组泼合。一、壁通用夹传送凶指令连——MO挑V1.立即臂数送鱼累加控器A和内拾部数早据存值储器睬(Rn,内部RA南M,云SF妙R)共有愉4条弊指令:MO搂V园A鸦,嫂#d狗at扶a危;(兔A)侦←互#d职at疗a梳M译OV塑di胸re言ct,#d辛at盲a;(di杏re佩ct)←#d找at到a屋M嗽OV桥@Ri,译#d煤at村a日;((Ri))袖←#d妈at与a要M馋OVRn,复#耻da阶ta明;(Rn)←#d巩at气a件@符号蹲表示傻间接似寻址泛,(孩(Ri))表示河把立陪即数互送到关由Ri寄存型器的房诚内容陷所指梨出的孩那个RA君M单元残中去旋。Ri中i=烛0或i=殊1。例1MO煎V垄@R0,#励56漠H声M举OV私@R1,#事59浑H假设R0的内识容为宇20H,则执谁行上惑述第路一条肢指令抹后,立即灾数5泻6H将送挎入内旧部数视据RA端M字节与地址时为2垃0H的单弱元中栗。蹈例2MO隐V虑R0,#葬79谨H淋;将立伪即数阀79H送到R0中MO窗V克R1,#问15亏H珠;将立基即数象15H送到R1中滴例3犬利旺用直砌接寻罢址可需把立悠即数评送入图内部蹦数据RA盆M任意例单元捧或SF泊R中任爪一特兰殊功适能寄莫存器仇,如撇例1缓用间融接寻恐址给着内部RA往M浇20石H单元年送立书即数涨56H,需两往条指察令:MO惹V娱R0,#往20少H沫M香OV冠@堂R0,#双56请H用直市接寻再址只嫩用一卫条指扇令:MO载V抛20黎H,时#5睁6H而指蚀令MO耳V城P1毙,#本80誉H则可戒把立陷即数浅80H直接旨送入P1各(字节克地址点为9牢0H)口中筐。2.内部们数据漫存储胜器(Rn,内部RA小M,顺SF但R)与累纤加器A传送章数据共有鉴6条盯指令晶:MO肝V膏A,di汤re未ct;(A)←(d度ir黄ec桶t)MO闷V喝A,烫@Ri;(A)←((Ri))MO淘V浇A,Rn;(A)←(Rn)MO嘴V束di迟re尽ct,A;(di员re蔑ct)←(A)MO复V鹊@Ri,呜A咽;((Ri))挥←(A)MO签VRn,巴A校;(Rn)←充(A)间接装寻址溉@Ri是以Ri的内集容作步为地而址,枕由于Ri为八权位寄组存器宇,寻卖址范泳围为狂0~渣25鸽5。盾但由链于特肺殊功滴能寄道存器SF勺R只能阔被直蒸接寻很址,筐而在SF弃R地址光范围哑(1拒28疏~2肤55误)中白很多货单元储又无娇定义爬,若京对之歉读写父,将干得不堂到确料定的盐值,掠写入止的数抽也将踏丢失帖。所剧以对馅内部销数据视存储奏器来性说间祝接寻点址的肚真正皆作用桑范围枝实际明上只递有0浸~1参27叙个单塔元的闲内部届数据RA辽M地址豪。例4摆指令烛序列提:MO冠V熟R畏1,骆#刻82寨H荐MO牢V黑A,竹@符R1上述识指令炭对于朵80缺51跳是不正悠确的,选因为击82H是特恋殊功扁能寄慨存器DP那L的地老址值蹈,对蹦特殊让功能舰寄存加器来施说,昌这种摄间接售寻址青方式件无效责。但访是,析对于躁80另52突单片灵机而委言则尤是正晚确的枣,其胃功能曲是将睁内部RA亭M的8它2H单元舌中的甩内容搅送到A中。蚕并且露,对晌于80著52的内佣部80障H~FF版H的RA事M单元焦,只睬能使幅用这汉种间优接寻绞址方强式进勾行访剧问。穿所化以欲岔从DP主L取数捕到累旗加器A,可用菌直接愿寻址侍方式挥:MO埋V女A,帖8蜜2H3.罩内部附数据栽存储授器中Rn怕、S转FR和内争部数洁据RA灰M之间自的数性据传方送,共有组5条捉指令我:MO估V庙di除re包ct轿,铃di捏re火ct睬;(di石re昏ct目)←(di善re抵ct源)MO起V镰di挡re姓ct,@Ri;(di弓re汁ct)←奖((Ri))MO聪V啊di免re久ct摧,Rn;(di酬re警ct)←澡(Rn)MO翠V饮@Ri,眠di绘re纳ct滨;((Ri))艘←(di康re风ct)MO弱VRn,炸d奇ir吼ec累t铁;(Rn)←摸(di滤re询ct)该5布条指狗令共巧有三鹿种寻思址方拐式:念直接两寻址泳,寄匆存器文寻址雅,寄固存器谋间接恢寻址著。8婶位直拍接地顿址可伞寻址六0~蒙25叔5个鼓单元问,对千于8慈05替1单稿片机邻而言宣,则洽可直剧接寻珍址内落部RA肥M魂00概H~两7F须H地址及空间氧的单乘元和挂所有荷特殊束功能狗寄存碗器,魄而对半80H~这0F悄FH地址昨中无伶定义缴的单蹄元访义问是史没有壤意义避的。端例存5趟指令MO荐V瓜P3卖,踩P1可把P1口的葡内容刺直接驴送到P3口输据出,澡而不掌必经厉过累馅加器A“中转决”。凝例闯6驰若设PS兼W中标仔志位RS只1、茅RS鞋0为“阶11阔”,漏则选泊中第释三组推工作些寄存播器区共,在剩这幻玉种情赵况下茄:MO涛V迈di衰re半ct优,抓R0与MO邀V细di乒re遥ct码,煌18书H两指草令是兔等价等的。以例林7惠用立挨即寻借址指吓令可搁直接尊给内瞧部RA酸M中2自0H、挖25姨H和P1口上历置数把:MO港V扫2伪0H永,俊#2醒5H汽M节OV视25惭H,惹#咳10某H姓MO间V撞P耳1匠,蓄#0坦CA餐H执行量后使虾(2默0H)玩=2听5H冷,(晓25挎H)倾=1营0H嗽,(袜P1妖)=趋0C通AH朱。4.目标朵地址骡传送介,只危有一绒条指烫令:MO饭V遵D壮PT杂R漂,#丘da购ta适16功能丘:把份16雁位常杯数装星入数意据指赞针。例8山指坑令MO忘V狠D驴PT蛇R借,#修20育03还H表示膏把1灭6位欲常数票装入牢数据情指针魔。其禁中DP脆H=育20范H,犹DP船L=践03翅H。二、钢外部域数据津存储较器(联或扩姻展I/注O口)记与累忍加器A传送税指令缠——MO猴VXMO钞VX指令厉主要沉用于阿累加昼器A和外嫂部扩瞒充的RA敏M或扩甚展I/质O口进缘瑞行数其据传更送。跟这种竭传送掉只有蛙一种龙寻址乔方式限,就寺是寄专存器晓间接历寻址告。用R1或R0以寄龙存器怨间接采寻址扰方式胳能访炊问外乏部数皂据存柱储器闲(或亲扩展I/强O口)剥25落6个相字节吩中的昂一个面字节毅,用膀16富位的候数据注存储晨器地科址指候针DP贯TR以寄角存器辣间接色寻址既的方督法能墨遍访初64K的外庙部数沙据存尊储器以(或罪扩展鞋的I/池O口)感的任共何单摔元。指令较格式毁:MO扫VX皮<目的邀字节寻>,谋<源内字节获>MO肝VX劝A徐,倒@D锅PT城R某;(A)←嘱((DP垄TR))MO梨VX与A残,猜@Ri;(A)←项((Ri))MO侮VX贩@滩DP召TR蒸,A版;(赖(D卧PT我R)誉)←职(A庆)忍MO啄VX围@Ri,佛A舌;(王(Ri虽))筒←(想A)例妖若外块部数旺据存梨储器逼单元薪中:(3徒00戚7H)齐=(线60困H)耕,(肾30私08砖H)帆=(奸2F染H)则执毯行:MO田V扶D贱PT犯R躺,#励30著07告HMO粗VX凳A,服@脾DP兽TR使累趣加器苦(A)络=6移0H三、愁程序塑存储剪器向往累加溜器A传送阴指令婆——MO姥VC对于译程序庸存储们器,80轨51单片线机提劫供了修两条由极其轿有用富的查嘱表指巡寿令。革这两穷条指避令采基用变让址寻行址,艘以PC或DP去TR为基液址寄原存器消,以辞累加循器A为变字址寄灿存器穷,基旅址寄类存器语与变慰址寄宗存器久内容拔相加页即得歌到程塔序存素储器拾某单默元的享地址敏值,MO米VC指令叔则把同该存读贮单谣元的恳内容生传送毙到累穷加器A中。MO遗VC笋A灾,@用A+嘴PC椒;俘PC哨←(固PC耐)+绪1隔(敞A)梨←(叙(A其)+肉(P母C)竭)沫MO秆VC省A这,@骨A+址DP炉TR血;翁(A嫩)←民((详A)覆+(复DP酿TR冤))功能昆:把组累加怖器A中内就容与每基址已寄存剧器(PC榨、D床PT计R)内容野相加笋,求岩得程峡序存遭储器齿某单领元地龟址,史再把哗该地以址单转元内俗容送搂累加睁器A。指令娱执行护后不印改变顺基址蒜寄存膀器内架容,闹由于梳执行匆16讲位加攀法,厚从低阔8位缸产生祖的进傅位将如传送秆到高害位去突,不斜影响鼓任何普标志丽。这继两条咱指令遭主要锋用于娇查表届,即纱完成葵从程嚷序存签储器鸽读取扑数据张的功阻能。州但由堂于两沿条指努令使拐用的幻玉基址别寄存榨器不见同,他因此建使用茄范围样也不鞋同。MO愤VC阁A途,@墙A+乞PC以PC作为悬基址馅寄存每器,秧在CP酸U取完英指令奶操作浙码时PC会自恋动加眯1,勺指向只下一膀条指测令的琴第一妥字节挽地址州,所打以这报时作饮为基籍址寄帐存器共的PC已不痕是原盐值,革而是PC尝+1值。闸因为躲累加惑器中烂的内良容为春8位和无符陷号整灶数,膝这就搞使得猪本指居令查饿表范吵围只检能在找以PC当前臭值开绒始后陡的2瓶56块个字漏节范趴围内绕,爆偏移垃量的页计算诵公式练如下棉:偏移睁量:DI疾S骗=表首粘地址蜻-谜(该第指令滔所在波地址绍+1富)例1及若念要根绳据累沉加器A的内苦容找谷出由惠伪指殊令DB所定谊义的娃四个触值中垫的一周个。软可用严下列荷程序枝:pp杨qq:丑A翁DD安A矮,#遣01持Hpp饼qq冤+2冲:否M晓OV坏C颤A皇,@养A+父PCpp缘瑞qq树+3代:汇R轻ETpp妈qq篮+4叛:S娃TA煌R:隶DB肉6脑6HDB脾7描7HDB军8域8HDB淘9津9HMO愁VC此A妻,@继A+搂DP齐TR指令展基址夺寄存速器为遗数据矛指针DP猫TR纹,表格容常数巡寿可设辱置在吹64K程序洁存储傅器的戒任何内地址泄空间剑,而却不必择像MO筐VC拨A诉,@阶A+号PC指令下只设爱在PC值以粗下的深25签6个稀单元忙中。第其缺矩点是撇若DP狮TR已有然它用台,在盘赋表薯首地迟址之破前必菌须保顽护现丽场,吐执行康完查谅表后俯再予他以恢殖复。贵例凡2煤试编逮制根捷据累惕加器A中的尼数(段0~笔9之裂间)形查其轻平方跟表的监子程桥序。CO永UN惰T:置PU腥SH底DP芬H悉;保护DP蔬TR内容PU坡SH逝DP响L供;鹊M鞋OV锹DP财TR川,级#T叨AB辫LE圈;赋表额首址土→DP逼TR取M芹OV液C咱A糠,绝@A务+D已PT袍R益;据A中内迅容查转表PO哀P腹D烟PL胞;恢复DP脸TR原内挠容PO甘P规D眠PH印R偿ET搬;返回梅主程木序TA男BL罚E:森D雷B饰00驾D悟B好01拾D拥B搭04嫁D哑B遣09逝D遣B沾16抖D娘B干25锹D旺B锯36拌D特B禽49忍D六B狂64号D拨B趋814.甩4.伏2沃数催据交烧换指出令1.坚字节折交换光指令XC爆H颜A稼,d的ir放ec蒙t帮;肿(A像)←款→(娃di脆re弄ct粮)XC蓄HA,垃@R饱i;(A)合←→喷((酿Ri))XC嘱HA,半Rn;(A)挖←→别(R咱n)上述脱指令划把累贸加器A中内源容与渡第二疫操作岔数所傲指定剪的工详作寄吵存器稻,间冬接寻矿址和党直接捧寻址予的某灿单元沸内容逼互相再交换每。例国设棕(R0碰)=饿20灯H,垂(A护)=汁3F宴H,伪(2摆0H循)=棉75屈H,执行廉指令XC图H考A阀,@迫R0将使项(A)叙=7际5H亭,(费20所H)悄=3捕FH棕,实现累了累父加器A和内吨部RA怖M衬20爱H单元循内容袋的互最换。2.半字颂节交像换指稳令XC争HDA,迎@R贪i;(清A3~步0)←运→(愉(R泰i)3~笔0)该指盆令把扬累加省器A的低喂4位恢和寄迁存器近间接赤寻址递的内缘瑞部RA选M单元旧的低贿4位做交换驻,高毅4位扫内容随不变男,不耻影响丈标志剃位。例昨设R1的内袍容为脾30H,凯A的内诱容为搂67H,内部RA美M中3故0H的内登容为乌84H,执行村指令XC血HD朝A,牧@R蛛1结果框:(A)慕=6绑4H及,(催30猾H)恳=8品7H4.章4.喇3稼栈浊操作恶指令PU葬SH著di强re应ct信;削(S戴P)酱←(薪SP觉)+他1(岛(S仔P)槐)←毕(d慈ir巡寿ec筹t)强P挥OP听d压ir鞭ec竭t广;(饺di价re遗ct待)←饮((贿SP遭))逃(S竿P)米←(窗SP廊)-咱1堆栈浑中的虫数据禽是以攻“后荡进先咸出”秀的结剃构方浅式处锅理的洲,这探种“领后进肢先出奴”的惨特点桑是由玻堆栈舰指针SP来控冷制的湾,SP用来脸自动恶跟踪桌栈顶恶地址站。由捏于单吴片机靠堆栈怖编址企采用赴向上川生成扎方式算,即翻栈底小占用镰较低惰地址苹,栈剑顶占急用较膛高地爱址,蜡所以岸其过包程为挎:劫入栈柄操作好:先才(SP廊)+搞1→鞋(S份P)锦,指向迟栈顶斑的上六一个板空单久元,脑后把丧直接纳寻址仙单元危的内躲容压掠入SP所指笼的单率元中伤。善出栈用操作巾:先底弹出诵栈顶幕内容糟到直警接寻蜘址单预元,哥后(SP疗)-痕1卡→(乌SP互),形成欣新的鼠堆栈笔指针作。例PU辛SH啦A探CC傻;保护羽累加考器AC骂C中内假容PU捏SH悉P交SW参;保护匆标志符寄存害器内锤容狭;馆执行晕服务芹程序PO混P讨P款SW生;恢复屯标志上寄存碑器内敲容PO还P丑A棋CC赞;恢复毅累加期器AC裂C中内兴容法该程锁序执去行后红,累前加器AC泄C和PS堡W寄存生器中脸的内早容可赴得到川正确填的恢葬复。炮若稿为:PU畏SH装A信CC余P稍US糟H妈PS膀W竭P亮OP兴AC简C泻P位OP豪PS护W则执速行后熟,将恨使得AC咱C和PS哈W中的是内容顾互换拖。在数敞据传恐送类缩慧操作歪中应梳注意焰以下掘几点键:1.各除了爷用PO有P或MO刚V指令仅将数道据传狼送到PS碧W外,王传送接操作脚一般固不影阔响标战志位配。2.寸执行缺传送元类指怒令时蜘,把氧源地林址单买元的屡内容迅送到柿目的炼地址歇单元豆后,授源地土址单向元中耕的内亡容不剂变。3.饮对特板殊功裳能寄蹲存器SF浇R的操辣作必异须使帐用直满接寻蔑址,锹也就描是说免,直脂接寻旦址是惑访问SF沉R的唯兆一方甲式。4.对于80梳52单片坐机内积部RA娃M的80惜H~FF蹦H单元覆只能袜使用@Ri间接锦寻址镰方式剂访问5.将觉累加踢器AC丙C压入顿堆栈饼或弹能出堆托栈时恶,应轨使用PU弊SH今AC舞C和PO脉P越A申CC指令略,不宜能使危用PU暖SH歇A和PO男P损A指令知。否颤则,划程序练编译箭会出拘错。4.烛5最逻揉辑操掉作类顺指令逻辑同操作船类指特令共席有2悦4条脂,包睡括与符、或如、清岭除、液求反殃、左紧右移暖位等强逻辑边操作颈。按挥操作淘数可垮划分喊为单颂操作善数和令双操才作数遍两种怀。单操煮作数五是专猾门对及累加宝器A进行水的逻集辑操斩作,谨这些肆操作政主要垦是:嘱清0栋、求坊反、水左右亦移位股等,四操作添结果渐保存垂在累译加器A中。双操箩作数母主要橡是累刑加器A和第退二操酬作数爆之间届执行子逻辑滑与、盗或和塑异或含操作午,第疫二操叮作数突可以炸是立弹即数嫂,也背可以游是内盒部数喂据存帜储器瓣的Rn、内部敌数据RA蹦M单元钻或者SF扇R。其对挑应的哗寻址序方式秩是:材寄存箩器、拜寄存笼器间须接、瘦直接撕寻址烧。逻茎辑操趋作的南结果滥保存长在A中。或也可岸将直薯接寻规址单扰元作熄为第朋一操笛作数飞,和泻立即众数,坊累加众器A执行鹅逻辑齐与、廊或和徒异或打操作接,结背果存届在直妇接寻抬址单衰元中炎。左移带进位左移单操作数(A)←ANL(ORL,XRL)A,ANL(ORL,XRL)direct,异或或(A)←A∧X(A)←AVX(A)←A⊕X其中,X代表第二操作数direct←direct∧Ydirect←directVYdirect←direct⊕Y其中,Y代表A或者#data与双操作数SWAPA4位环移RRCA带进位右移RRA右移RLCARLACPLA取反(A)←0CLRA清零执行结果指令形式功能4.顺5.病1秀对锅累加洁器A进行勾的逻温辑操赌作1.愚累年加器A清0指令抹:CL蚂R冶A供;(源A)赶←0功能穷:把婆00H送入慌累加工器A中2.司累永加器A求反指令穷:CP宵L尘A;拳(A溪)←搁()功能意:把骨累加垮器内片容求详反后鞭送入求累加摸器A中。例蛇设壳累加立器原花来内碧容为觉07H,则执聚行CL跪R困A后将捆变成宴00H,再执鸡行CP叼L漏A后将卫变为告0FF膜H。3.廉累猫加器A左右头移位RL皱A捎;累加活器左缎循环果移位RL撑C纳A粉;累加朝器通堡过C左循确环移盖位RR却A会;累加览器右薯循环熔移位RR工C筒A伙;累加握器通维过C右循勒环移供位SW帆AP绍A衫;交换律累加秤器两纵个半待字节眠(4损位循削环移掩位)左移同一位沿相当铸于乘毙2。例MO判V奸A童,#盛01宅H兔;0朗1H送累旬加器ARL钳A堪;极02太H送ARL疏A匆;菠04他H送ARL洋A脏;笋08原H送A右移称一位赢相当垮于除剑2,姐上述常累加嗽器(A)步=0旱8H脚,执行塑指令趴:RR观A托;(僚A)砖←0羡4HRR扔A馒;(赠A)航←0哈2HRR去A朝;(碑A)壳←0障1H将使枯累加碧器内嫌容又搭变为宵1。通过粥进位钓标志CY的移婶位可治用于纺检查露一个漂字节疤中各渗位的趴状态菌或用初于逐腊位输壮出的附情况穗。OU甘TP燃2:辜RR狮C供A陶;通裁过C话右移婶一位MO腹V业P1魄,AMO扯V爸P2每.0瞧,C化;该奔位输胜出到脱P2挨.0RE张T浪;返回该程冈序逐魂位将风A中臣的最脊低位献移入株进位鸭位C减,并障由P采2.绪0输愁出。鞋如果布反复欣调用麦该程右序,果并且炕在每蜡次调贤用之呼间加苍上一茂定的管延时站,就萝会形奏成“顺跑马警灯”蚂的效喇果。例单利陪用80押51单片用机的P1口输雁出控司制LE犬D的发孙光,录电路哥连接顿如图4-君6所示争。编段程实虹现使惜累加呀器A中的兽数据哪循环思送P1口,翠并使愤用P2劲.0输出讽指示戚进位丸标志萌。4.桑5.向2避双宾操作闪数指扬令1.蜓累谁加器A与立荡即数霉、内庙部存览储器系之间雀的逻祥辑操持作由于份逻辑铅与、鲁或、乔异或绣三种疯基本熟操作梨指令已格式舟和寻授址方再式都纱是一欣样的穷,故芹放在岭一起鲁介绍挖。#da战taAN意L(OR决L,XR弓L)A,di塔re站ct@RiRn例怪设A的内胡容为咬0C3廉H,愁R0为0AA聚H,执行岸命令趁(AN引L、只OR政L、免XR迎L)后,价结果禽如下绒:AN润L驾A,卡R0;(厉A)翅=8嘱2HOR健L现A,迫R0;(仔A)分=0陶EB螺HXR头L际A,室R0;(驼A)暮=6呜9H2.趁直细接地械址单让元(番内部RA趴M、始SF抹R)与累房诚加器A、立即警数之臭间的悟逻辑撒操作AN蚕L(OR疾L,XR咳L)di戏re化ct,AAN应L(OR钻L,XR洪L)di诉re鸡ct,#d属at雀a指令赢完成秘内部衡数据RA曲M和SF变R中直过接寻王址单殖元与缩慧累加苏器A、立即寺数之历间的认逻辑叹与(拥或,乌异或单)操桥作。例1设P1内容挺为0AA廊H,晨A中内秒容为票15H,则执驶行:AN潮L欲P1择,#撤0F析0H接;(造P1座)=言0A蓄0HOR窜L急P1还,#东0F闷H罚;(派P1输)=虚0A道FHXR海L脂P1设,A皆;(厅P1贯)=软0B叫FH逻辑验操作级是按掩位进勒行的欢,所勿以,买“AN哈L”指令崇常用嫌来屏速蔽字糟节中国的某眠些位为,该浅位欲具清除尼用“漏0”朗去“劫与”俱,该洗位欲厌保留丝式用“扁1”萍去“膛与”奏;“OR偷L”指令克常用白来使蒜字节岗中的禽某些阶位置穴“1时”,烟欲保鸭留(辩不变登)的捕位用培“0间”去歼“或投”,窑欲置挎位的搁位用鹿“1肝”去浴“或缸”;勺“XR镇L”指令征用来勒对字海节中所某些润位取半反。迫欲取牛反的蜓位用垒“1抄”去浇“异踪蝶或”深,欲窑保留沈的位嫁用“浊0”持去“肝异或构”。例设两至位用AS晚CⅡ码表斗示的飘数分誉别保参存在吓40H、丽41革H单元川中把况其转捐换成宿两位BC包D数,糖并以悼压缩泡形式射存入佩40H单元脉中。珍可编河程序框如下足:AN叛L店40杀H,启#0撇FH革;狡40赶H的AS爪CⅡ码变映成BC康D码MO猫V席A,夹41愈HAN菊L站A,出#0渣FH警;材41历H的AS纠CⅡ码变堆成BC竟D码RL男A德;左移轨4位RL新ARL芽ARL刮AOR起L俊40沙H,顶A眨;结果佳存4坟0H单元绪中若使筝用4赛位环鸽移指席令,拖将会巨使程烛序更碎简炼雷。AN监L兆40板H,愧#0乔FH杀;并40辣H的AS技CⅡ码变庆成BC售D码MO递V趣A,士4移1H影;AN许L货A,摘#0阻FH询;响41歪H的AS黎CⅡ码变口成BC框D码SW奸AP谁A朴;高、阻低4固位交古换OR富L箱40抵H,讯A蓝;结果践存4弃0H单元差中注意炒:当用柄逻辑培与、终或、狸异或奴指令封修改沈一个佳并行I/伯O口输贴出内焰容时莫,则夫原始序值将再从该瘦输出蝇口的予锁存用器中猴读取秩,而四不是箭从该衣输出干口的供引脚搂上读华取。4.鞠6申算怖术运夕算类甘指令该类自指令店主要授完成务加、梢减、染乘、齐除四逗则运桐算,访以及蛛增量研、减对量和蓄二十长进制停调整帝操作肥。除牙增量叫、减惠量指遣令外雀,这撞类指彼令大肚多数奥影响俩到状冰态标趟志寄泉存器PS请W。指令助记符影响标志备注COVACADD(加)××דה表示可置1或清0“0”表示总清0ADDC(带进位加)×××SUBB(带借位减)×××MUL(乘)0×

DIV(除)0×

DA(二-十进制调整)×

4.铃6.休1瓶加减巨运算美指令加减率运算昏中,挪以累课加器A为第授一操伏作数傍,并何存放搞操作念后的疲中间计结果烤。第顺二操菌作数久可以摊是立耗即数阀,工絮作寄绸存器极内容价,寄拜存器掏间接缘瑞寻址蹄字节软或直坝接寻目址字勿节,肤运算征结果闯会影鼓响溢疯出OV粘,进位CY先,辅助庄进位AC和奇默偶标纽奉志P。源操监作数闯寻址路方式掩有:张寄存般器寻倍址、该直接泳寻址弓、间劣接寻经址和谣立即撕数共秆4种控。1.加法绩指令利:AD兔D雁A舒,#暂da千ta秋;欲(A浮)←炮(A德)+巩#d瞧at趴aAD炒D继A夺,d寄ir绪ec五t钳;(物A)款←(膜A)敬+(探di柜re办ct绩)AD绕DA,架@R磨i;(A)述←(插A)扣+(伍(R因i))AD副DA,敌Rn;(A)遇←(每A)筐+(亮Rn)上述天指令载,把戏源字非节变东量(缘瑞立即雁数,待直接凝、间维接地稠址单俊元,列工作羞寄存画器内嘉容)顽与累茫加器王相加予,结逐果保华存在慰累加反器中忧,影戚响标苏志AC的、C健Y、威OV猾、P牢。例省执行朗指令诉:MO时V墓A篮,#争0C略3HAD迎D彼A甜,#膛0A接AH运算屈后,CY却=1豪,O茶V=触1,传AC揪=0逆,(解PS宋W)葛=8脆5H西,(迈A)洋=6热DH顺便后指出蛋:OV溢出真标志滤取决挖于带耀符号岭数运各算时搂,和咸的第引6、校7位骆中有姜一位娱产生编进位录而另涨一位荷不产指生进旱位,液则使OV置1辩,否悲则OV被清勿0。OV凳=1表示捉两正掠数相再加,而和变丘成负积数,预或两淹负数宅相加固,和祖变成迁正数歼的错阴误结赢果。2.垒带进鸦位加沃法指驾令AD剑DC装A,挨#d古at酿a匆;(迅A)世←(厚A)盐+#甲da拦ta壳+袋(C柱)AD服DC脉A,婆di意re附ct骆;速(A颜)←岭(A伙)+尤(d截ir尝ec院t)咐+(怨C)AD衣DCA,原@R受i;(A)离←(梯A)奔+(拔(R腊i)案)+牵(C)AD绩DCA,僵Rn;(A)巨←(滚A)悲+(懒Rn期)+全(C)例1翻设绝累加哈器A内容闻为0AA弹H,埋R0内容西为5坏5H,匙C内容约为1抗,执敌行指犯令:AD瞧DC饰A,琴R0将使拔(A)宪=0胖00俘00嫌00掀0B怖A比C=影1,排CY睡=1查,O健V=蒸0例2旋设佩累加落器A内容渐为3倚5H,谣P1口的绣内容西为4悔8H,完C=忍0则执珠行指创令:AD爪DC批A,备P1将使链(A)惹=7新DH挣AC姨=0见,C盲Y=讯0,顷OV伴=0这和咽执行仆指令厘:AD城D井A,却P1的结鸣果是厘相同距的。例3胶利用AD斜DC指令议可以堵进行于多字宜节加裳法运嫩算设双孕字节们加法匀中:且被加惕数放婆20H,艘21窝H单元同,加蚊数放鹊30H,枕31朵H单元言,和击存放荷在4参0H,即41哨H单元测,若槽高字适节相野加有赏进位粉则转OV跨ER处执堂行,睛可编殊程序妖如下恶:AD亲D1死:衡MO斯V滑A,捐20始H棕;取低费字节饲被加香数AD唤D拆A,宽30洞H颜;低位挨字节答相加MO凝V持40羽H,习A联;结果蛙送4乞0H单元MO欧V谈A,哲21走H喜;取高只字节侨被加积数AD吹DC乒A口,3偷1H随;加高辣字节六和低肾位来逼的进吓位MO刑V体41举H,翠A坟;结果参送4慨1H单元JC阅OV赔ER拿;有进摧位去OV味ER处执隙行OV舌ER绢:畜…视…老;3.带借谊位减旗指令SU右BB笛A,每#d财at李a巩;(镜A)允←(讽A)叶-昂#d阁at冲a值-(裁C)SU策BB雀A,胆di偿re详ct插;仙(A轧)←振(A途)-望(d愚ir查ec沾t)幸-(避C)SU禾BBA,被@R勾i;(净A)坚←(亚A)凉-(结(Ri))辽-(煎C)SU天BBA,盖Rn;(艘A)败←(震A)刮-(Rn)-凑(C值)由于减法袜只有宵带借魔位减丽一条悲指令,所征以在翻单字揉节相杏减时退,须除先清轿借位批位,熟以免璃相减笋后结束果出谅错。例1裤设累酒加器练内容疮为D9径H,愧R0内容胁为8刑7H,求两欲者相机减结菌果。CL藏R佛CSU歪BB早A,请R0执行丙后(A)谷=5仿2H抬,C惕Y=衡0,遮OV周=0若运店算两获数为聪无符娱号数猜,则务其溢昏出与叛否和亿“OV洗”状态族无关扭而靠CY是否坚有进聚位予苍以判切别,OV仅表茶明带线符号不数运筋算时筹是否骑溢出芹。例2棍两困字节庸数相互减,用设被珍减数担放2客0H,滤21芦H单元桂,减朽数放擦30H,畅31蒙H单元漏,差巷放在纷40H,续41章H单元寨,若咐高字厨节有悟借位爸则转OV而ER处执避行,沸可编云程序盐如下倘:SU答B1踏:随CL偷R透C品;低字竞节减球无借葱位CY清0MO灶V飞A攀,2牢0H订;初减乱数送ASU巴BB愁A它,3兴0H吃;低位寺字节伤相减MO华V猎40部H,葡A陈;结果汽送4承0H单元MO搂V丢A墓,2罪1H裙;被减腊数高拨字节箩送ASU醉BB嘱A捏,3浇1H严;高字仙节相催减MO帆V夕41谈H,赖A谎;结果庆送4捆1H单元JC岛OV部ER扭;高字兰节减鼠有借富位转OV帮ER处执警行……OV柏ER们:萍…………4.顽6.药2倚乘除舅运算衬指令1.劣乘异法指华令MU裂L规AB该指法令把爷累加吧器A和寄堂存器B中的妹8位斥无符揭号整架数相森乘,禾16善位乘丈积的炉低字推节在海累加聪器A中,咐高字越节在微寄存外器B中,关如果波乘积仰大于增25撇5(辅0FF俗H)贴,则溢甩出标绑志位匙置1坐,否唤则清父0,讲运算碌结果姿总使诸进位摆标志CY清0欧。例1设(A)程=8径0H板(1流28混),兵(B占)=斗32谷H(打50写),执行折指令驶:MU恒L笼AB执行墓结果射:乘荣积为孙19薪00H(肉64溜00四),依(A寇)=鸡00趁H,卫(B遗)=膛19要H,双OV商=1鼠,C松Y=锋02.珍除娃法指心令DI脑V内A忆B该指妻令把婚累加适器A中的哨8位残无符义号整熊数除愁以寄筒存器B中8颗位无派符号及整数嗽,所双得商哈放在全累加肤器A中,各余数博存在蜡寄存区器B中,盘标志恰位CY和OV均清册0。若除率数(B中内泪容)坦为0傅0H,则执侵行后折结果陵为不收定值用,并堪置位塞溢出描标志OV检,在任完何情狗况下炊进位忠标志CY总清呜0。例角设累率加器税内容朋为1协35狗(8关7H)增,B寄存杏器内股容为赛12芦(0CH渐),则执符行命映令:DI另V图A填B魄;将使伴(A)仁=0敢BH谣,(秀B)热=0侮3H霉,O悼V=轧0,残CY行=04.艇6.券3.衰增量愿、减其量指疤令1.著增量答指令IN俭C据A售;(列A)镰←图(刊A)捐+1IN本C柏di细re胃ct叮;星(d妨ir卸ec唯t)端←妈(堡di贺re梯ct茧)+阔1IN罗C记@Ri;(垄(Ri))袍←裁(窃(R防i)众)+迹1IN煤CRn;(Rn)猫←蚂(滴Rn狭)+退1IN哪C狸DP暖TR零;芒(D躺PT韵R)召←歇(婚D蛾PT杜R)您+1IN殃C指令败把所赖指出篇的变引量加挨1,弟结果毅仍送软回原捧地址呼单元粱,原邮来若垫为0FF茄H,加1遗后将窝变成题00H,运算猎结果啄不影狠响任鞋何标握志位航。指使令共逢使用典3种虑寻址声方式捎:寄恢存器裕寻址既、直把接寻片址或脖寄存撑器间蹲接寻飞址。若用奴本指刑令使梨输出容并行I/味O口内订容加要1时搁,则差用作梦输出堪口的冰原始咳值将害从输定出数吸据锁鸡存器值中读肚入,压而不樱是从叠输出图口的课引脚钥上读忆入。例1潮设股(R0)=龙7E茎H,内部竖数据RA役M中(专7EH烈)=拆0F梁FH平,(璃7F恐H)扫=4令0H角,则执载行下月列指员令:IN畏C偶@R0;(悬7E次H)支←容00先HIN仍C肢R0;(吐R0迫)真←宁7F蠢HIN缘瑞C缸@R0;(疫7F势H)具←静41观H执行风结果帖:(R0)=妥7F堪H,华(7肝EH跑)=冷00辩H,后(7旁FH昂)=派41姨H例2执行蹄指令陡序列利:MO缸V延DP血TR多,#屋1F祝FE阶H轰;(麦DP畏TR丸)执←个1F观FE纽奉HIN罢C联DP纪TR勿;(黄DP纤TR组)旱←列1F天FF戒HIN扇C茶DP册TR执;(腹DP税TR宇)岂←予20戏00段HIN牛C互DP谷TR宪;(遣DP总TR窃)顿←罪20未01众H将使侵(DP杏TR辜)=可20台01栽H2.列减量展指令DE抚C垦A射;狠(A猜)俭←评(A犯)-碌1DE医C钓di牧re劣ct木;(烤di触re稳ct扫)竖←叔(d奶ir饲ec肿t)袋-1DE椒C前@Ri;(丽(Ri))稳←通(如(R抬i)蹈)-名1DE绩CRn;(Rn)睁←怀(R乱n)所-1上述嫂指令科将指蜡定变迅量减英1,卵结果前仍存胞在原饿指定数单元同,原忽指定粗单元段内容辽若为袋00H,减1槐操作搜后变踩成0FF喉H,不影覆响任曾何标苦志位从。有低三种梯寻址裁方式拘:寄效存器抹寻址服、直诊接寻矛址或俘寄存枣器间吊接寻者址。同增供量指听令一顷样,乐若执事行对I/包O并行刘口内蜓容减丢1操母作,油将把闲该输侵出口孔数据格锁存星器读张出1靠,再浆写入启锁存晒器,苦而不岔是从尚输出化口引屡脚上允内容竭进行群减1楚操作菌。例层执纪行下棋述程贫序:MO足V辈R1,#烟7F涉H遇;谜(R1)紧←旧#7壤FHMO变V炉7E痕H,吵#0宪0H恭;凳(7底EH遵)响←脑#0层0HMO炒V跳7F仅H,肿#4送0H斑;枕(7海FH堵)区←倦#4殊0HDE定C伶@R1;(浴7F晨H)匙←惯3粒FHDE窝C惜R1;(渐R1)桂←拴7E庙HDE虑C刑@R1;(纸7E协H)随←混0疮FF算H结果性:睡(R1)=丧7E土H,帽(7烂EH烦)=杯0F恒FH托,(宣7F绿H)暖=3畅FH4.伙6.些4.盒二―缺十进厕制调川整指劫令DA图A调整白条件物和方廊法:视若[然(A0-饥3)>某9或(AC惊)=龙1]演,则(A0-明3)谅←疤(A0-吴3)+纸06垮H;若[秧(A4-嫌7)>蛛9或(CY暑)=圣1]写,则(A4-宝7)妙←掉(A4-圣7)+荡60曾H。由于觉指令胁要利厨用AC示,C仁Y等标事志位昨才能袄起到秀正确瞎的调粉整作雷用,兴因此果它必谁须跟碑在加毁法(AD黑D、脂AD折DC舰)指令出后面吸才能麻使用悄。指寸令的笑操作垒过程全为:美若相已加后屋累加洋器低炒4位质大于婆9或肿半进凭位位AC悬=1爬,则加拔06H修正巴;若油相加愚后累万加器岩高4飞位大败于9秤或进姜位位CY温=1岸,则加馋60H修正俩;若巾两者家同时械发生泥或高疫4位证虽等排于9冬但低志4位幻玉修正赢有进捐位,仁则应旅加6妇6H修正旷。例1猜利茫用十路进制排加法酸调整船指令蛮作十颂进制迟减法勉调整绳,必搁须采全用补矮码相鼠加的盛方法快,用救9AH插(即十狮进制您的1卖00国)减挽法减坏数即姜得以种10冠为模待的减僵数补违码。泽设被旅减数伍存3熔0H单元著,减踏数存跃40H单元连,结汁果存舒50H单元浑,可途编程艘序如闲下:BC识DS前UB链1:谦C陡LR鼻C握;清进愈位位MO各V庄A,裳#9场AH闷;求减端数补冻码SU坚BB愉A逢,4僚0H丙AD哗D互A,逼30叫H柱;进行位补码恼相加DA稠A拴M懂OV块5扔0H尘,A巧;结果局(差获)存叠50H单元例2替6位BC镜D码加玻法

温馨提示

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

评论

0/150

提交评论