自己做网站需要钱吗,网站建设十一要点,深圳晚报电子版,html网站建设源码国庆day6 汇编语言的组成 伪操作 不参与程序的执行#xff0c;但是用于告诉编译器程序该怎么编译 如#xff1a; .text .global .end .if .else .endif .data汇编指令 汇编器将一条汇编指令编译成一条机器码#xff0c;在内存里一… 国庆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}需要连在一起写 4Rd,Rn,#oprand2需要用逗号分隔开 5 {cond}{s}和Rd,Rn,#oprand2需要用空格分隔开
数据搬移指令 指令码mov mvn
格式{cond}{s} Rd,#oprand2 代码1mov r0,#0xf r0 0xfmov r1,#0xff mov r2,#0xfff error mov r3,#0xffff error mov r4,#0xfffff errormov r5,#0xffffffmov r6,#0xfffffffmov r7,#0xffffffff/*------------------ ------------------ ---------------*/代码2mvn r5,#0xff 0xff按位取反之后赋值给r5mov r0,#0xff000000 0xff 8mov r1,#0x1f800000 0x7e 10mov r2,#0x00ffffff ~r2 0xff000000mov r3,#0x0fffffff ~r3 0xf0000000mov r4,#0xffffffff ~r4 0x00000000