JE ;等于则跳转(jump if equal) JNE ;不等于则跳转(jump if not equal)JZ ;为 0 则跳转(jump if zero) JNZ ;不为 0 则跳转JS ;为负则跳转(jump if sign) JNS ;不为负则跳转JC ;进位标志为0则跳转(jump if carry) JNC ;进位标志不为0则跳转JO ;溢出则跳转(jump if overflow)
转载 2023-07-13 14:11:29
162阅读
注:本文由破船译自:raywenderlich。感谢唐巧抽出时间对本文进行double-check。  我们写的Objective-C代码,最终会被转换为机器代码 —— 由ARM处理器能识别的1和0组成。实际上,在机器代码之间,还有一门人类可以阅读的语言 —— 汇编语言。   了解汇编,可以深入到你的代码里面进行调试和优化的探索,并有助于你对O
刚开始学汇编,看着视频用MASM 编译 感觉挺麻烦的,就设计了这样的一个小程序  只要把汇编源程序 ASM文件 推拽到这个程序的图标就能完成编译、链接、生成exe 可执行文件支持DOS 命令行调用 : 本程序名 需要编译的文件名分为两个版本 【单文件版】 和 【集成 MASM 6.15 版】【单文件版】:需要自己下载 MASM用法:  首先需要将MASM.E
转载 2024-05-24 16:06:45
111阅读
内联汇编基础定义:C 代码中直接嵌入汇编语言。采用AT&T语法,参考下图。 AT&T 中的内存寻址址有固定的格式: base_address(offset_address,index,size) 该格式对应的表达式为 :base_address+ offset_address+ index*size。 基本内联汇编是简单的内联形式,其格式为: asm [volatile
目录新建文件准备编写程序并调试分析1.新建工程2.代码编写3.程序调试总结新建文件准备安装并配置KEIL1)在官网下载KEIL安装包。安装注册并下载支持包之后就可以编写程序了。编写程序并调试分析1.新建工程1.照如图顺序新建工程2.新建文件3.这里选择STM32F103VE4.点击 Asm Files (.s) 添加输入文件名5.完成!2.代码编写1.在刚建立的.s文件中添加代码如下AREA MY
简介上一篇文章 ARM64汇编基础 中介绍了汇编iOS开发中的应用以及ARM汇编基础知识,本文将介绍在C或Objective-C构成的工程中如何嵌入汇编代码。注意在调试ARM汇编时,Xcode的Build对象必须为真机,如果对象为模拟器则是x86汇编。内联汇编汇编与C间接通信在函数中可以直接插入汇编代码来影响函数的运行逻辑,使用的语法为编译指令 __asm__,注意插入汇编
一、数据传送指令 1、传送指令: MOV (move) 格式: mov dst,src 具体用法: (1) CPU内部寄存器之间的数据传送 如: mov ah,al (2) 立即数送至通用寄存器(非段寄存器)或存储单元 如: mov al,3 mov [bx],1234h
转载 2023-07-14 08:33:51
14阅读
Welcome back to GTKA, everyone's favorite investigative series where we learn all about the newest version of Android (with a heavy emphasis on "all"). The previous two episodes, if you didn't catch t
基础知识指令与伪指令汇编指令:CPU机器指令的助记符,编译后得到1和0组成的机器码,由CPU读取执行伪指令:本质上不是指令,由编译环境提供,目的在于指导编译过程,最终不会生成机器码不同的ARM风格ARM官方汇编风格:指令一般大写,windows IDE开发环境常用。(譬如:LDR、STR)GNU风格的ARM汇编:指令一般小写,linux中常用。(譬如:ldr、str)ARM汇编的特点ARM汇编特点
转载 2024-09-13 15:08:14
22阅读
# iOS汇编指令的初探 在现代移动设备的操作系统中,iOS是一个非常重要的平台。尽管大多数开发者使用高级语言(如Swift或Objective-C)进行开发,但理解底层的汇编指令仍然对提升编程技能大有裨益。本文将为您简要介绍iOS汇编指令及其应用。 ## 什么是汇编语言? 汇编语言是一种与计算机硬件紧密相关的低级编程语言。它与机器语言有着一一对应的关系,但是相比于机器语言,汇编语言使用了
原创 2024-10-17 08:12:40
64阅读
汇编指令学习接 汇编指令_01  11. LDS从存储器取出32位地址的指令 LDS格式: LDS OPRD1,OPRD2功能: 从存储器取出32位地址的指令.       说明:OPRD1 为任意一个16位的寄存器.OPRD2 为32位的存储器地址.      示例:
  源程序   伪指令     segment和ends     end     assume   标号   程序的结构   程序返回   语法错误和逻辑错误   编译   连接   执行   谁将可执行文件中的程序装载进入内存并使它运行?     问题1     问题2 操作系统的外壳 程序执行过程的跟踪   源程序 第一步:编写汇编源程序使用文本编辑器(记事本等),用汇
