zoukankan      html  css  js  c++  java
  • 汇编(一),走起。。。。。。。

    让编程改变世界

    Change the world by program


    引言

    汇编语言是直接在硬件之上工作的编程语言,首先要了解硬件系统的结构,才能有效的应用汇编语言对其编程。

    在本章中,对硬件系统结构的问题进行一部分的探讨,以使后续的课程可在一个好的基础上进行。

    当课程进行到需要补充新的基础知识(关于编程结构或其他的)时候,再对相关的基础知识进行介绍和探讨。

    本书的原则是,以后用到的知识,以后再说。

    汇编课程的研究重点放在如何利用硬件系统的编程结构和指令集有效灵活的控制系统进行工作。

    机器语言

    机器语言是机器指令的集合。

    机器指令展开来讲就是一台机器可以正确执行的命令。

    指令:01010000 (PUSH AX)

    电平脉冲:

    电子脉冲示例图

    早期的程序员们将 0、1 数字编程的程序代码打在纸带或卡片上,1打孔,0不打孔,再将程序通过纸带机或卡片机输入计算机,进行运算。

    后来呢,逐渐使用高科技……但打洞洞是始祖~

    S = 768 + 12288 – 1280

    机器码:

    101100000000000000000011

    000001010000000000110000

    001011010000000000000101

    假如将程序错写成以下这样,请找处错误:

    101100000000000000000011

    000001010000000000110000

    000101101000000000000101

    在显示器上输出“welcome to masm”。

     
        00011110
        101110000000000000000000
        01010000
        101110001100011000001111
        1000111011011000
        1011010000000110
        1011000000000000
        1011011100000111
        101110010000000000000000
        1011011000011000
        1011001001001111
        1100110100010000
        1011010000000010
        1011011100000000
        1011011000000000
        1011001000000000
        1100110100010000
        1011010000001001
        10001101000101100010101000000000
        1100110100100001
        1011010000001010
        10001101000101100011000100000000
        1100110100100001
        1011010000000110
        1011000000010100
        1011011100011001
        1011010100001011
        1011000100010011
        1011011000001101
        1011001000111100
        1100110100010000
        1101010000000010
        1101011100000000
        1101000000001100
        1101001000010100
        1100110100010000
        1011010000001001
        10001101000101100000000000000000
        1100110100100001
        11001011

    看到这样的程序,你会有什么感想?

    如果程序里有一个“ 1 ”被误写为“ 0 ”,又如何去查找呢?

    汇编语言的产生

    汇编语言的主体是汇编指令

    汇编指令和机器指令的差别在于指令的表示方法上。汇编指令是机器指令便于记忆的书写格式。

    汇编指令是机器指令的助记符。

    机器指令: 1000100111011000

    操作:寄存器 BX的内容送到AX中

    汇编指令:MOV AX,BX

    这样的写法与人类语言接近,便于阅读和记忆。

    寄存器:简单的讲是CPU中可以存储数据的器件,一个CPU中有多个寄存器。

    AX是其中一个寄存器的代号,

    BX是另一个寄存器的代号。

    更详细的内容我们在以后的课程中将会讲到。

    计算机能读懂的只有机器指令,那么如何让计算机执行程序员用汇编指令编写的程序呢?

    汇编语言原理

  • 相关阅读:
    C++学习基础十一——子类对象向父类对象的转化
    C++学习基础十——子类构造函数与析构函数的执行
    C++学习基础九——继承
    浅谈OpenGL变换矩阵
    笔记-Ajax[3]-ajax类终极版;
    笔记-Ajax[1]-的整体流程。
    笔记-[js兼容]-滚动条的滚动距离的兼容性问题解决方法。
    JS中的一些不常用的知识点。
    笔记-[面向对象]-JS基于面向对象编程-[2]
    笔记-[面向对象]-JS基于面向对象编程-[1]
  • 原文地址:https://www.cnblogs.com/OneDream/p/2963281.html
Copyright © 2011-2022 走看看