电气知识|汇编语言程序的结构

   更新日期:2017-03-26     来源:建材之家    作者:安防之家    浏览:40    评论:0    
核心提示:在详细介绍ARM汇编语言之前,先给出一个汇编源程序示例,使读者对ARM汇编语言程序的结构有一个大概的了解。 CODE32 ;32位的ARM指令段 AREA codesec, CODE, READONLY ;代码段,名称为codesec,属性为只读 main PROC ;函数main STMFD sp!,{lr} ;保存必要的寄存器和返回地址到数据栈 ADR r

2019年中国陶瓷卫浴行业市场发展趋势和需求预判

推荐简介:2019年中国陶瓷卫浴行业市场发展趋势和需求预判第一、市场需求总量会略有萎缩,主要是楼市成交后,装修动力不足;但不会有大的萎缩,市场份额会稳定在65-70亿㎡之间,行业整体形势稳定,不会有太大起伏,行业不会出现灾难性后果,更加不会崩盘;第二、大量低端生产企业、没有创新能力、市场营销比较传统的生产型企业、营销公司将批量退出建材市......
安防之家讯:在详细介绍ARM汇编语言之前,先给出一个汇编源程序示例,使读者对ARM汇编语言程序的结构有一个大概的了解。

CODE32 ;32位的ARM指令段

AREA codesec, CODE, READonLY ;代码段,名称为codesec,属性为只读

main PROC ;函数main

STMFD sp!,{lr} ;保存必要的寄存器和返回地址到数据栈

ADR r0,strhello ;取标签strhello代表的地址值

BL _ printf ;调用C运行时库的_printf函数打印

;“Hello world!”字符串

BL welcomefun ;调用子函数welcomfun

LDMFD sp!,{pc} ;恢复寄存器值

strhello ;strhello代表本地字符串的地址

DCB "Hello world!\n\0" ;定义一段字节空间

ENDP ;函数main结束

welcomefun ;子函数welcomfun

STMFD sp!,{lr} ;保存必要的寄存器和返回地址到数据栈

ADR r0,adrstrarm ;取adrstrarm的地址放到寄存器r0中

LDR r0,[r0,#0] ;将strarm的值放到r0中

BL _ printf ;调用C运行时库的_printf函数打印

;“Welcom to ARM world!”字符串

LDMFD sp!,{pc} ;恢复寄存器值

adrstrarm ;adrstrarm标签

DCD strarm ;保存strarm的地址

AREA constdatasec, DATA, READONLY,ALIGN=0 ;数据段,名称为constdatasec,

;属性为只读

strarm

DCB "Welcome to ARM world!\n\0" ;存放“WelcometoARM world!”

;字符串

EXPORT main ;导出main函数供外部调用

;引入3个C运行时库函数和ARM库

import _main

import __main

import _printf

import ||Lib$$Request$$armlib||, WEAK

END ;程序结束

将上面代码保存为hello.s,Windows系统下在终端输入命令行:

armcc -g hello.s -o hello.axf

将hello.s编译成映像文件hello.axf。

运行命令:

armsd -exec hello.axf

将出现下面结果:



1 ARM7TDMI, BIU, Little endian, Semihosting, Debug Comms Channel, 4GB, Mapfile,

2 Timer, Profiler, Tube, Millisecond [20000 cycles_per_millisecond], Pagetables,

3 IntCtrl, Tracer, RDI Codesequences

4 Object program file wangt.axf

5 Hello world!

6 Welcome to ARM world!

7 Program terminated normally at PC = 0x00009f70 (_sys_exit + 0x8)

8 +0008 0x00009f70: 0xef123456 V4.. : swi 0x123456

9 Quitting

…安防之家专注于各种家居的安防,监控,防盗,安防监控,安防器材,安防设备的新闻资讯和O2O电商导购服务,敬请登陆安防之家:http://anfang.jc68.com/
小程序码
 
打赏
 
更多>文章标签:安防监控
更多>同类安防监控资讯
0相关评论

推荐图文更多...
点击排行更多...
安防监控商机更多...
安防监控圈更多...
最新视频更多...
推荐产品更多...
水泥之家 | 橱柜之家 | 机械之家 | 水电之家 | 五金之家 | 家电之家 | 墙布头条 | 饰品头条 | 模具头条 | 家纺头条 | 建材群站 | 建材资讯 | 建材产品 | 俱乐部 | 装修之家 | 建材商机 | 装修问答 | 知名品牌 | 家装展会 | 装修效果图 | 商企动态 | 瓷砖之家 | 安防之家 | 灯具之家 | 门窗头条 | 地板头条 | 环保头条 | 暖气之家 | 玻璃幕墙 | 吊顶之家 | 隔断屏风 | 楼梯铁艺 | 家具之家 | 卫浴头条 | 石材园林 | 板材钢板 | 油漆头条 | 家纺头条 | 水泥之家 | 橱柜之家 | 家电之家 | 水电之家 | 五金之家 | 老姚之家 | 灯饰之家 | 电气之家 | 全景头条 | 照明之家 | 防水之家 | 防盗之家 | 区快洞察 | 漳州建材 | 泉州建材 | 三明建材 | 莆田建材 | 合肥建材 | 宣城建材 | 池州建材 | 亳州建材 | 六安建材 | 巢湖建材 | 宿州建材 | 阜阳建材 | 滁州建材 | 黄山建材 | 安庆建材 | 铜陵建材 | 淮北建材 | 马鞍山建材 |
建材 | 双碳之家 | 企业之家 | 移动社区 | 关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图 | 排名推广 | 广告服务 | 积分换礼 | RSS订阅 | sitemap | 粤ICP备14017808号
(c)2015-2017 Bybc.cn SYSTEM All Rights Reserved
Powered by 安防之家