如果你连这汇编技能你都没掌握,那你不是一名合格的iOS开发者
汇编语言(AssemblyLanguage)是面向机器的程序设计语言。在汇编语合中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。于是汇编语言亦称为符号语言。
机器语言
由0和1组成的机器指令.
如:0101 0001 1101 0110
汇编语言(assembly language)
使用符号代替机器语言,也称为符号语言
如:mov ax,bx
高级语言
C\C++\Java\OC\Swift,更加接近人类的自然语言
如:int a = b;
我们的代码在终端设备上是这样的过程:

image.png
汇编语言与机器语言一一对应,每一条机器指令都有与之对应的汇编指令
汇编语言可以通过编译得到机器语言,机器语言可以通过反汇编得到汇编语言
高级语言可以通过编译得到汇编语言\机器语言,但汇编语言\机器语言几乎不可能还原成高级语言
汇编语言的特点
可以直接访问、控制各种硬件设备,比如存储器、CPU等,能最大限度地发挥硬件的功能
能够不受编译器的限制,对生成的二进制代码进行完全的控制
目标代码简短,占用内存少,执行速度快
汇编指令是机器指令的助记符,同机器指令一一对应。每一种CPU都有自己的机器指令集\汇编指令集,所以汇编语言不具备可移植性
知识点过多,开发者需要对CPU等硬件结构有所了解,不易于编写、调试、维护
不区分大小写,比如mov和MOV是一样的
总线:
每一个CPU芯片都有许多管脚,这些管脚和总线相连,CPU通过总线跟外部器件进行交互
总线:一根根导线的集合
总线的分类
地址总线
数据总线
控制总线

CPU的读写过程

数据总线
8086的数据总线宽度是16,向内存中写入89D8H如下
图:(注意:这里是16进制,后方的H是单词Hexadecimal的意思)

内存




寄存器
内部部件之间由总线连接

对程序员来说,CPU中最主要部件是寄存器,可以通过改变寄存器的内容来实现对CPU的控制不同的CPU,寄存器的个数、结构是不相同的(8086是16位结构的CPU)8086有14个寄存器都是16位的寄存器可以存放2个字节

今天给大家的分享就到这吧!有收获,或者喜欢小编的可以关注小编同时也欢迎大家加入小编的iOS交流群687528266,点击链接加入群聊【iOS软件开发学习交流】:https://jq.qq.com/?_wv=1027&k=53OMouY,群里会提供相关面试资料,书籍欢迎大家入驻!大家一起交流成长!!