初识汇编语言

  这是我第一次接触汇编语言这一门课程。第一堂课我了解到它是一门非常古董级别的语言。虽然可能在当代java、python等语言盛行的年代它显得有些笨拙和不实用(win10已经完全摒弃了汇编),但是通过第一章课程的学习,我还是感受到了它独有的语言魅力。

  汇编语言是一门面向机器的程序设计语言。相比现在的语言而言,汇编更易于读写、调试和修改。它能够直接访问与硬件相关的存储器或I/O端口,能够不受编译器的限制,对生成的二进制代码进行完全的控制。它的执行速度相当快,但是在一些复杂程序的编写上,汇编就会有一些局限性,很容易产生一些BUG,也不容易维护。不能够像现在的语言一样轻松的解决问题。

  回首第一章的内容,我大致了解了以下三个知识点。

(一)   指令和数据

指令和数据在内存或磁盘上是没有任何区别的,都是二进制信息。Cpu在工作的时候把有的信息看做指令,有的信息看做数据,为同样的信息赋予了不同的意义。

(二)   cpu通过总线对存储器的读写过程

cpu要从内存中读取数据,首先要指定存储单元的地址。也就是说他要先确定它要读取哪一个存储单元中的数据。然后它还要指明,他要对哪一个器件进行操作,进行哪一种操作。可见,cpu想要进行数据的读写,就必须要与外部器件进行三类信息的交互。分别为存储单元的地址(地址信息)、器件的选择,读或写的命令(控制信息)和读或写的数据(数据信息)。同时通过地址总线、控制总线、数据总线来将地址、数据、控制信息传送到存储器芯片中

(三)   内存地址空间

内存地址空间是一个相对较新、较难理解的内容。首先它需要我们了解两个基本内容——主板和接口卡。主板则是承载一些核心器件和主要器件的东西,例如cpu、存储器、外围芯片组等。接口卡则是直接控制显示器、音箱等等外部设部的设备。但这些存储器都是与cpu的总线相连的,都要接收cpu对他们进行读或写的时候所发出的内存读写命令。也就是说,cpu在对他们进行操控时,都是当做内存来对待的,把它们总的看做一个由若干存储单元组成的逻辑存储器。而这个逻辑存储器就是我们所说的内存地址空间。

  第一节课的内容可能还比较浅层,但同时也让我了解到了一门语言它在其内部cpu、存储器等部分是怎么进行控制运行的。希望能够通过接下来的学习更为透彻的了解这门语言,有一些自己更为深刻更为独到的见解。

时间: 2024-10-13 16:53:20

初识汇编语言的相关文章

初识汇编语言(2)

一,寄存器 1.8086CPU有14个寄存器,其中AX,BX,CX,DX(用来储存数据),CS,IP(用来储存将要执行命令地址),SI,DI,SP,BP(被称为基址和变址寄存器,后面会学到),SS,DS,ES(段寄存器),PSW. 2.其中AX,BX,CX,DX(每个16位的寄存器)都可以分为两个8位的寄存器,例如,AX分为AH,AL两个;存放16位数字时,AH存放高8位,AL存放低8位,AH,AL也可以分别作为储存8位二进制的寄存器. 3,简单的几条命令,move ax,18; move ax

汇编语言1:初识汇编

我这里学习汇编语言的思路就是逆向C++源码. 先从最简单的一个程序入手: 为什么程序的开头两句总会是 push ebp mov ebp,esp ? 先来看一个程序: 这个程序调用fun()时,fun的汇编代码也是如此,开头调用这两句汇编: 其实,这里ebp中保存的是你当前的函数(main函数)的栈基址,当你进入一个子函数(func函数)的时候,你要使用这个子函数的栈空间,此时进入子函数的栈空间就要先保存当前函数的栈基址.将此时的 esp 赋予 ebp 以便后面用 ebp 来作为栈基并以此通过 [

对汇编语言第4周的总结反馈

汇编语言程序设计课到第4周.这周的课后总结中,让同学们写下"我的疑惑".这倒好,真引出了一大堆好问题,其实,这也就是大家学习的最真实情况. 为同学们的解答公布如下.下一周,老贺不做这种一对多的事情了,我们开启互评模式,靠同学们的多对多,完成更有意义的深入交流. 学号 学生小结 老师点评 (14)1147 我得到的知识: loop指令和[bx]指令的运用及其相关的内容,还有源程序文件.目标文件和可执行文件的相互转换.我得到的技能: 用editplus去编写源程序,使用masm进行编译.我

汇编语言第4周学生总结反馈

汇编语言程序设计课到第4周.这周的课后总结中,让同学们写下"我的疑惑".这倒好,真引出了一大堆好问题,其实,这也就是大家学习的最真实情况. 为同学们的解答公布如下.下一周,老贺不做这种一对多的事情了,我们开启互评模式,靠同学们的多对多,完成更有意义的深入交流. 学号 学生小结 老师点评 (14)1147 我得到的知识: loop指令和[bx]指令的运用及其相关的内容,还有源程序文件.目标文件和可执行文件的相互转换.我得到的技能: 用editplus去编写源程序,使用masm进行编译.我

1DAY 初识Python

一 本节目标 了解编程语言 了解python及与其他语言的优劣对比 安装python解释器及环境变量配置.运行python交互式环境 打印hello world程序 初识变量.用户输入,流程控制,while循环 二 了解编程语言 2.1 为什么要编程? 解放人力:让机器(比如计算机)按照人们事先为其编写好的程序自发地去工作 2.2 什么是编程语言? 人----------->汉语--------------->中国人                    八格牙路----------->

Python开发【Part 2】:初识Python

本节内容 Python简介 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc简介 数据类型初识 数据运算 表达式if ...else语句 表达式for 循环 break and continue 表达式while 循环 一. Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承. 最

《汇编语言》第一节学习心得

这学期初识<汇编语言>,只知道有这么一节课却不曾知道讲述的是什么.尽管是选修课,但由于学分需要也有自身的好奇使得自己坚持选择了这门课.仅学习完第一章后列出学习心得. ①机器语言是机器指令的结合,机器指令即一台机器可以正确执行的命令.早起的程序设计均使用机器语言,运用0.1数字编程的程序代码进行指令,但操作内容极为冗长繁琐,1个有用的程序最少也要有几十行机器码,而一旦有一个数字输入错误,程序就会运行有所错误,而检查过程也会非常困难,极为的不方便. ②在机器语言不方便的情况下,汇编语言由此诞生,主

01 python安装与初识

一.简要概述 python学习时设计要大于开发. 二.编程语言 1.分类 编程语言分为高级语言和低级语言.高级语言如python.c#,Java.PHP等,低级语言(基础语言)如C.汇编语言. 2.机器码和字节码 高级语言生成字节码,低级语言生成机器码.机器码可以直接执行,是电脑的CPU可直接解读的数据,有执行速度快的特点,但难懂.字节码是一种中间状态(中间码)的二进制代码(文件),编译器将源码编译成字节码,特定平台上的虚拟机器将字节码转译为可以直接执行的指令.面临开发效率和执行效率的抉择. 三

Python入门 —— 初识Python

Python入门 —— 初识Python Python入门 —— 初识Python 一:Python介绍 1. Python是什么? Python是一门编程语言,编程语言是一门语言. 语言就是一个事物与另一个事物沟通的工具. 而编程语言则是人与计算机沟通的介质. 2. 为什么要跟计算机沟通:为了奴役计算机 奴隶主--------(人类语言)------->奴隶 人类----------(编程语言)------->计算机 3. 什么是编程? 奴隶主把想让计算机替自己做事情的逻辑用编程语言给表达出