版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
既可以认为是一个公司的名字46、法律有权打破平静。——马·格林47、在一千磅法律里,没有一盎司仁爱。——英国48、法律一多,公正就少。——托·富勒49、犯罪总是以惩罚相补偿;只有处罚才能使犯罪得到偿还。——达雷尔50、弱者比强者更能得到法律的保护。——威·厄尔既可以认为是一个公司的名字既可以认为是一个公司的名字46、法律有权打破平静。——马·格林47、在一千磅法律里,没有一盎司仁爱。——英国48、法律一多,公正就少。——托·富勒49、犯罪总是以惩罚相补偿;只有处罚才能使犯罪得到偿还。——达雷尔50、弱者比强者更能得到法律的保护。——威·厄尔ARMInstructionSet&
AssemblyLanguageProgrammingJianjianSONGSoftwareInstitute,NanjingUniversityContentARMArchitectureIntroductionARMInstructionSetARMAssemblyLanguageProgramming函授英语教学如何进行?一直是函授英语教师和学员所关注的问题。在多年的英语教学中我体会到,函授英语教学应同全日制学校的理工科一样,其主要任务是培养阅读能力。学员通过三个学期的学习能较全面、系统地掌握英语的基础知识和基本技能,达到中等阅读水平,借助词典能够读懂或译准本专业和有关书刊。欲达此目的,函授英语教学的出发点和归宿都应是注重自学能力的培养和阅读能力的提高。因此,两个能力的培养应贯穿于英语教学的全过程。我的具体做法是把两个能力的培养和提高纳入各教学环节。一词汇教学词汇是语言的建筑材料,词汇量的大小及辨词能力与阅读能力和速度有着直接关系。材料的获取仅凭死记硬背,一个个孤立地去积累是无法奏效的。因此,在第一学期掌握了一定量的词汇后,我向学员介绍了一些如何记忆词汇的方法,使学员们明白了有些词要死记硬背,而有些词要靠“猜”,“猜”是一把钥匙,这把钥匙一旦发挥作用,词汇量会以数十、数百乃至数千计增长。二语法教学如果说词汇是语言的建筑材料,那么语法就是语言大厦上的骨架,它既指导听、说、读、写等语言实践又为其服务,因此,把语法知识的传授放到应有的重要位置。英语语法项目繁多、内容庞杂,根据函授学员理解力强的优势,我将归纳法、演绎法和类比法并用。教育心理学告诉我们,要牢固地掌握知识,就应在一定的系统中学习知识,因此在按照教材进度运用归纳法讲授语法的同时,适时借助演绎法、类比法把同类或相近项目统筹在一定系统中去类比和概括。例如,动词时态是一项系统性很强的基本语法知识,学会五种常用时态之后,我便大胆地把十六种时态和盘托出,按两条主线讲授,一是以时间为主线,比较同一时间范畴内的四种不同方式;二是以方式为主线,比较同一方式下的四种不同时间范畴。这样通过纵横对比,十六种时态的用法及内在联系和区别就基本清楚了,收到了举纲张目的效果。三课文教学课文是语言知识的综合材料,它体现了语音、词汇和语法的综合运用,是培养阅读能力和检验阅读能力的重要环节。为了鼓励自学,有意识地让学员进行阅读能力自我测试,要求学员借助词典认真预习,要提高阅读能力必须多接触语言材料,仅把课文当做唯一的阅读材料是无法完成提高阅读能力这个根本任务的。因此,我除了让学员们必读课后的阅读材料外,还组织学员们阅读《英语快读》和《英语进阶》等读物,这些课外教材和课堂教学相互呼应,对巩固和扩大词汇量、丰富语言现象、增强语感都起到了潜移默化的作用,有助于阅读能力的提高。随着新课改的实行,很多教师认识到创新对教学的重要性,其实,教育学生的过程就是创新意识培养的过程,数学教师通过观察每节课学生的听课情况,结合自己的教学思路进行一定的改变,培养学生的创新思维。一、传统教学模式现状以往的高中数学课堂中,教师是整节课堂的主导者,一种以讲授知识点为主的教学观念深深地植入在教师心里。教师根据考试纲要进行备课的时候要注意培养学生学习主动性。学生在课堂上被动地接受知识,这样的学习效率远低于主动学习效率。长久的发展下去,学生逐渐地产生了一种对于教师过分依赖的情感,认为没有教师讲课,就没法学习。因此,高中数学教师需要改变这种传统的教学模式,给学生树立全新的学习观念,通过创新教学让学生成为课堂的主体,而数学教师只是起到协调辅助的作用。二、创新教学的具体体现1.变化授课内容的形式高中数学教师在给学生上课的时候,要选择和更改一些引导学生学习的例题。通过例题的灵活变化和拓展,让学生在解决例题的过程中掌握数学教师教授的知识要点。需要注意的是,我们选择的例题要有一定的代表性,在进行巩固练习的时候要经过自己的思考对选择的例题进行变化,让学生在解决问题的同时产生学习数学的兴趣,逐渐培养学生的创新思维。此外,我们还要尽量培养学生运用多种方式解决问题,善于利用例题的变化让学生学习的过程中体会学习的乐趣能够,进而进行数学的归纳与总结。2.灵巧地设置问题高中数学教师在指导学生学习的时候要根据生活实际提出问题,在向学生展示问题的过程中,教师所提出的问题要符合现实生活。比如在讲到“线性代数”这一章节的时候,可以根据码头上货船进入码头和货船航行速度来设置问题,让学生利用学过的线性代数知识来解答两艘货船什么时候可以相遇。当然,笔者认为最好还是让学生自己思考,教师只是起到引导学生思考的作用。譬如在讲解完线性代数的相关知识点之后,我们可以让学生自己思考这个知识点有多少知识点,可以从哪个角度设置考题,然后让学生互相设置题目让其他同学解答。3.在学习的过程中给予学生鼓励课堂是学生接受知识的场所,也是教师讲课的场所,更是师生之间交流互动的场所。教师在和学生互相交流的同时,在引导学生解决问题的时候要给予学生一定的鼓励,增强师生之间的感情。而教师的鼓励在一定程度上可以帮助学生树立自信心,给学生积极的评价。三、创新模式教学的几点原则1.探究式原则教师在高中数学课堂讲授重点知识的时候,要记住引导学生进行问题的探究,学生解的不仅仅是这一道题目,而是这一系列问题。通过高中数学教师的引导,学生在课堂上可以从根本上理解这种典型例题的运算方法,进而在下一次解决这种问题的时候就可以得心应手,从容面对。探究式原则不仅仅表现在课堂上,高中教师在布置课外作业的时候也要筛选出探究性的题目,在完成作业的时候能够给学生探究的空间。通过教师课堂上的训练和课后自己的学习,逐渐培养学生独自探究的良好习惯。2.启发式原则将启发式的教学方式应用到课堂的教学内容中,能够调动学生们进行自主学习。要为学生设置具有启发意义的教学环境,通过设置教学情境让学生对教学内容进行深入思考,这样可以帮助学生深刻地了解到学习数学知识的本质。启发式的教学能够打开学生狭隘的思维方式,对于同样的一个问题不会再像从前一样片面的对待,能够从多个角度去思考问题。这种看待问题的方式对学生的学习很有帮助,能够成功培养学生发现问题并且可以解决问题的能力。3.引导式原则创新教学的过程中,高中数学教师在课堂上为学生讲课的时候要抱着这样的一种心态,教师只是对学生的学习起到辅助的作用,学生才是课堂的主体。教师就像是一粒石子,学生就像是一片池塘。教师提出的问题投入池塘之后会引起波澜,这就是学生思考的过程,教师引导学生的解决问题,掌握知识,在学生思考的过程中帮助学生深入理解知识的本质。高中数学教师的授课内容不能脱离高考的要求,但是在按照教学纲要讲课的时候也不能照本宣科,教师应该是处于一个旁观者的角色,给学生自由发挥的空间。结语目前,我国高中数学教学的模式进行了深入的改革,创新教学的观念被很多教师接受并且应用于数学教学中,都取得了不错的效果。高中数学教学模式正在发生改变,很多不再适用的教学方法被慢慢的改进。创新教这种新型的教学方法在推行的过程中取得了不错的效果,得到了教师的一致好评。【ARMInstructionSet&
AssemblyLanguageProgrammingJianjianSONGSoftwareInstitute,NanjingUniversityContentARMArchitectureIntroductionARMInstructionSetARMAssemblyLanguageProgramming2.ARMArchitectureIntroductionARM(AdvancedRISCMachines)既可以认为是一个公司的名字,也可以认为是一类微处理器的通称,还可以认为是一种技术的名字。ARM公司是一家设计公司,是IP(IntellectualProperty)供应商,靠转让设计许可证由合作伙伴生产各具特色的芯片。armARM的特点ARM具有RISC体系的一般特点:大量寄存器绝大多数操作都在寄存器中进行,通过Load/Store的在内存和寄存器间传递数据。寻址方式简单采用固定长度的指令格式此外,小体积、低功耗、低成本、高性能16位/32位双指令集全球众多合作伙伴ARM体系结构的扩充Thumb(T
variant):16位指令集,用以改善指令密度;LongMultiplication(Mvariant):增加两条用于长乘法操作的指令;DSP(E
variant):用于DSP应用的算术运算指令集;Jazeller(Jvariant):允许直接执行Java字节码什么是指令密度?执行同等操作序列的前提下,单位内存空间所容纳的机器指令数。ARM处理器系列ARM7系列ARM9系列ARM9E系列ARM10系列SecureCore系列IntelStrongARMIntelXScale3.ARMInstructionSetAssemblylanguageARMprogrammingmodelARMmemoryorganizationARMdataoperationsARMflowofcontrolAssemblylanguageWhatisassemblylanguageandwhyassemblylanguage?One-to-onewithinstructions(moreorless).Basicfeatures:Oneinstructionperline.Labelsprovidenamesforaddresses(usuallyinfirstcolumn).Instructionsoftenstartinlatercolumns.Columnsruntoendofline.ARMassemblylanguageexamplelabel1 ADRr4,c LDRr0,[r4];acomment ADRr4,d LDRr1,[r4] SUBr0,r0,r1;commentARM指令的一般编码格式cond00XopcodeSRnRdShifter-operand312827262524212019161512110opcode:指令操作符编码cond:指令执行条件编码S:指令的操作是否影响CPSR的值Rn:包含第一个操作数的寄存器编码Rd:目标寄存器编码Shifter_operand:第二个操作数符号表示:<opcode>{<cond>}{<S>}<Rd>,<Rn>,<shifter-operand>ARM
AddressingModes(preliminary)寄存器寻址例:ADDR0,R1,R2;(R1)+(R2)→R0立即数寻址例:ADDR3,R3,#2;(R3)+2→R3寄存器间接寻址例:LDRR0,[R3];((R3))→R0寄存器变址例:LDRR0,[R1,#4];((R1)+4)→R0相对寻址例:Brel;(PC)+offset→PCPseudo-opsSomeassemblerdirectivesdon’tcorresponddirectlytoinstructions:Definecurrentaddress.Reservestorage.Constants.ARMprogrammingmodelr0r1r2r3r4r5r6r7r8r9r10r11r12r13r14r15(PC)CPSR310NZCVARMstatusbitsEveryarithmetic,logical,orshiftingoperationsetsCPSRbits:N(negative),Z(zero),C(carry),V(overflow).Examples:-1+1=0:NZCV=0110.231-1+1=-231:NZCV=0101.ARMdatatypesWordis32bitslong.Wordcanbedividedintofour8-bitbytes.ARMaddressescanbe32bitslong.Addressreferstobyte.Address4startsatbyte4.Canbeconfiguredatpower-upaseitherlittle-orbig-endianmode.InstructionsOverviewDatainstructionsLoad/StoreinstructionsMoveInstructionsComparisoninstructionsBranchinstructionsARMdatainstructionsBasicformat:ADDr0,r1,r2Computesr1+r2,storesinr0.Immediateoperand:ADDr0,r1,#2Computesr1+2,storesinr0.ARMdatainstructionsADD,ADC:add(w.carry)SUB,SBC:subtract(w.carry)RSB,RSC:reversesubtract(w.carry)MUL,MLA:multiply(andaccumulate)AND,ORR,EORBIC:bitclearLSL,LSR:logicalshiftleft/rightASL,ASR:arithmeticshiftleft/rightROR:rotaterightRRX:rotaterightextendedwithCDataoperationvarietiesLogicalshift:fillswithzeroes.Arithmeticshift:fillswithzeroesorones.RRXperforms33-bitrotate,includingCbitfromCPSRabovesignbit.ARMload/storeinstructionsLDR,LDRH,LDRB:load(half-word,byte)STR,STRH,STRB:store(half-word,byte)Addressingmodes:registerindirect:LDRr0,[r1]withsecondregister:LDRr0,[r1,-r2]withconstant:LDRr0,[r1,#4]ARMADRpseudo-opCannotrefertoanaddressdirectlyinaninstruction.GeneratevaluebyperformingarithmeticonPC.ADRpseudo-opgeneratesinstructionrequiredtocalculateaddress:ADRr1,FOO伪指令ADRADR{cond}register,expr将基于PC的地址值或基于寄存器的地址值读取到寄存器中汇编替换成一条指令ADRLADRL{cond}register,exprADRL伪指令比ADR读取更大的地址范围。汇编替换为两条指令LDRLDR{cond}register,=[expr|label_expr]将一个32位的常数或地址值读取到寄存器中NOP空操作,如MOVR0,R0ARMmoveinstructionsMOV,MVN:move(negated)
MOVr0,r1;r0<-r1ARMcomparisoninstructionsCMP:compareCMN:negatedcompareTST:bit-wisetestTEQ:bit-wisenegatedtestTheseinstructionssetonlytheNZCVbitsofCPSR.ARMbranchinstructionsB:BranchBL:BranchandLinkExample:CassignmentsC:x=(a+b)-c;Assembler:
ADRr4,a ;getaddressfora LDRr0,[r4] ;getvalueofa ADRr4,b ;getaddressforb,reusingr4 LDRr1,[r4] ;getvalueofb ADDr3,r0,r1 ;computea+b ADRr4,c ;getaddressforc LDRr2,[r4] ;getvalueofcCassignment,cont’d.
SUBr3,r3,r2 ;completecomputationofx ADRr4,x ;getaddressforx STRr3,[r4] ;storevalueofxExample:CassignmentC:y=a*(b+c);Assembler: ADRr4,b;getaddressforb LDRr0,[r4];getvalueofb ADRr4,c;getaddressforc LDRr1,[r4];getvalueofc ADDr2,r0,r1;computepartialresult ADRr4,a;getaddressfora LDRr0,[r4];getvalueofaCassignment,cont’d.
MULr2,r2,r0;computefinalvaluefory ADRr4,y;getaddressfory STRr2,[r4];storeyExample:CassignmentC:z=(a<<2)|(b&15);Assembler:
ADRr4,a;getaddressfora LDRr0,[r4];getvalueofa MOVr0,r0,LSL2;performshift ADRr4,b;getaddressforb LDRr1,[r4];getvalueofb ANDr1,r1,#15;performAND ORRr1,r0,r1;performORCassignment,cont’d.
ADRr4,z;getaddressforz STRr1,[r4];storevalueforzAdditionaladdressingmodesBase-plus-offsetaddressing:LDRr0,[r1,#16]Loadsfromlocationr1+16Auto-indexingincrementsbaseregister:LDRr0,[r1,#16]!Post-indexingfetches,thendoesoffset:LDRr0,[r1],#16Loadsr0fromr1,thenadds16tor1.ARMflowofcontrolAlloperationscanbeperformedconditionally,testingCPSR:EQ,NE,CS,CC,MI,PL,VS,VC,HI,LS,GE,LT,GT,LEBranchoperation:B#100Canbeperformedconditionally.Example:ifstatementC:if(a<b){x=5;y=c+d;}elsex=c-d;Assembler:;computeandtestcondition ADRr4,a;getaddressfora LDRr0,[r4];getvalueofa ADRr4,b;getaddressforb LDRr1,[r4];getvalueforb CMPr0,r1;comparea<b BGEfblock;ifa>=b,branchtofalseblockIfstatement,cont’d.;trueblock MOVr0,#5;generatevalueforx ADRr4,x;getaddressforx STRr0,[r4];storex ADRr4,c;getaddressforc LDRr0,[r4];getvalueofc ADRr4,d;getaddressford LDRr1,[r4];getvalueofd ADDr0,r0,r1;computey ADRr4,y;getaddressfory STRr0,[r4];storey Bafter;brancharoundfalseblockIfstatement,cont’d.;falseblockfblockADRr4,c;getaddressforc LDRr0,[r4];getvalueofc ADRr4,d;getaddressford LDRr1,[r4];getvalueford SUBr0,r0,r1;computea-b ADRr4,x;getaddressforx STRr0,[r4];storevalueofxafter...Example:Conditionalinstructionimplementation;trueblock MOVLTr0,#5;generatevalueforx ADRLTr4,x;getaddressforx STRLTr0,[r4];storex ADRLTr4,c;getaddressforc LDRLTr0,[r4];getvalueofc ADRLTr4,d;getaddressford LDRLTr1,[r4];getvalueofd ADDLTr0,r0,r1;computey ADRLTr4,y;getaddressfory STRLTr0,[r4];storeyExample:switchstatementC:switch(test){case0:…break;case1:…}Assembler:
ADRr2,test;getaddressfortest LDRr0,[r2];loadvaluefortest ADRr1,switchtab;loadaddressforswitchtable LDRr15,[r1,r0,LSL#2];indexswitchtableswitchtabDCDcase0 DCDcase1...Example:FIRfilterC:for(i=0,f=0;i<N;i++) f=f+c[i]*x[i];Assembler;loopinitiationcode MOVr0,#0;user0forI MOVr8,#0;useseparateindexforarrays ADRr2,N;getaddressforN LDRr1,[r2];getvalueofN MOVr2,#0;user2forfFIRfilter,cont’.d
ADRr3,c;loadr3withbaseofc ADRr5,x;loadr5withbaseofx;loopbodyloopLDRr4,[r3,r8];getc[i] LDRr6,[r5,r8];getx[i] MULr4,r4,r6;computec[i]*x[i] ADDr2,r2,r4;addintorunningsum ADDr8,r8,#4;addonewordoffsettoarrayindex ADDr0,r0,#1;add1toi CMPr0,r1;exit? BLTloop;ifi<N,continueARMsubroutinelinkageBranchandlinkinstruction:BLfooCopiescurrentPCtor14.Toreturnfromsubroutine:MOVr15,r14NestedsubroutinecallsNesting/recursionrequirescodingconvention:f1 LDRr0,[r13];loadargintor0fromstack ;callf2() STRr13!,[r14];storef1’sreturnadrs STRr13!,[r0];storeargtof2onstack BLf2;branchandlinktof2 ;returnfromf1() SUBr13,#4;popf2’sargoffstack LDRr13!,r15;restoreregisterandreturnSummaryLoad/storearchitectureMostinstructionsareRISCy,operateinsinglecycle.Somemulti-registeroperationstakelonger.Allinstructionscanbeexecutedconditionally.4.ARMAssemblyLanguageProgrammingWhyandwhentouse?AT&TformatandIntelformatGrammarofARMassemblylanguageExamplesWhyandwhentouse?操作系统内核中的底层程序直接与硬件打交道,需要用到的专用指令。CPU中的特殊指令频繁使用代码的时间效率程序的空间效率(如操作系统的引导程序)Referto“Linux内核源代码情景分析”(浙江大学出版社)1.5节AT&TformatandIntelformatGrammarofARMassemblylanguage语句程序格式语句语句指令伪操作宏语句格式{symbol}{instruction|directive|pseudo-instruction}{;comment}伪操作符号定义伪操作数据定义伪操作汇编控制伪操作框架描述伪操作信息报告伪操作其它伪操作关于变量的伪操作声明一个全局变量,并初始化GBLA,GBLL,GBLS声明一个局部变量,并初始化LCLA,LCLL,LCLS变量赋值SETA,SETL,SETSExampleGBLAobjectsize;声明一个全局的算术变量objectsizeSETA0xff;给该变量赋值SPACEobjectsize;使用该变量GBLLstatusBstatusBSETL{TRUE}关于数据常量的伪操作EQUnameEQUexpr{,type}通常在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026八年级道德与法治下册 公民权利的界限
- 会计本科职业规划路径
- 2026年商业绿化租赁合同协议
- 职业规划特征判断方法
- 掌握学科成就未来-提升学习效果的方法与策略
- 智慧医疗:改变未来-优化预约流程提升患者满意度
- 课题3 溶质的质量分数
- 2026年县乡教师选调《教师职业道德》题库检测模拟题含答案详解【新】
- 2026年作物栽培学测试卷含答案详解(完整版)
- 2026年驻村工作队专项考核试题及答案
- 河北嘉恒隆生物科技有限责任公司建设年产 10000 吨食品用明胶、5000 吨食用蛋白粉、5000 吨宠物饲料和 5000 吨油脂资源综合利用项目环境影响报告表
- 安全隐患排查及整改制度
- 人教版小学四年级信息技术上册知识点整理与归纳
- 饭店送餐合同协议书
- 《肿瘤分子生物学》课件
- 记账凭证封面直接打印模板
- 治安管理处罚法一本通
- 2023年湖南省长沙市中考物理试题(原卷)
- 头针疗法幻灯片
- YY/T 1268-2023环氧乙烷灭菌的产品追加和过程等效
- 浙江省艺术特长生A级乐理考试试卷
评论
0/150
提交评论