如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
会计学汇编语言程序的每一条语句都与计算机的某一条指令对应,所以必需熟悉指令系统。指令=操作码+操作数操作码——表示(biǎoshì)了该指令所能执行的操作功能。操作数——表示(biǎoshì)参加操作的数的本身或操作数所在的地址。第一节MCS-51指令系统(zhǐlìnɡxìtǒnɡ)MOVA,#23H一.符号(fúhào)注释立即(lìjí)寻址例2指令(zhǐlìng)助记符:MOVDPTR,#3FA6H例5指令(zhǐlìng)助记符:MOVA,@R0例6指令(zhǐlìng)助记符:MOVXA,@R1对片内RAM的位寻址区和某些可位寻址的特殊功能寄存器进行(jìnxíng)位操作时的寻址方式。如:SETB3DH;将27H.5位置1CLRC;Cy位清0寻址方式(fāngshì)涉及的存储器空间第三节指令系统(zhǐlìnɡxìtǒnɡ)一.数据传送(chuánsònɡ)指令一.数据(shùjù)传送指令2.以寄存器Rn为目的(mùdì)操作数的指令3.以直接(zhíjiē)地址为目的操作数的指令4.以间接地址为目的(mùdì)操作数的指令5.16位数据传送(chuánsònɡ)指令③MOVX@DPTR,A任务:将66H存入片外数据(shùjù)存储器地址为0033H的单元③MOVX@R1,A例:(三)查表指令(zhǐlìng)例:在程序(chéngxù)存贮器中数据表格为:SP:堆栈(duīzhàn)指针,八位特殊功能寄存器,不能位寻址。练习(liànxí):(四)交换(jiāohuàn)指令(六)传送指令(zhǐlìng)小结MOVA,Rn2.错误(cuòwù)格式3.例题(lìtí)(课堂练习10分钟)二.算术(suànshù)运算指令(一)加法(jiāfǎ)指令例:A=AEH,R1=81H,执行(zhíxíng)指令“ADDA,R1”。(二)带进位的加法(jiāfǎ)指令(三)带借位的减法(jiǎnfǎ)指令(四)乘法(chéngfǎ)指令(六)加1指令(zhǐlìng)(八)十进制调整(tiáozhěng)指令十进制的84的BCD码(九)算术运算指令(zhǐlìng)总结MULAB算术(suànshù)运算指令举例三.逻辑操作(cāozuò)指令(三)异或RRA(五)取反指令(zhǐlìng)四.控制转移(zhuǎnyí)指令AJMPaddr11SJMPrelLJMPaddr16(二)条件转移(zhuǎnyí)指令CJNEA,#data,relCJNEA,direct,relDJNZRn,rel(三)间接(jiànjiē)转移指令(略讲)例:/主程序(五)转移(zhuǎnyí)指令小结五.位操作指令(zhǐlìng)(五)位操作指令(zhǐlìng)小结第四节汇编语言程序(chéngxù)概述一.程序设计(chénɡxùshèjì)语言3.高级(gāojí)语言2、汇编(huìbiān)结束伪指令END告诉汇编(huìbiān)程序,对源程序的汇编(huìbiān)到此结束。一个程序中只出现一次,在末尾。三.汇编语言程序(chéngxù)的设计步骤第五节汇编语言(huìbiānyǔyán)程序设计一.顺序程序设计(shèjì)例2.设有两个四位BCD码,分别(fēnbié)放在23H、22H单元和33H、32H单元中求它们的和,并送入43H和42H单元中去(低位在低字节)练习.对一个16位二进制数进行求补运算(yùnsuàn)。设此16位二进制数存放于R1和R0中,求补后送存R3和R2中。ORG0000HMOVA,R0CPLAINCAMOVR2,AMOVA,R1CPLAADDCA,#00HMOVR3,ASJMP$二.循环(xúnhuán)程序设计先修理(xiūlǐ),后判断:循环有:单循环、多重循环。循环次数已知,可用计数器控制(kòngzhì)循环次数;循环次数未知,按问题条件控制(kòngzhì)循环是否结束。START:MOVR2,#08H;循环计数初值(循环次数已知)MOVR0,#10H;地址指针初值MOVXA,@R0;取数MOVB,A;暂存B中LOOP:MOVA,#30H;将中间单元(A)置成30HJNBB.7,NA;判断转换的二进制位为0否?INCA;若为1,则变成1的ASCII码“31H”NA:INCR0;修改地址指针MOVX@R0,A;存放转换的结果(jiēguǒ)MOVA,BRLA,B;作好准备,判断下一位MOVB,A;暂存DJNZR2,LOOP;判断转换结束否?未完继续SJMP$一、流程图ORG1000HBUBBLE:MOVR0,#30HMOVB,#64HCLR10HDECB;长度计数(jìshù)LOOP: