04-探究iOS底层原理|ARM64汇编

前言 一、汇编的用途 编写驱动程序、操作系统(比如Linux内核的某些关键部分)对性能要求极高的程序或者代码片段,可与高级语言混合使用(内联汇编)软件安全 病毒分析与防治逆向\加壳\脱壳\破解\外挂\免杀\加密解密\漏洞\黑客 理解整个计算机系统的最佳起点和最有效途径为编写高效代码打下基础弄清代码的本质 函数的本质究竟是什么?++a + ++a + ++a 底层如何执行的?编...

C/C++程序的编译过程

我们拿到一个.c或者是.cpp源文件,它是怎么样一步步的变化成一个机器可执行文件的呢?程序的一般编译流程主要包括四大部分:预处理、编译、汇编和链接。下面讲解这四步的具体工作,带你了解源文件到可执行文件是怎样生成的。 编译过程 1. 预处理(Preprocess)2. 编...

汇编语言设计程序篇-03

汇编语言设计程序篇-03 用汇编语言写的源程序用汇编语言编写程序的工作过程程序中的三种伪指令源程序经编译连接后变为机器码汇编程序的结构如何写出一个程序来?程序中可能的错误 由源程序到程序运行由写出源程序到执行可执行文件的过程编译提示语法错误 连接执行可执行程序小结 运行及跟踪用Debug装载程序用Debug单步执行程序其他方式执行 [...]和...

汇编语言访问寄存器和内存篇---02

汇编语言访问寄存器和内存篇---02 CPU的组成寄存器是CPU内部的信息存储单元通用寄存器——以AX为例横看成岭侧成峰“字”在寄存器中的存储 mov和add指令确定物理地址的方法物理地址8086CPU给出物理地址的方法“段地址×16+偏移地址=物理地址”的本质含义 内存的分段表示法用分段的方式管理内存同一段内存,多种分段方案用不同的段地...

macOS 汇编指南

现在很多汇编的学习资料、途径和工具都是关于 Windows 下的,所以这里来介绍一下 macOS 上学习使用汇编需要的资料和工具。 本文持续更新中,也是作为个人笔记来使用的。 为什么需要学习汇编(使用途径) 汇编是计算机的“魔法”,虽然做个只会高级语言的“战士”也可以,但是当给“武器”附魔...

v87.01 鸿蒙内核源码分析 (内核启动篇) | 从汇编到 main () | 百篇博客分析 OpenHarmony 源码

本篇关键词:内核重定位、MMU、SVC栈、热启动、内核映射表 内核汇编相关篇为: v74.01 鸿蒙内核源码分析(编码方式) | 机器指令是如何编码的 v75.03 鸿蒙内核源码分析(汇编基础) | CPU上班也要打卡 v76.04 鸿蒙内核源码分析(汇编传参) | 如何传递复杂的参数 v77.01 鸿蒙内核源码分析(链接脚本) | 正在制作中 ... v78.01 鸿蒙...

【ARM汇编子程序】求三个数的阶乘并求和

每篇前言 ☀️作者简介:大家好我是汤姆凯特,大家可以叫我汤姆 🐋个人主页:IM汤姆凯特的CSDN博客 🎁系列专栏:【ARM嵌入式基础】 🌱每日一句: 不要试图鹤立鸡群,离开那群鸡。 文章目录 求三个数的阶乘并求和一、用子程序求...

【ARM汇编】打印金字塔 | 打印倒三角

每篇前言 ☀️作者简介:大家好我是汤姆凯特,大家可以叫我汤姆 🐋个人主页:IM汤姆凯特的CSDN博客 🎁系列专栏:【ARM嵌入式基础】 🌱每日一句: 没有人是无所不知的,知识真正能带给我们的无非是:不害怕未知。 文章目...

重新整理汇编—————寄存器的基本概念[二]

前言 有了前文的铺垫,直接开始。 正文 一个典型的cpu 由运算器、控制器、寄存器等器件组成,这些器件靠内部总线相连。 区别:内部总线实现cpu 内部各个器件之间的联系。 外部总线实现cpu和主板上其他器件的联系。 8086 cpu 有14个寄存器,他们的名称为: AX、BX、CX、DX、SI、DI、SP、IP、CS、SS、DS、ES、PSW。 8086 cpu所有的寄存器都是...

重新整理汇编—————汇编的基础理论前置篇

前言 什么是汇编呢? 就是说0 1 太难记了。 比如000100100101 到底是什么呢? 很难去人类去理解。 但是呢,cpu 对0、1 理解的很透彻了。 这个时候呢,人和cpu 之间的交流就出现了障碍了。 然后呢,人是高等生物,有思想的,但是cpu没有,那么就只能人迁就cpu了,迁就的一方往往就有点不幸福了。 那么人这个时候就很痛苦,但是又离不开cpu。那么这个时候人就想啊...