【0x00】youxiao的无意识汇编教室——浅说汇编

文章介绍了计算机的基本硬件组成,包括CPU、存储器、I/O接口、总线和外设,以及软件层面的驱动和用户软件。接着阐述了计算机语言的三层结构——机器语言、汇编语言和高级语言,强调了汇编语言作为连接人类和计算机的桥梁作用,以及其在特定场景下的高效性。高级语言如C++则更贴近日常编程需求。
摘要由CSDN通过智能技术生成

0x01 执行命令的计算机

硬件

一般来说,计算机是由微处理器(cpu)、存储器(RAM,ROM)、I/O接口总线以及外围设备(外设)构成的

cpu是一片集成电路芯片,是实现逻辑运算和控制全机的核心部件(运算器和控制器)。

存储器分 只读存储器(ROM)和随机读写存储器(RAM),

        ROM是固化了基本输入输出设备驱动程序和开机自检程序,即BIOS程序。

        RAM又称内存储器(内存),通俗讲也就是现在的内存条,任何程序需要先存入RAM才能运行。

I/O接口 负责计算机与各种设备进行信息交换,是不同的设备之间的硬件接口。

总线(BUS)是连接各个部件的关键,由数据总线,地址总线和控制总线。

外部设备(外设)你们应该比我懂吧(逃

软件

而有了硬件还要有软件软件又分面向机器系统和面向用户两种:

        面向机器的软件就是底层驱动,负责对各种资源和软件的管理。

        而面向用户的软件就是我们平时用的或者后台运行的那些可以直接被计算机系统执行的软件了。

0x02 计算机语言

一般来说,计算机语言包括三部分:

1:机器语言

2:汇编语言

3:高级语言

机器语言

“机器语言”就是二进制代码,是纯度极高的计算机代码,可以直接被计算机执行,但是这种代码属于硅基的计算机。对我们这些碳基生物来说,看懂这些东西既复杂,又没必要(谁会没事看二进制口牙)。

不同的计算机硬件系统会有不同的指令集,也就是不同的二进制代码的处理方式,所以具体学习要针对某一种芯片,而不是大家都一样。

这是一个经验+3的代码(在0x00000100这个储存单元内加3)

10000011
00000110
00000100
00000011

由于这样的经验加三繁琐而无味

于是智慧的人类就发明了一种称为“汇编语言“的东西来方便使用。

汇编语言

“汇编语言”是利用一些英文的助记符和一些十六进制的数字组成的,每个语句都与二进制代码一一对应。碳基生物用汇编语言写出代码,然后交给汇编程序转化成机器语言,然后就可以和硅基生物愉快的玩耍了!!虽然没有简化代码的构成,但是无疑减轻了碳基生物学习编程的脑力消耗(毕竟是你们人类可以理解的东西)。

现在可以更好的经验加三了!

   经验加三,告辞

MOV SI,0004H
ADD BYTE PTR [SI],3

这种由助记符、语句符号、数据变量、伪指令以及一套使用规则构成了汇编语言。

比起机器语言,更加好记、易懂,比起高级语言,它可以直接对硬件编程,占用少速度快,充分发挥硬件的特性,是老师和同学的得力小助手(误

汇编语言就像一座桥梁,连接了从前的人类和计算机,也为我们今天的繁荣计算机世界打下了基础。

高级语言

你现在看到的编程语言基本都是高级语言了这里不多赘述,你只需要学就行了(逃

以C++为例

cout<<"exp+3";

经验加三,告辞

0x03 应用

汇编很快,很高效,并且可以利用硬件的所有特性,这使得它在一些对硬件进行控制、系统软件的开发、精益求精的优化之类的地方可以大显身手。

当然,作为一个计算机专业的学生,它是你绕不开的重要课程,是你王道征途的一部分(逃

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值