当前位置: 首页 > news >正文

做网站建设推荐aspsql server典型网站建设案例 源码

做网站建设推荐,aspsql server典型网站建设案例 源码,wordpress 宕机,wordpress企业主题制作视频教程一、伪操作.global 全局.local 局部.equ 声明.macro 子函数.if .endif 条件编译.rept 重复操作.weak 弱化.word 申请一个字空间.byte 申请一个字节空间.align 地址对齐.arm ARM指令.thumb Thumb指令.text 代码段.data 数据段.space 申请N个字节空间 二、C和汇编的混合编程三、A…

  • 一、伪操作
          • .global 全局
          • .local 局部
          • .equ 声明
          • .macro 子函数
          • .if .endif 条件编译
          • .rept 重复操作
          • .weak 弱化
          • .word 申请一个字空间
          • .byte 申请一个字节空间
          • .align 地址对齐
          • .arm ARM指令
          • .thumb Thumb指令
          • .text 代码段
          • .data 数据段
          • .space 申请N个字节空间
  • 二、C和汇编的混合编程
  • 三、ATPCS协议

一、伪操作

伪操作:不会生成代码,只是在编译之前告诉编译器怎么编译 不同的编译器伪操作也不同

GNU(gcc)的伪操作一般都以 ‘.’ 开头

.global 全局
	.global symbol@ 将symbol声明成全局符号
.local 局部
	.local symbol@ 将symbol声明成局部符号
.equ 声明
	.equ DATA, 0xFF		@ 似于#define DATA 0xFFMOV R1, #DATA
.macro 子函数
	.macro FUNCMOV R1, #1MOV R2, #2.endmFUNC		@ 调用FUNC函数
.if .endif 条件编译
	.if 0		@ 如果条件 0-假, 1-真	MOV R1, #1MOV R2, #2.endif
.rept 重复操作
	.rept 3		@ 将下面这两行代码重复执行三次MOV R1, #1MOV R2, #2.endr
.weak 弱化
	@.weak symbol@ 弱化一个符号,即告诉编译器即便没有这个符号也不要报错.weak funcB func
.word 申请一个字空间
	@ .word VALUE@ 在当前地址申请一个字的空间并将其初始化为VALUEMOV R1, #1.word 0xFFFFFFFFMOV R2, #2
.byte 申请一个字节空间
	@ .byte VALUE	@ 在当前地址申请一个字节的空间并将其初始化为VALUEMOV R1, #1.byte 0xFF
.align 地址对齐
	@ .align N@ 告诉编译器后续的代码2的N次方对其.align 4@ 下面这条指令将会从2^4 = 16,0x16地址空间开始存储MOV R2, #2
.arm ARM指令
	.arm@ 告诉编译器后续的代码是ARM指令
.thumb Thumb指令
	.thumb@ 告诉编译器后续的代码是Thumb指令
.text 代码段
	.text				@ 定义一个代码段
.data 数据段
	.data				@ 定义一个数据段
.space 申请N个字节空间
	@ .space N, VALUE@ 在当前地址申请N个字节的空间并将其初始化为VALUEMOV R1, #1.space 12, 0x12@ 32位的处理器,0x4 — 0x16 地址空间将会全部存储12MOV R2, #2

二、C和汇编的混合编程

C和汇编的混合编程原则:在哪种语言环境下符合哪种语言的语法规则

  1. 在汇编中将C中的函数当做标号处理
  2. 在C中将汇编中的标号当做函数处理
  3. 在C中内联的汇编当做C的语句来处理

方式一:汇编语言调用(跳转)C语言

汇编中:MOV R1, #1MOV R2, #2BL  func_c	@ 将会跳到C语言代码中MOV R3, #3C语言中:void func_c() {int a;}

方式二:C语言调用(跳转)汇编语言

C语言中:void func_c() {int a;FUNC_ARM();  //将会跳转到汇编指令中}
汇编中:MOV R1, #1MOV R2, #2
.global FUNC_ARM	@ 全局变量
FUNC_ARM:MOV R3, #3

方式三:C内联(内嵌)汇编
asm( “汇编指令\n” );

C语言中:void func_c(void){int a;// C内联(内嵌)汇编	asm("MOV R6, #6\n""MOV R7, #7\n");}	

三、ATPCS协议

ATPCS协议(ARM-THUMB Procedure Call Standard)

ATPCS协议主要内容

  1. 栈的种类
    1.1使用满减栈

  2. 寄存器的使用
    2.1 R15用作程序计数器,不能作其他用途
    2.2 R14用作链接寄存器,不能作其他用途
    2.3 R13用作栈指针,不能作其他用途
    2.4 当函数的参数不多于4个时使用R0-R3传递,当函数的参数多于4个时,多出的部分用栈传递
    2.5 函数的返回值使用R0传递
    2.6 其它寄存器主要用于存储局部变量

http://www.yayakq.cn/news/876454/

相关文章:

  • 龙岗网站建设公司效果中文商城响应式html网站模板
  • 很多网站开发没有框架如何制作的wordpress ping百度
  • 网站建设服务器什么意思怎么免费建设自己网站
  • 专业做酒店网站智联招聘网站怎么做微招聘
  • 手机与pc的网站开发学校网站建设工作计划
  • 做视频网站要多少钱h5 php mysql网站开发
  • 什么网站可以看到绵阳建设跨境电商公司排名
  • c 网站开发部署品牌型网站建设公司
  • 河北seo网站设计怎么把网站放到服务器上
  • 物流企业网站建设步骤wordpress模板定做
  • 网站建设的价格公众号开通
  • 网站建设后台管理怎么管理张家界市建设网站
  • 想学做网站报班做搜狗网站快速排名软
  • 做网站 收费wordpress邮件设置方法
  • 游标卡尺 东莞网站建设html网页代码完整代码四个跳
  • 软件开发商网站煤矿网站建设
  • 灵璧县建设局网站乐陵关键词seo
  • 上海医疗器械网站前置审批村级网站模板
  • 番禺网站开发哪家好wordpress翻页数字
  • 怎样建立一个企业网站深圳的网站建设公司怎么样
  • 官方网站后台怎样做超链接微信群营销方案
  • 南宁3及分销网站制作有创意的设计主题
  • 做微信公众号的网站吗家在深圳app下载官网
  • 北京市教学名师项目建设网站短链接生成官网
  • 论坛网站模板免费下载百度商桥怎么添加到网站
  • 网站开发 明细seo博客模板
  • 曲靖市建设局网站杭州cms模板建站
  • 佛山有那几家做网站苏州学做网站
  • 类似wordpress的建站系统成都旅游酒店住哪里比较方便
  • 企业信息平台官网经典seo伪原创