版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、汇编语言程序示例Example1/Example1.DOC;例一:数据块拷贝,利用LDR/STR指令;项目名:Examplel.mcp,文件名:Examplel.sAREABlock,CODE,READONLYnumEQU10ENTRYstartLDRR0,=srcLDRR1,=dstMOVR2,#numblockcopyLDRR3,R0,#4STRR3,R1,#4SUBSR2,R2,#1BNEblockcopyBAREABlockData,DATA,READWRITEsrcDCD0,1,2,3,4,5,6,7,8,9dstSPACE10*4ENDExample2/Example2.DOC;例
2、二:数据块拷贝,利用LDM/STM指令;项目名:Example2.mcp,文件名:Example2.sAREABlock,CODE,READONLYnumEQU20ENTRYstartLDRR0,=srcLDRMOVMOVblockcopyMOVSBEQSTMFDoctcopyLDMIASTMIASUBSBNELDMFDR1,=dstR2,#numSP,#0x400R3,R2,LSR#3copywordsSP!,R4-R11R0!,R4-R11R1!,R4-R11R3,R3,#1octcopySP!,R4-R11copywordsANDSR2,R2,#7BEQstopwordcopyLDRR3
3、,R0,#4STRR3,R1,#4SUBSR2,R2,#1BNEwordcopystopBAREABlockData,DATA,READWRITEsrcDCD0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9dstSPACE20*4ENDExample3/Example3.DOC;例三:ADR伪指令;项目名:Example3.mcp,文件名:Example3.sAREAadrlabel1,CODE,READONLYENTRYstartBLfuncB.LTORGfuncADRR0,startADRR1,DataArea;ADRR2,DataArea+4300ADRLR
4、3,DataArea+4300MOVPC,LRDataAreaSPACE8000ENDExample4/Example4.DOC;例四:LDR伪指令;项目名:Example4.mcp,文件名:Example4.sAREALDRlabel1,CODE,READONLYENTRYstartBLfunc1BLfunc2B.func1LDRR0,=startLDRR1,=Darea+12LDRR2,=Darea+6000MOVPC,LRLTORGfunc2LDRR3,=Darea+6000LDRR4,=Darea+6004MOVPC,LRDareaSPACE8000ENDExample5/Exampl
5、e5.DOC;例五:利用跳转表实现程序跳转;项目名:Example5.mcp,文件名:Example5.sAREAJump,CODE,READONLYnumEQU2ENTRYstartMOVR0,#0MOVR1,#3MOVR2,#2BLarithfuncB.CMPR0,#numMOVHSPC,LRADRR3,JumpTableLDRPC,R3,R0,LSL#2JumpTableDCDDoAddDCDDoSubDoAddADDR0,R1,R2MOVPC,LRDoSubSUBR0,R1,R2MOVPC,LRENDExample6/Example6.DOC;例六:基于S3C4510B的串行通信程序;
6、项目名:Example6.mcp,文件名:Example6.s;DefineSpecialFunctionRegisterIOPMODEQU0x3FF5000IOPDATAEQU0x3FF5008UARTLCON0EQU0x3FFD000UARTCONT0EQU0x3FFD004UARTSTAT0EQU0x3FFD008UTXBUF0EQU0x3FFD00CUARTBRD0EQU0x3FFD014AREAInit,CODE,ENTRY;LEDDisplayLDRR1,=IOPMODLDRR0,=&ffSTRR0,R1LDRR1,=IOPDATALDRR0,=&ffSTRR0,R
7、1;UART0linecontrolregisterLDRR1,=UARTLCON0LDRR0,=0x03STRR0,R1;UART0controlregiserLDRR1,=UARTCONT0LDRR0,=0x9STRR0,R1;UART0baudratedivisorregiser;Baudrate=19200,对应于50MHz的系统工作频率LDRR1,=UARTBRD0LDRR0,=0x500STRR0,R1;Printthemessages!LOOPLDRR0,=Line1BLPrintLineLDRR0,=Line2BLPrintLineLDRR0,=Line3BLPrintLine
8、LDRR0,=Line4BLPrintLineLDRR1,=0x7FFFFFLOOP1SUBSR1,R1,#1BNELOOP1BLOOP;PrintlinePrintLineMOVR4,LRMOVR5,R0LineLDRBR1,R5,#1ANDTSTMOVEQBLBR0,R1,#&FFR0,#&FFPC,R4PutByteLinePutByteLDRR3,=UARTSTAT0LDRR2,R3TSTR2,#&40BEQPutByteLDRR3,=UTXBUF0STRR0,R3MOVPC,LRLine1DCB&A,&D,"0123456789*&q
9、uot;,0Line2DCB&A,&D,"ABCDEFGHIJKLMNOPQRSTUVWXYZ",0Line3DCB&A,&D,"abcdefghijklmnopqrstuvwxyz.",0Line4DCB&A,&D,0END3、存储器从0x400000开始的100个单元中存放着ASCII码,编写程序,将其所有的小写字母转换成大写字母,对其它的ASCII码不做变换。解:MOVR0,#0x400000MOVR1,#0LPLDRBR2,R0,R1CMPR2,#0x61BLONEXTCMPR2,#0x7B;0x6
10、1-一0x7A为小写字母的ASCSUBLOR2,R2,#0x20STRBLOR2,R0,R1NEXTADDR1,R1,#1CMPR1,#100LPBNE8、编写一简单ARM汇编程序段,实现1+2+-+100的运算。解:MOVR2,#100MOVR1,#0LOOPADDR1,R1,R2;R1中为累加和SUBSR2,R2,#1;R2控制循环BNELOOP4、编写程序,比较存储器中0x400000和0x400004两无符号字数据的大小,并且将比较结果存于0x400008的字中,若两数相等其结果记为0,若前者大于后者其结果记为1,若前者小于后者其结果记为-1。解MOVR0,#0x400000LDRR1
11、,R09取第1个数LDRR2,R0,#4;取第2个数CMPR1,R29两个数相比较MOVHIR1,#15R1大MOVLOR1,#-19R1小MOVEQR1,#0两个数相等STRR1,R0,#87、编写一程序,存储器中从0x400200开始有一个64位数。(1)将取反,再存回原处;(2)求其补码,存放到0x400208处。解:LDRR0,=0x400200LDRR2,=0xFFFFFFFFLDRR1,R0;取低32位数EORR1,R1,R2;取反STRR1,R0;存低32位反码ADDSR1,R1,#1;又加1为求补STRR1,R0,#8;存低32位补码LDRR1,R0,#4;取高32位数EORR1,R1,R2;取反STRR1,R0,#4;存高32位反码ADCR1,R1,#0;高32位求补STRR1,R0,#12;存高32位补码Example7Example7.OC例七:汇编语言与C/C+的混和编程项目名:Example7.mcp文件名:Example7_asm.s文件名:Example7_c.c;Example7_asm.sAREAAsm_C,CODE,READONLYENTRYLDRSP,=0x4000IMPORT_mainBL_mainB.END#include<stdio.h>intmain()printf(&
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 咖啡师初级理论知识复习题试题及答案详解
- 2026年地质集团考试模拟试卷(含答案)
- 2,5-双三氟甲基苯甲酰氯项目可行性研究报告
- 计算机等级考试(初级理论知识模拟练习题)及答案详解
- 2026年韩语口语模拟试卷(含答案)
- 2026年分子诊断学模拟试题(含答案)
- 学校2025上半年招聘考试公共基础知识试题及答案详解
- 考试电脑入门题目及答案详解
- 2026年铁道模拟题及答案详解
- 2026年日语考试模拟题归纳及答案详解
- 无人机通信与导航课件
- T-CITS 606-2025 临床检验报告单规范化编写指南
- 民办学校理事会会议纪要范本
- 和面机操作安全培训课件
- 质量体系文件宣贯课件
- 2025年小学道德与法治教师专业考试试题及答案
- 反式肩关节置换术的护理
- 石墨产品仓库管理制度
- 酸菜购销合同协议
- 维修钳工知识培训课件
- T-CNFPIA 3002-2024 T-CBIAS 2105-2024 无醛人造板及其制品
评论
0/150
提交评论