屌丝学arm汇编-01-TST指令
2016-04-15 14:15
597 查看
一.指令说明
描述:TST 位测试指令
说明:
这个指令通常与EQ,NE这些条件码来组合使用,但是使用过程中需要注意 :与掩码逻辑与运算之后,全部测试位为0的时候,标志位Z = 1,此时EQ成立,反之则 Z = 0,NE成立。
特意写了个demo,运行一下体会下。
二.测试示例
area tst,code,readonly
entry
start
mov r0,#0x1
tst r0,#0x1
beq tst_pass
mov r0,#0x1
tst r0,#0x3
beq tst_pass
mov r0,#0x1
tst r0,#0x2
beq tst_pass
b stop
tst_pass
nop
nop
stop
b .
end
格式:TST{条件}{P} <op 1>, <op 2>
描述:TST 位测试指令
说明:
TST来检查是否设置了特定的位。操作数 1 是要测试的数据字而操作数 2 是一个位掩码,TST指令将操作数1与操作数2做逻辑与运算,和ANDS的区别就是不保存结果。TST会改变CPSR的条件标志位。
这个指令通常与EQ,NE这些条件码来组合使用,但是使用过程中需要注意 :与掩码逻辑与运算之后,全部测试位为0的时候,标志位Z = 1,此时EQ成立,反之则 Z = 0,NE成立。
特意写了个demo,运行一下体会下。
二.测试示例
area tst,code,readonly
entry
start
mov r0,#0x1
tst r0,#0x1
beq tst_pass
mov r0,#0x1
tst r0,#0x3
beq tst_pass
mov r0,#0x1
tst r0,#0x2
beq tst_pass
b stop
tst_pass
nop
nop
stop
b .
end
相关文章推荐
- #新闻拍一拍# IBM 招聘广告要求应聘者具备至少 12 年 K8S 使用经验
- vivi下重新调整分区
- ARM Linux系统启动
- Linux及ARM Linux程序开发笔记(零基础入门篇)
- 零基础入门篇之Linux及Arm-Linux程序开发笔记
- 开源操作系统和必备工具网站收集
- 我的 ARM+Linux 学习路线
- 关于ARM启动的一篇文章
- ARM 的堆栈初始化详解
- ARM条件码与CPSR标志位的关系
- 加载/存储指令
- 关于ARM 汇编的一些疑问
- ARM汇编伪指令介绍
- linux的防火墙及arm与虚拟机共享
- 编译单个驱动的Makefile文件。
- g++编译 参数 .
- 函数调用时函数栈状态分析
- 代码优化概要
- ARM Linux系统调用的原理
- Android LKM Rootkit,查找sys_call_table