如何将二进制机器码转换成汇编指令_汇编语言和汇编软件

本文介绍了汇编语言的历史,重点讲解如何将二进制机器码转换成汇编指令。通过开源汇编软件NASM和文本编辑器NotePad++的使用方法,演示了汇编程序的编写和编译过程,帮助读者理解汇编语言与机器码之间的转换。
摘要由CSDN通过智能技术生成

本文简单介绍了汇编语言的历史,一个流行的开源汇编软件 NASM,和安装与文本编译器 NotePad++ 的方法。使用 NotePad 写了一个简单的汇编程序,并使用随书工具 HexView 查看。

汇编语言简介

在前面的章节里,我们讲到了处理器,也讲了处理器是如何进行算术逻辑运算的。为了实现自动计算,处理器必须从内存中取得指令,并执行这些指令。

指令和被指令引用的数据在内存中都是一些或高或低的电平,每一个电平都可以看成是一个二进制位(0 或者 1), 8 个二进制位形成一字节。

要解读内存中的东西,最好的办法就是将它们按字节转换成数字的形式。比如,下面这些数字就是存放在内存中的 8086 指令,我们用的是十六进制:

B8 3F 00 01 C3 01 C1

即使是很有经验的技术人员,要想用这种方式来编写指令,也是很困难的,而且很容易出错。所以,在第一个处理器诞生之后不久,如何使指令的编写变得更容易,就提上了日程。

为了克服机器指令难以书写和理解的缺点,人们想到可以用一些容易理解和记忆的符号,也就是助记符,来描述指令的功能和操作数的类型,这就产生了汇编语言(Assembly Language)。这样,上面那些指令就可以写成:

mov ax,3FH

add bx,ax

add cx,ax

对于第一句语句, mov 是 move 的简化形式,意思是“移动”或者“传送”。“ax”,很明显,指的就是 AX 寄存器。传送指令需要两个操作数,分别是目的操作数和源操作数

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值