; hello.asm

section .data
msg db "hello, world",13,10,0 section .bss section .text
global main
main:
mov rax,1 ; 写
mov rdi, 1 ; 到标准设备-屏幕
mov rsi,msg ; 输出地址
mov rdx,14; 输出长度
syscall ;系统调用
mov rax,60 ;退出
mov rdi,0;退出错误码 0
syscall

  编译脚本

# hello.asm
hello: hello.o
gcc -o hello hello.o -no-pie hello.o:hello.asm
nasm -f elf64 -g -F dwarf hello.asm -l hello.lst # hello 依赖hello.o
# hello.o 依赖hello.asm
# hello.asm 编译按照elf64格式 -f elf64
# 生成debug 文件按照dwarf 格式 -g -F dwarf
# 生成lst文件 -l

  

第一个helloworld程序的更多相关文章

  1. Android Studio新建一个HelloWorld 程序(App)

    Android Studio新建一个HelloWorld程序(App) 新建 或者直接启动程序(注:如果已有程序,此方法会直接打开最近一次关闭从程序) 更改App名 选择App运行平台 选择模板 更改 ...

  2. Node.js入门以及第一个helloworld程序

    1.概念:简单的说 Node.js 就是运行在服务端的 JavaScript.学之前需要明白Node.js是无法挑战jsp.php或者asp这种老牌网站的地位的,是永远不会出现在证券.金融这种领域的. ...

  3. SpringMVC基础入门,创建一个HelloWorld程序

    ref:http://www.admin10000.com/document/6436.html 一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要 ...

  4. Java语言入门-第一个HelloWorld程序

    1.官网下载Jdk 这里给出官网下载网址:https://www.oracle.com/technetwork/java/javase/downloads . 1.1 打开之后出现如下界面: 1.2选 ...

  5. springboot之搭建第一个helloworld程序

    1.下载基本框架 在网站:https://start.spring.io/ 全部默认,基本没有改动 选择依赖,当然也可以自己在pom.xml加,我们直接在这里选择. 只选择Spring Web Sta ...

  6. JAVA学习之第一个HelloWorld程序

    第一个HelloWorld程序 第一步,创建java类型的文件 第二步,在创建文件的目录中打开cmd窗口 第三步,使用javac 命令将java文件编译为.class类型的字节码文件 第四步,使用ja ...

  7. (二)手动配置第一个HelloWorld程序

    上例的HelloWorld是由Android sutudio 自动生成的,现在我们手动来配置. 1. 重新创建工程 2. 创建空的Activity 生成的MainActivity.java 文件: p ...

  8. windows游戏编程 创建WIN32一个HelloWOrld程序

    本系列文章由jadeshu编写,转载请注明出处.http://blog.csdn.net/jadeshu/article/details/22449085 作者:jadeshu   邮箱: jades ...

  9. 对第一个HelloWorld程序的总结:

    /* 注释的作用 :提高了代码的阅读性:调试程序的重要方法 对第一个程序的总结: 创建:创建一个以.java结尾的文件叫做源文件 编译:(javac 源文件名.java) 会生成一个或多个字节码(.c ...

  10. 在Linux最小系统上编译运行第一个helloworld程序

    一.安装和使用SSH软件 1.安装SSH 软件 1)SSH 软件压缩包可以在网盘下载,下载后解压,进入解压出来的文件夹,如下图. 2)单击上图中的“SSHSecureShellClient-3.2.9 ...

随机推荐

  1. Postgresql动态共享内存类型

    一.简介 linux为多个进程通信提供了不同的IPC机制,如:System V , POSIX 和 MMAP,所以Postgresql共享内存管理也支持以上类型. 在Postgresql中可以使用dy ...

  2. Oracle存储过程的创建实例和调用实例

    --编写一个存储过程,给emp表中添加数据.  --方法一:create or replace procedure add_employee(       eno number,       name ...

  3. elasticsearch 索引数据手动复制注意事项

    一.背景 有一个已经在A机器建立的100+G的es索引数据文件,需要将这份数据文件直接复制到B机器的elasticsearch中 B机器的节点是在一个集群中,有多个数据节点. 没有原始数据,不重新构建 ...

  4. 解决点击el-dialog对话框,body抖动问题

    在vue中点击el-dialog对话框有时候body样式会加上padding-right:8px. 百度了一下多数是增加padding,然后他们的解决办法是 全局给body加样式 padding-ri ...

  5. null和undefine的区别

    null和undefine都是基本数据类型,两种类型都只有一个值. 区别: 1.undefined表示已经声明未定义,null表示的是一个空对象(null并不是空对象,js的typeof会将null判 ...

  6. C++实现链栈相关操作代码

    #include<iostream>#include<cstdlib>using namespace std;#define MAXSIZE 100#define OK 1#d ...

  7. VUE学习-:class & :style

    :class & :style :class 键值对 <div id="app" v-bind:class="{ 'active': isActive }& ...

  8. python 非阻塞线程对话框,非qt(解决qt MessageBox使用线程时候卡死问题)

    def msg_okbox(self, strinfo, isYesno=False): if isYesno: return win32api.MessageBox(None, strinfo, & ...

  9. vue学习 第一天 html 基础

    1.web标准的构成: <结构Structure>(对应html文件).<表现Presentation>(对应css文件) 和<行为Behavior>(对应js)三 ...

  10. Maven使用tomcat7-maven插件部署项目问题

    Cannot invoke Tomcat manager: Connection refused: connect -> [Help 1] 检查tomcat-users.xml的用户配置,用户权 ...