zoukankan      html  css  js  c++  java
  • 体验次手工汇编

    体验次手工汇编

    问题:

    1. 什么是机器语言?

      由二进制数字构成的程序,CPU可以直接对其解释、执行。不仅是汇编语言,用编程语言写的程序也都需要先转换成机器语言才能被执行。机器语言有时也叫做“原生代码”(Native Code)

    2. 通常把标识内存或I/O中存储单元的数字称作什么?

      地址。I/O中的寄存器也可以用地址来标识,哪个寄存器对应哪个地址,取决于CPU和I/O之间的布线方式。

    3. CPU中的标志寄存器(Flags Register)有什么作用?

      一旦执行了算术运算、逻辑运算、比较运算等指令后,标志寄存器并不会存放运算结果的值,而是会把运算后的某些状态存储起来,例如运算结果是否为0、是否产生了负数、是否有溢出等。

    助记符:类似英语单词的昵称,这个昵称赋予给0和1的组合。

    使用助记符的编程语言成为汇编语言,汇编语言的语法十分简单:把标签、操作码、操作数并排写在一行。

    • 标签的作用是为该行代码对应的内存地址起一个名字,编程时如果总要考虑“这一行的内存地址是什么来着”会很不方便。
    • 操作码就是表示做什么的指令。用助记符表示的指令是英语单词的缩写。汇编语言中提供了多少种助记符,CPU就有多少种功能。按功能这些指令可以分成运算、与内存的输入输出、与I/O的输入输出三类。
    • 操作数表示的是指令执行的对象。CPU的寄存器、内存地址、I/O地址或者直接给出的数字都可以作为操作数。如果某条指令需要多个操作数,那么它们之间就要用逗号分隔。操作数的个数取决于指令的种类,也有不需要操作数的指令。

    CPU中带有不同种类的寄存器,与I/O的寄存器不同,不仅能存储数据,还具备对数据进行运算的能力。常见的有累加寄存器A、标志寄存器F、程序指针PC、栈顶指针SP。

    在汇编语言中,可以将寄存器的名字指定为操作数。

    IN/OUT指令的操作数必须是已存储在CPU寄存器中的数字,这是汇编语言的规定。

  • 相关阅读:
    小甲鱼系列→第一章.基础知识
    FusionCharts-堆栈图、xml格式、刷新数据、添加事件link、传参
    FireBug提示:本页面不包含 JavaScript,明明是包含js的。
    Angular-Chart.js 初接触;;;
    错误 Metadata file 'C:CommoninDebugCommon.dll' could not be found
    UML--PowerDesigner使用小结
    java8入门 错误:找不到或者无法加载主类
    “基础提供程序在Open上失败”
    设计模式--目录开篇
    020医疗项目-模块二:药品目录的导入导出-介绍药品表
  • 原文地址:https://www.cnblogs.com/fr-ruiyang/p/14482228.html
Copyright © 2011-2022 走看看