美文网首页iOS开发 技术集锦
如果你连这汇编技能你都没掌握,那你不是一名合格的iOS开发者

如果你连这汇编技能你都没掌握,那你不是一名合格的iOS开发者

作者: 编程新视野 | 来源:发表于2018-06-13 20:19 被阅读7次

    汇编语言(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,寄存

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

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

    如果需要以下书籍,加QQ群68752826免费分享

    相关文章

      网友评论

        本文标题:如果你连这汇编技能你都没掌握,那你不是一名合格的iOS开发者

        本文链接:https://www.haomeiwen.com/subject/wckreftx.html