下载源代码

下载地址:http://sourceforge.net/projects/nasm/files

NASM学习网址:http://www.nasm.us/doc/nasmdoc0.html

使用火狐下载源码(nasm-2.07.tar.gz),缺省存放~/Download,知道为什么装英文的了吧,否则目录是“下载”,好烦的

Make安装

切换到root用户

以后都用root用户,免得碰上莫名其妙的的问题,反正权限问题暂时不重要

# tar zxvf nasm-2.07.tar.gz

# cd nasm-2.07

# ./configure

# make

# make install

# which nasm

/usr/local/bin/nasm

安装Vim

不装Vim,Vi烦死你

# apt-get install vim

Vi基本操作

# vi hello.asm  ;新建或打开文件

Vi三种模式:命令模式(Command)、编辑模式(Insert)、末行模式(Line)

缺省进入命令模式

命令模式:按“i”进入文本输入模式

命令模式:按“:”进入末行模式

编辑模式:按“ESC”进入命令模式

末行模式:wq 保存退出,“ESC”进入命令模式

知道这些,编辑一个hello.asm就足够了

设置TAB显示4个空格:

编辑/etc/vim/vimrc,重启vim:

set ts=4            ;ts是tabstop的缩写,TAB显示为4个空格宽

set expandtab     ;设置这个之后,敲入TAB,自动展开为4个空格

set nu              ;显示行号

set hlsearch        ;高亮查找结果

hello.asm

section .text
global main     ;导出符号到其他模块,猜测是gcc
                ;http://www.nasm.us/doc/nasmdoc6.html
main:
mov eax,4 ;   4号调用
mov ebx,1 ;   ebx送1表示输出
mov ecx,msge ; 字符串的首地址送入ecx
mov edx,14 ;  字符串的长度送入edx
int 80h ;    输出字串
mov eax,1 ;   1号调用
int 80h ;    结束 
msge:
db "Hello world!",0ah,0dh

编译运行

# nasm -f elf64 hello.asm  (elf64 or elf32)

# gcc -o hello hello.o

# ./hello

Hello world!

转载于:https://www.cnblogs.com/zhuyingchun/p/4918417.html

操作系统学习笔记 002 安装NASM相关推荐

  1. OracleDesigner学习笔记1――安装篇

    OracleDesigner学习笔记1――安装篇   QQ:King MSN:qiutianwh@msn.com Email:qqking@gmail.com 一.       前言 Oracle是当 ...

  2. 操作系统学习笔记-01-操作系统的概念(定义),功能和目标

    操作系统学习笔记-2019 王道考研 操作系统-01-操作系统的概念(定义),功能和目标 文章目录 1-操作系统的概念(定义),功能和目标 1.1常见的操作系统 1.2概念(定义) 1.3-操作系统的 ...

  3. mesos 学习笔记-- mesos安装和配置

    2019独角兽企业重金招聘Python工程师标准>>> mesos 学习笔记-- mesos安装和配置 博客分类: 架构 mesos 参考资料: 官方文档:http://mesos. ...

  4. Linux操作系统学习笔记【入门必备】

    Linux操作系统学习笔记[入门必备] 文章目录 Linux操作系统学习笔记[入门必备] 1.Linux入门 2.Linux目录结构 3.远程登录 3.1 远程登录Linux-Xshell5 3.2 ...

  5. ZED相机学习笔记1——安装与配置(Win10 + Python)

    系列文章目录 ZED相机学习笔记1--安装与配置(Win10 + Python) 文章目录 系列文章目录 前言 一.ZED2 相机 二.配置ZED相机环境 1.安装CUDA 2.安装ZED-SDK 3 ...

  6. 操作系统学习笔记-2.1.5线程概念和多线程模型

    操作系统学习笔记-2019 王道考研 操作系统-2.1.5线程概念和多线程模型 文章目录 5线程概念和多线程模型 5.1知识概览 5.2 什么是线程?为什么要引入线程? 5.3引入线程及之后,有什么变 ...

  7. 操作系统学习笔记-2.1.4进程通信

    操作系统学习笔记-2019 王道考研 操作系统-2.1.4进程通信 文章目录 4进程通信 4.1知识总览 4.2前置知识:什么是进程通信? 4.3共享存储 4.4 管道通信 4.5消息传递 4.6小结 ...

  8. 操作系统学习笔记-2.1.3进程控制

    操作系统学习笔记-2019 王道考研 操作系统-2.1.3进程控制 文章目录 3.进程控制 3.1知识概览 3.2 基本概念 3.2.1什么是进程控制? 3.2.2如何实现进程控制? 3.3进程控制相 ...

  9. 操作系统学习笔记-2.1. 2进程的状态与转换

    操作系统学习笔记-2019 王道考研 操作系统-2.1. 2进程的状态与转换 文章目录 2进程的状态与转换 2.1知识概览 2.2进程的状态-三种基本状态 2.3进程的状态-另外两种状态 2.4进程状 ...

  10. 操作系统学习笔记-2.1.1.进程的定义、组成、组织方式、特征

    操作系统学习笔记-2019 王道考研 操作系统-2.1.1.进程的定义.组成.组织方式.特征 文章目录 2.1.1.进程的定义.组成.组织方式.特征 1.1知识概览 1.2进程的定义 1.3进程的组成 ...

最新文章

  1. 数据结构与算法试题集锦
  2. LDAP 轻量级目录访问协议 介绍
  3. Scala项目启动方式:extends App和main的区别
  4. 每天一道LeetCode-----重新实现开方运算sqrt(x),只返回整数部分即可
  5. 苹果6发布时间_苹果秋季发布会将在北京时间9月16日举办
  6. 配置zentaophp
  7. 二次扩增产物条带弥散_PCR实验操作常见解决方法
  8. PHP 常用代码大全
  9. 一题多解 —— 判断一个数是否为奇数
  10. Markdown-Latex全称量词和存在量词(对于全体、存在)
  11. SQL server 2016数据库 下载安装
  12. 学计算机的话美国社区大学对应课程,美国加州社区大学转UC伯克利计算机专业有什么课程上的要求?...
  13. VScode 本地或远程单文件和多文件调试精简配置
  14. 扫地机器人相关传感器技术
  15. windows 下安装软件乱码
  16. 搭建博客、自己的小窝?快来看看这些开源静态网站生成器
  17. JAVA8 Stream的系列操作,Optional使用---- java养成
  18. java二维数奇数组金字塔_金字塔内神秘的数字~世界末日真的存在?
  19. 一个假冒的序列号被用来注册Internet Download Manager。IDM即将退出…
  20. 生物芯片 完全平方数

热门文章

  1. 始于颜值 敬于才华 合于性格 久于善良 终于人品
  2. Linux 中的 DTrace :BPF 进入 4.9 内核
  3. 从OpenGL ES 2.0到Direct3D 11.1之路
  4. 删除链表倒数第N个节点
  5. 「功能笔记」Linux常用Shell命令(终端命令)备忘录
  6. JAVA-初步认识-第七章-this关键字内存图解
  7. java-DBUtils的练习题
  8. PHP漏洞全解(三)-客户端脚本植入
  9. 大公司面试c语言收集(6)
  10. MapXtreme2005开发的经典问题