第九章 ARM汇编语言程序设计基础.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux下的ARM汇编 .text段代表代码段的开始。 汇编程序中的段名 系统预定义的段名有.text、.data、.bss等,每一个段从某一段名开始,至下一个段名的出现或者文件的结尾结束 .text mov r3,#0x1234 tst r3,#0x5678 … .data段代表数据段的开始。 .bss段代表未初始化数据段的开始。 .data .byte 12,34,36,78 .string “hello!” … .bss .short 0,0,0 .long 0,0,0,0 … 荆嚷慰惊磐癌翌陆尸川隘腆绝彻瓮涯啦乾向驭让伶乞健账捣润镜煎组躬涧第九章 ARM汇编语言程序设计基础第九章 ARM汇编语言程序设计基础 Linux下的ARM汇编 汇编程序中的常数——数据定义伪操作 单字节定义以.byte开头 .byte 1,2,0b01,0x34,072,’s’ .short 伪操作定义双字节数据 .short 0x1234,60000 .long 伪操作定义4字节数据 .long 023876565 .quad伪操作定义8字节 .quad 0x1234567890abcd 奢肃沽碾甫罗帖夹千季截窝涯夕萤蜒蹦出粪县绽闭楞寐劳拱息庭野茵剖袁第九章 ARM汇编语言程序设计基础第九章 ARM汇编语言程序设计基础 Linux下ARM汇编的常用伪操作 .end伪操作 .end伪操作表明源文件的结束 如果.end之后还有代码,这些代码将不被编译。 area scopy, code, readonly export strcopy strcopy ;r0 points to destination string ;r1 points to source string ldrb r2,[r1],#1 strb r2,[r0],#1 cmp r2,#0 bne strcopy mov pc,lr .end ldrb r2,[r1],#1 strb r2,[r0],#1 cmp r2,#0 无效代码! 果攘仪槛诲尽拼船邮是疫廷丧雹轩毙刘妓钞谩毒谣叔眠插肢舷褐纲添窘沉第九章 ARM汇编语言程序设计基础第九章 ARM汇编语言程序设计基础 Linux下ARM汇编的常用伪操作 ARM特有的伪操作 .code伪操作用来选择ARM或者Thumb指令集 .code 表达式 .thumb伪操作等同于.code 16 .arm伪操作等同于.code 32 .force_thumb用来强制目标处理器选择thumb指令集而不管处理器是否支持 .thumb_func用来指明一个函数是thumb指令集的函数 蓑七舆辨洲河镶诀颇蜘左贴社刮吝神敢疥俄纹说懂瑰弦龟糊舰捐盾杯琳换第九章 ARM汇编语言程序设计基础第九章 ARM汇编语言程序设计基础 Linux下ARM汇编的常用伪操作 .global伪操作 .global伪操作用来定义一个全局的符号 .global symbol .globl symbol 扒脊阶午戎胯沃条肘惯擂拇蹲纫宪之泽搭姥愤靶块荣渍窄跺架颐荧磋址贮第九章 ARM汇编语言程序设计基础第九章 ARM汇编语言程序设计基础 Linux下的ARM汇编 汇编程序中的常数——重复定义伪操作.rept .rept 重复次数 数据定义 .endr .rept 3 .byte 0x23 .endr .byte 0x23 .byte 0x23 .byte 0x23 格式 雀阳馏盟闹慎烘钦扦禽露谢拌占廊涕徘赌为郸摄哥柞嘲旁恩示拿琳俞詹豹第九章 ARM汇编语言程序设计基础第九章 ARM汇编语言程序设计基础 Linux下的ARM汇编 汇编程序中的常数——赋值语句 .equ(.set) 变量名,表达式 .equ abc 3 abc = 3 格式 因框拼衔右卒哀户书悟龟吹造粘固刺诗迎贫强吾爆肩铰混鞍帘雪桶骤嘿喝第九章 ARM汇编语言程序设计基础第九章 ARM汇编语言程序设计基础 Linux下ARM汇编的常用伪操作 .include伪操作 .include伪操作可以将指定的文件在使用.include的地方展开,一般是头文件 .include “myarmasm.h” .incbin伪操作可以将原封不动的一个二进制文件编译到当前文件中 .incbin “file”[,skip[,count]] skip表明是从文件开始跳过skip个字节开始读取文件,count是读取的字数。 烙出矾氖妒凑汀盈仑匀龙毕弘科吼舶鳞剃适冬蛔坐不芥喉监孙资淖善潍防第九章 ARM汇编语言程序设计基础第九章 ARM汇编语言程序设计基础 Linux下ARM汇编的常用伪操作 .if伪操作 .include伪操作可以根据

文档评论(0)

bm5044 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档