软件工具 SofTool.CN 本次搜索耗时 0.251 秒,为您找到 223 个相关结果.
  • 5_Linux 汇编程序中的宏定义

    格式如下: .macro 宏名 参数名列表 @伪指令.macro 定义一个宏 宏体 .endm @.endm表示宏结束 如果宏使用参数,那么在宏体中使用该参数时添加前缀 / ,宏定义时的参数还可以使用默认值,可以使用.exitm伪指令来退出宏。 举例: 【例5】宏定义 .macro SHIFTLEFT a, b .if /b < 0...
  • 指令

    2517 2021-02-15 《Linux GNU ARM 汇编》
    因为此部分内容和《ARM 汇编》共用,所以请移步:https://www.softool.cn/read/arm_assembly/instruction.html
  • 03_指令的基本格式

    2514 2021-01-02 《ARM 汇编初体验》
    格式如下: <opcode > {<cond > }{s} <Rd > , <Rn > {,<operand2 > } opcode: 指令助记符cond: 执行条件S: 是否影响 CPSR 突破口的值Rd: 目标寄存器Rn: 第 1 个操作数的寄存器operand2: 第 2 个操作数其中<>内的项是必须的,{}内的项是可选的。 使用条件码“con...
  • SPACE

    2504 2020-12-25 《ARM 汇编》
    语法: 标号 SPACE 表达式 备注: 表达式表示需要分配的字节数; SPACE也可用”%”代替; 功能: SPACE 伪指令用于分配一片连续的存储单元,并将该区域初始化为 0 示例: ; //为标号 SOFTOOL 连续分配 100B 的存储单元,并将其值初始化为 0 SOFTOOL SPACE 100
  • bic

    2497 2020-12-25 《ARM 汇编》
    语法: bic {条件}{ S } Rd , Rs ,寄存器移位操作或立即数 备注: {条件} 可选项 Rd 目的寄存器; Rs 源寄存器 寄存器移位操作或立即数 可以是一个寄存器,被移位的寄存器,或一个立即数。 寄存器移位操作或立即数 如果在32位CPU中,那么为32位的掩码,如果在掩码中置了某一位1,则清除Rs对应的这一位,未设置的掩码位...
  • tst

    2497 2020-12-25 《ARM 汇编》
    语法: tst Rs, 寄存器移位操作或立即数 一般情况:Rs 是一个寄存器寄存器移位操作或立即数 常用作于位掩码 运算原理: “Rs AND 寄存器移位操作或立即数” 运算之后,只影响标志位,运算的结果不会存在 Rs 中。如果运算结果为0,那么影响 CPSR 的 z=1 ; 如果运算结果不为0,那么影响 CPSR 的 z=0 ; ...
  • 04_ARM64常用指令

    2492 2021-01-02 《ARM汇编基本指令》
    ARM指令所有指令都是带有条件的,默认是AL即无条件执行,当指令带有默认条件时不需要明确写出。ARM指令包含4位的条件码列表如下: 这里对ARM64下的栈操作指令进行补充说明:由于在ARM64下,对于栈的操作都是要16个字节对齐的,所以都是双寄存器读写操作。 stp 写入指令 将数据从两个寄存器中读出来, 写入到栈中 ldp ...
  • 2_ARM 寻址方式

    立即寻址 寄存器寻址 寄存器移位寻址 寄存器间接寻址 基址寻址 多寄存器寻址 堆栈寻址 块拷贝寻址 相对寻址 立即寻址 mov r0, #1234 相当于:r0=#1234。 #开头,表示16进制时,以0x开头,如#0x1f。 寄存器寻址 mov r0, r1 执行后,r0 = r1。NOP 操作通常为 mov r0...
  • IMPORT

    2454 2020-12-25 《ARM 汇编》
    语法: IMPORT 标号 {[ WEAK ]} 备注: 标号 区分大小写 [WEAK] 选项表示当所有的源文件都没有定义这样一个标号时,编译器也不给出错误信息,在多数情况下将该标号置为0 ,若该标号为B或BL指令引用,则将B或BL指令置为NOP操作。 功能: IMPORT 伪指令用于通知编译器要使用的标号在其他的源文件中定义,但...
  • .code 32

    2435 2021-02-14 《Linux GNU ARM 汇编》
    语法: 功能: 示例: 语法: .code 32 SofTool.CN Note:可以认为是 .arm 指令的另外一种写法; 功能: 告诉编译器从 .code 32 代码开始,后续的操作码使用 ARM 指令集; 示例: .code 32