【OS学习笔记】二 汇编语言和汇编软件

学习交流加

  • 个人qq:
    1126137994
  • 个人微信:
    liu1126137994
  • 学习交流资源分享qq群:
    962535112

上一篇文章讲解了处理器,内存,和指令。学习了Intel 8086处理器的相关知识,如Intel通用寄存器的作用,程序重定位问题,以及内存分段结构。点击链接查看上一篇文章:处理器 内存 指令

本片文章学习以下内容:

  • 了解汇编语言的作用
  • 下载NASM编译器,并学会使用它来编译汇编语言源程序

处理器依靠机器指令工作,但机器指令从形式上看是一堆没有规律的数字,难以书写、阅读和理解,这样就发明了汇编语言。

1、汇编语言简介

在上一篇文章中,我们学习了处理器,也学习了处理器是如何进行算数逻辑运算的。为了实现处理器的自动运算,处理器必须从内存中取指令,并执行这些指令。

指令和被指令引用的数据在内存中都是一些或高或低的电平,每一个电平都可以看成是一个二进制(0 or 1),8个二进制位形成一个字节。要解读内存中的东西,最好的办法就是讲他们按字节转换成数字的形式。比如下面这些数字就是存放在INTE8086的指令,我们用的是十六进制:

B8 3F 00 01 C3 01 C1

对于大多数人来说,上述指令,是很难知道它到底在干嘛的。实际上它对应着下面的意思:

将立即数003F传送到寄存器AX;
将寄存器BX的内容和寄存器AX的内容相加,结果在BX中;
将寄存器CX的内容和寄存器AX的内容相加,结果在CX中;

即使是很有经验的技术人员,也不一定能够将以上指令对应的意思记住。

为了克服机器指令难以书写与记忆的缺点,汇编语言就出现了。汇编语言是一种助记符,用来帮助理解和记忆机器指令。上述的指令,就可以写成如下的汇编语言:

mov ax, 3FH
add bx, ax
add cx, ax

对于有点英语基础的人来说,以上三句话相当容易理解,不再赘述。
汇编语言还是很难学的,今日我们就简单的了解汇编语言。先注意一下节点:

  • 汇编语言不区分大小写
  • 汇编语言中的立即数(立即数的概念参看上一篇文章)可以为二进制,十进制,十六进制等

今天暂时知道这么多的汇编语言的基础知识,后面的文章中会逐渐展示汇编语言的各种基础知识以及相关用法。

2、NASM编译器

2.1 、 NASM下载和安装

处理器只能识别机器指令,不能识别汇编语言。所以NASM编译器,就是将相关的汇编语言源程序编译成处理器可以识别的机器指令。

NASM是可免费的使用的开源软件,下面是它的下载地址:点击下载

2.2 、 代码的书写和编译过程

打开NASM编译器的命令行窗口后,显示如下:

在这里插入图片描述

我们可以写完汇编语言源程序后就用它来编译,但是这样太麻烦,本系列文章参考的书籍中,作者写了一个小程序Nasmide,该程序可以编写汇编语言然后可快速编译源程序。

该小程序软件下载地址:
链接:https://pan.baidu.com/s/12zk4ziatB8x0TuJMvH-2vQ
提取码:3t1z

打开这个程序后显示如下:
在这里插入图片描述

空白处可以编写汇编语言。

该软件相当简单,只说一点:配置编译环境。

菜单处有一个“选项”栏目,点开后选择你自己的NASM编译器的目录位置,如下图是我自己的:

在这里插入图片描述

然后以后再编译源程序文件的时候,直接点击“文件”下的“编译本文档”即可。

2.3 、 观察编译后的机器代码

最后再提供一个工具,可以显示编译后的机器代码,HexView。该工具也是本系列文章参考的书籍的作者李忠缩写。

工具下载地址:
链接:https://pan.baidu.com/s/1VtYqRiBrWkcyi0tXP3bsTQ
提取码:nyo4

此工具用起来相当简单,这里不再赘述。

3、总结

本片文章学会

  • 了解汇编语言的作用
  • 下载NASM编译器,并学会使用它来编译汇编语言源程序
  • 学会使用几个补充的工具辅助我们的开发学习过程

学习探讨加:
qq:1126137994
微信:liu1126137994

  • 6
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【使用方法】 一、安装 1.请按照步骤正确安装。 2.安装好后你可以到"工具"—>"选项"中进行配置,比如软件使用过程中经常会出现一些提示,对于刚接触本系 统的人来说可能非常有用,但是你用了一段时间以后就会觉得这些提示十分多余,这时你就可以把"选项"中的" 显示消息提示"前面的小勾去掉,这样下次就不会出现这些提示了。 二、使用过程中请注意以下几点: 1.汇编源文件保存时的路径及文件名请不要有汉字,包括"环境配置"中的编译程序存放路径,否则编译连接等可 能会遇到一些问题 2.源文件名请不要太长,一般文件名(前缀部分)长度超过8个字符可能就会出现一些问题 3.都说初学者不应该使用集成环境写程序,因为他们一离开这个环境就不知道怎么办了,像编译、连接、调试以 及运行,你在集成环境中只要点点按钮就行了,不会去了解它的后台是如何工作、各种文件是怎么产生的。但是 在本软件中就不一样了,在编译程序所在的文件夹中会有一些bat(批处理文件),这里都是点击相应的按钮产生的,你可以打开看看,一个obj或exe文件是如何产生的你就会一目了然了。 4.程序在每次编译时都会将编译器返回的结果保存在"c:va3.txt"中,你可以在需要的时候查看 三、关于本软件的一些命令(跟汇编基本没关系。方法:直接在文本框中输入然后回车,不区分大小写。) ExitVa或QuitVa 强制退出本软件系统 ExitVa3或QuitVa3 正常退出本软件系统 ShutdownMyComputer 关机(慎用) RebootMyComputer 重启(慎用) LogoffMyComputer 注销(慎用) ShutdownAbort 放弃关机 ShowCyndi 显示美女,学习累了可以看看啊,呵呵

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值