转载 2023-07-12 21:59:31
93阅读
最近看《加密与解密》这本书,他的第一个例子是用查找字符串的方式完成的,但是现在很多软件无法用这种方法完成。作为一位菜鸟,想研究一下利用API断点的方式完成反编译。就用了这个最简单的序列号保护程序作为练手工具了。 首先打开Ollydbg打开要破解的软件,添加API断点。当然之前已经运行过软件了,大致知道弹窗类型,于是就很自然的选择了MessageBoxA()与MessageBoxW()(因
转载 2023-11-18 19:16:44
18阅读
0、前言想要执行gcc - g wk9_20191314.c -o 9week -m32命令时显示找不到必要文件说明缺少库函数,使用如下命令安装库函数:sudo apt-get install libc6-dev-i386用到的指令b main:设置行断点,在main函数处设置断点 i r:查看当前寄存器的值 disassemble:反汇编当前的函数机器码 si:汇编命令,下一步 display
转载 2023-06-08 10:56:56
158阅读
# 理解 iOS 中的正则表达式:数字匹配 在 iOS 开发中,正则表达式是处理文本数据的重要工具之一。无论是在表单验证、数据解析还是字符串处理的场景中,正则表达式都可以帮助我们简化逻辑、提高效率。本文将着重讨论如何在 iOS 中使用正则表达式来匹配数字,并提供详细的示例。 ## 什么是正则表达式? 正则表达式(Regular Expressions)是一个用于描述字符串匹配模式的工具。
原创 2024-09-04 06:14:13
50阅读
# Flutter iOS 开发指南 随着 Flutter 的崛起,越来越多的开发者开始选择它作为移动应用开发的首选框架。Flutter 优雅的界面构建方式、热重载功能以及跨平台特性,使得开发者能够更快速地构建高性能的应用程序。本文将探讨如何使用 Flutter 进行 iOS 开发,结合代码示例和流程图,为你提供一条清晰的指导路径。 ## 什么是 Flutter? Flutter 是一
原创 7月前
39阅读
指令由操作码和操作数两部分组成。CPU在设计好之后,其指令集就确定了,CPU对每条指令都规定了相应的机器码,不同寻址方式的指令,不同运算的指令,它们的机器码都不相同。CPU刚开始读取指令时并不知道将会执行什么指令,它将指令地址发到地址总线,然后指令将“逐字节”地通过数据总线传送到CPU中,当CPU读取到指令中的操作码(前几个字节)时,就知道了当前指令的长度,于是就知道接下来应该读取多少字节的数据作
转载 2024-09-14 08:36:11
43阅读
iOS开发中,我常常遇到关于“iOS 汇编 元对象”的问题。这涉及到iOS的底层实现和性能优化,尤其是在某些以性能为导向的应用中,元对象(metaclass)机制在这一过程中扮演了重要角色。本文将详细探讨这个问题。 ### 背景描述 iOS中的汇编元对象模型是一种重要的机制,它使得动态运行时特性成为可能。通过运行时操作,开发者可以更灵活地与对象进行交互。 1. **元对象的定义:**
原创 6月前
10阅读
# iOS 代码首页实现指南 作为一名刚入行的小白,学习如何用代码实现一个 iOS 应用的首页是一个重要的里程碑。这篇文章将详细步骤和代码示例,帮助你从零开始搭建一个简单的 iOS 首页。 ## 整体流程 在实现 iOS 代码首页的过程中,我们将按以下步骤进行: | 步骤 | 描述 | |------|---------------
原创 10月前
43阅读
在逆向开发中,非常重要的一个环节就是静态分析,众所周知,手机上安装App其本质是一个二进制文件,而静态分析是建立在分析二进制上面的。所以在学习逆向之前,需要提前了解相关的汇编知识
原创 2021-04-30 14:49:24
630阅读
  • 1
  • 2
  • 3
  • 4
  • 5