您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 总结/报告 > 詹剑峰2011.5.14学习工作总结
长沙天野电子科技有限公司詹剑峰学习工作总结日期:2011年5月9日星期:星期一内容简介上午学习ARM32位指令体系,ARM寻址方式,ARM的基本指令前半部分。下午继续学习ARM指令体系,ARM基本指令的后半部分,完成整个ARM指令的学习,初步熟悉ARM指令。总结体会ARM基础学习体会开始ARM指令集的学习,了解ARM指令结构,寻址方式,掌握ARM的指令体系,了解ARM的基本指令功能,形成初步印象。1.ARM指令寻址:共9种寻址方式,分别是寄存器寻址,立即寻址,基址寻址,变址寻址,堆栈寻址,多寄存器寻址,寄存器间接寻址,寄存器移位寻址,相对寻址与块拷贝寻址。2.指令格式:opcode{cond}{s}Rd,Rn{,operand2}助记符执行条件是否影响CPSR目标寄存器第一个操作数,第二个操作数Operand2,常数表达式,寄存器,寄存器移位方式3.执行条件:EQ相等NE不相等CS/HS无符号数大于或等于CC/LO无符号数小于MI负数PL正数或零VS溢出VC没有溢出HI无符号数大于LS无符号数小于或等于GE有符号数大于或等于LT有符号数小于GT有符号数大于LE有符号数小于或等于AL无条件执行(指令默认条件)NV从不执行(不要使用)4.存储器访问指令:存储器是与ARM内的寄存器相对应的,很明显可分为几种访问方式,加载寄存器(LDR)寄存器存储(STR)多寄存器加载(LDM)多寄存器存储(STM).寄存器存储器交换(SWP)5.传送指令:在任何汇编结构体系当中,传送指令是最常用最基本的指令,一般选用MOV指令,在ARM传送指令中还增加一个一种MVN:MVN{cond}{s}Rd,operand2Rd=(~operand2)数据非传送6.算术指令:包含加法(ADD,ADC)减法(SUBSBC,RSB,RSC)RSCRd,Rn,operand2Rd=operand2-Rn-carry带借位逆向减法指令乘法(MUL,UMULL,SMULL)乘加(MAL,UMLAL,SMLAL)7.逻辑运算指令:包含与(AND),或(ORR),异或(EOR),位清除(BIC)8.比较指令:CMP比较CMN负数比较TST位测试CMP相等影响标志位N,Z,C,V,不保存运算结构。9.分支指令:B(PC=label)BL(LR=PC-4,PC=labelLR保存PC-4),BX(PC=lable,切换处理器状态根据Rm最地位切换处理器状态10.协处理器指令:CDP{cond}coproc,opcode1,CRd,CRn,CRm{,opcode2}条件码协处理器名特定操作码目标寄存器源寄存器第二源可选特定操作码CDPP7,0,C0,C2,C3,011.杂项指令:SWI(软中断指令)MRS(读状态寄存器)MSR(写状态寄存器)12.伪指令:ADRADRLLDR将小中大范围的某地址值读入某寄存器NOP空操作伪指令,用于延时明日计划公司清理杂物,整理清扫公司环境长沙天野电子科技有限公司詹剑峰学习工作总结日期:2011年5月10日星期:星期二内容简介上午公司清理杂物,整理清扫公司环境下午公司清理杂物,整理清扫公司环境总结体会清理公司杂物,整理清扫公司环境明日计划学习ARM16位指令体系Thumb指令,并分析一些有关ARM,与thumb指令的相关例题,加强熟练程度。长沙天野电子科技有限公司詹剑峰学习工作总结日期:2011年5月11日星期:星期三内容简介上午学习thumb指令下午学习装机,下午转移住宿地点,适应新的住宿条件。总结体会ARM学习体会:1.Thumb指令集与ARM指令集的区别只有B指令可条件执行单寄存器访问指令,智能操作R0~R7LDM和STM指令可对R0~R7的任何子集进行操作分支指令跳转具有更多的限制数据处理指令的操作结果必需放入其中一个2.Thumb单寄存器访问指令-----立即数偏移寻址LDRRd,[Rn,#immed_5*4]加载内存中的字数据到寄存器RdLDRHRd,[Rn,#immed_5*2]加载内存中的半字数据到寄存器Rd中LDRBRd,[Rn,#immed_5*1]加载内存中的字节数据到寄存器Rd中STRRd,[Rn,#immed_5*4]将Rd中的字数据存储到指定的内存中去STRHRd,[Rn,#immed_5*2]将Rd中的低16位半字数据存储到指定内存中去STRBRd,[Rn,#immed_5*1]将Rd中的低8位字节数据存储到指定的内存中去3.Thumb单寄存器访问指令-----寄存器偏移寻址(R0~R7)LDRRd,[Rn,Rm]加载内存中的字数据到寄存器Rd中LDRHRd,[Rn,Rm]加载内存中的半字数据到寄存器Rd中LDRBRd,[Rn,Rm]加载内存中的字节数据到寄存器Rd中STRRd,[Rn,Rm]将Rd中的字数据存储到指定的内存中去STRHRd,[Rn,Rm]将Rd中的低16位半字数据存储到指定的内存中去STRBRd,[Rn,Rm]将Rd中的低8位字节数据存储到指定的内存中去5.Thumb单寄存器访问指令-----相对偏移指令编码(R0~R7)LDRRd,[PC,#immed_8*4]加载pc+#immed_8*4到寄存器Rd中LDRRd,label加载label地址上的字数据到寄存器Rd中LDRRd,[SP,#immed_8*4]加载SP+#immed_8*4的字数据到寄存器Rd中STRRd,[SP,#immed_8*4]将Rd中的字数据存储到指定SP+#immed_8*4中6.Thumb单寄存器访问指令-----寄存器入栈及出栈指令PUSH{reglist[,LR]}reglist,LR入栈PUSH{R0-R7,LR}POP{reglist[,PC]}reglist,PC入栈POP{R0-R7,PC}7.Thumb多寄存器访问指令(R0~R7)LDMIARn!,reglistSTMIARn!,reglist明日计划继续学习Thumb指令。长沙天野电子科技有限公司詹剑峰学习工作总结4日期:2011年5月12日星期:星期四内容简介上午继续学习Thumb指令下午接收任务,管理并登记公司设备(电脑和物柜)总结体会ARM学习体会:1.Thumb数据处理指令------传送指令MOVRd,RmRd=Rm(R0~R15)(R0~R7)影响N,Z,清零C,VMVNRd,RmRd=(~Rm)(R0~R7)影响N,ZNEGRd,RmRd=(-Rm)(R0~R7)影响N,Z,C,V2.Thumb数据处理指令------算数指令ADD/SUBRd,Rn,RmADC/SBCRd,Rm(R0~R7)带进位加、减MULRd,Rm(R0~R7)3.Thumb数据处理指令------逻辑运算指令ANDRd,Rm(R0~R7)ORRRd,Rm(R0~R7)EORRd,Rm(R0~R7)BICRd,Rm(R0~R7)Rd=(Rd&~Rm)相应位清除指令4.Thumb数据处理指令------比较指令CMPRn,Rm减法影响标志位CMPRn,#eprCMNRn,Rm加法影响标志位TSTRn,Rm位与影响标志位5.Thumb分支指令6.Thumb杂项指令SWI#exper8SWI1;软中断,中断立即数为0SWI0x55;软中断,中断立即数为0x557.Thumb伪指令伪指令将基于PC相对偏移的地址值读取到寄存器中。LDR伪指令用于加载32位的立即数或一个地址值到指定寄存器NOP伪指令在汇编时将被替换成一条Thumb空操作的指令。明日计划学习《汇编语言》第12章内中断长沙天野电子科技有限公司詹剑峰学习工作总结日期:2011年5月13日星期:星期五内容简介上午登记完公司的所有设备(计算机和物柜),制定登记表格,和设备申请表格。下午学习《汇编语言》第12章内中断总结体会汇编语言学习:开始学习《汇编语言》第12章内中断,了解其概念,产生,及相关的处理过程,对PC内中断有个清晰的认识。1.中断:CPU不再接着向下执行,而转去处理中断信息,所谓中断信息就是由CPU内部产生或有外部传送的,可立即对接收的信息进行处理。2.内外中断:CPU为界,cpu内部产生,和cpu外部传送的中断,先分析内部中断,内中断的四种情形:除法错误,单步执行,执行into指令,执行int指令。3.中断类型码:用于标识中断信息的来源。为一个字节数据,即256中编码,内部中断典型的类型码,除法指令:0,单步执行:1,执行into:4,执行int指令,该指令格式为intn,n为提供给CPU中断类型码。4.中断向量表:8位中断类型码,通过中断向量表找到相应中断处理程序的入口地址,用于中断类型嘛与中断处理程序的入口地址一一对应,相应成表。表项占两个字,高地址字存放段地址,低地址存放偏移地址。从0000:0000开始存放。5.中断处理过程:(1)取得中断类型码N;(2)Pushf标志寄存器的值入栈(3)TF=0,IF=0用于避免单步执行进入死循环(4)PushCS(5)PushIP(6)(IP)=(N*4),(CS)=(N*4+2)读取入口地址,设置IP,CS6.中断处理程序:(1)保存用到的寄存器(2)处理中断(3)恢复用到的寄存器(4)用iret指令返回(功能等价:popIPpopCSpopf)明日计划总结本周学习工作。为下周学习工作制定计划长沙天野电子科技有限公司詹剑峰学习工作总结日期:2011年5月14日星期:星期六内容简介上午总结本周学习工作。为下周学习工作制定计划下午放假返校!总结体会本周总结:由于客观原因未能完成预期的学习任务,这周忙于公司杂物清理,住宿搬家,新任务的分配,致使学习时间减少,是学习滞后,希望在下周得到改善。本周除了完成上述杂事外,ARM学习上完成了ARM指令体系的熟悉,及Thumb指令的学习,但还有待熟练。在汇编语言方面本周只学习了第12章内部中断,了解了内部中断原理,并操作完成0号除法溢出中断的程序理解。下周计划下周三要请假回学校学习,其他时间用于完成汇编语言的学习,并练习熟悉汇编编写习惯和编写思想,同时进一步理解ARM及thumb指令体系的运用,学习和理解相关的程序。
本文标题:詹剑峰2011.5.14学习工作总结
链接地址:https://www.777doc.com/doc-2097106 .html