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

国庆day6

国庆day6

汇编语言的组成
伪操作
不参与程序的执行,但是用于告诉编译器程序该怎么编译 如:

    .text        .global        .end        .if        .else        .endif        .data

汇编指令
汇编器将一条汇编指令编译成一条机器码,在内存里一条指令占4字节内存,一条指令可以实现一个特定的功能。

伪指令
不是指令,但是看似一条指令,可以实现指令类似的功能,一条伪指令可能是由多条指令共同实现。

注释

        单行注释:@多行注释:/**/

条件编译

.if 0
@text
.else
@text
.endif

汇编指令的介绍
基本数据操作指令
数据搬移指令:=
数据位移指令:<< >>
数据算数运算指令:+ - * /
位运算指令:$ | ~ ^
数据比较指令:cmp 第一操作数,第二操作寄存器,其有很多条件码,如果条件码满足则执行对应的指令
跳转指令
内存读写指令
状态寄存器读写指令
软中断指令

汇编指令的基本语法格式
基本格式: {cond}{s} Rd,Rn,#oprand2
解释:
opcode:指令码
cond:条件码
指令不加条件码,指令默认无条件执行
指令加条件码,指令有条件执行
s:状态位
指令不加s,指令执行的结果不会影响CPSR寄存器
指令加s,指令执行的结果会影响CPSR寄存器
Rd:目标寄存器
Rn:第一操作寄存器
#oprand2:第二操作数
1)立即数
2)有效数:将一个数取反之后,变成立即数
3)寄存器
4)经过移位的寄存器
注意事项:
1)汇编指令中不区分大小写
2)汇编指令不需要以;号结尾
3){cond}{s}:需要连在一起写
4)Rd,Rn,#oprand2:需要用逗号分隔开
5) {cond}{s}和Rd,Rn,#oprand2需要用空格分隔开

数据搬移指令
指令码:mov mvn

格式:{cond}{s} Rd,#oprand2

@ 代码1:mov r0,#0xf @ r0 = 0xfmov r1,#0xff@ mov r2,#0xfff @ error@ mov r3,#0xffff @ error@ mov r4,#0xfffff @ errormov r5,#0xffffffmov r6,#0xfffffffmov r7,#0xffffffff/*------------------ ------------------ ---------------*/
@ 代码2:mvn r5,#0xff  @ 0xff按位取反之后,赋值给r5mov r0,#0xff000000 @ 0xff 8mov r1,#0x1f800000 @ 0x7e  10mov r2,#0x00ffffff   @ ~r2 = 0xff000000mov r3,#0x0fffffff   @ ~r3 = 0xf0000000mov r4,#0xffffffff   @ ~r4 = 0x00000000
http://www.lryc.cn/news/183722.html

相关文章:

  • 力扣 -- 873. 最长的斐波那契子序列的长度
  • 【程序员必看】计算机网络,快速了解网络层次、常用协议和物理设备!
  • 1.软件测试基础
  • 综合布线系统概述
  • Labview 实战 99乘法表
  • 需求变化频繁的情况下,如何实施自动化测试
  • C++设计模式-桥接(Bridge)
  • Springboot+vue的开放性实验室管理系统(有报告)。Javaee项目,springboot vue前后端分离项目。
  • 1.9.C++项目:仿muduo库实现并发服务器之Connection模块的设计
  • Iphone文件传到电脑用什么软件,看这里
  • JS进阶-原型对象prototype
  • 【Unity】两种方式实现弹跳平台/反弹玩家(玩家触发与物体自身触发事件实现蹦床的物理效果)
  • python开发幸运水果抽奖大转盘
  • 【CMU15-445 Part-16】Concurrency Control Theory
  • 软件设计模式系列之二十五——访问者模式
  • 国庆看坚如磐石
  • 代码随想录Day59 | 647. 回文子串 | 516. 最长回文子序列
  • 为什么InnoDB选择B+树而不是红黑树作为索引结构?
  • 【c++_containers】10分钟带你学会list
  • LeetCode 0714. 买卖股票的最佳时机含手续费
  • cartographer-(0)-ubuntu(20.04)-环境安装
  • MIT 6.S081学习笔记(第二章)
  • L958. 二叉树的完全性检验 java
  • 阿里云对象存储OSS SDK的使用
  • 二、互联网技术——网络协议
  • 初赛错题集
  • Java Thread类详解
  • 3_使用传统CNN网络训练图像分类模型
  • Java 创建线程的方法
  • 基于安卓android微信小程序的旅游app系统