SECTION .data

msg: db "Hello World!", 0x0a
len: equ $-msg SECTION .text
global _main kernel:
syscall
ret _main:
mov rax,0x2000004
mov rdi,
mov rsi,msg
mov rdx,len
call kernel mov rax,0x2000001
mov rdi,
call kernel

编译这个文件:

nasm -f macho64 hello.asm

ld -o hello -e _main hello.o -macosx_version_min 10.13 -lSystem

运行这个文件:

NASM 之 helloworld1的更多相关文章

  1. 64位的Ubuntu系统上使用汇编nasm和C语言

    64位的Ubuntu系统上使用汇编nasm和C语言 $ nasm -f elf foo.asm -o foo.o$ gcc -c bar.c -o bar.o$ ld -s  foo.o bar.o ...

  2. linux(64位的系统)下nasm进行汇编链接时出现的问题

    出现问题: $nasm -f elf hello.asm -o hello.o $ld -s hello.o -o hello ld: i386 architecture of input file ...

  3. 32-bit Assembly on x86_64 Linux (Use Nasm and ld&gcc)

    Assembly on x86_64 Linux Some instructions in Intel assembly set are invalid in x86_64 env. e.g. aaa ...

  4. ubuntu 上安装 NASM 汇编开发工具

    一般系统自带NASM可通过 输入 nasm -version 检查,若是没有 可用下述指令安装: sudo apt-get install nasm 安装过程执行完毕后 再次输入 : nasm -ve ...

  5. NASM编译器的$和$$标记

    NASM中的times相当于MASM中的dup起到重复定义的作用. $表示当前行的偏移地址,$$表示当前段的起始偏移地址, ;------------------------------------- ...

  6. nasm fasm yasm 还是masm、gas

    留个爪,稍后学习 选择编译器nasm?fasm?yasm?还是masm.gas或其他? 前面三个是免费开源的汇编编译器,总体上来讲都使用Intel的语法.yasm是在nasm的基础上开发的,与nasm ...

  7. linux下的汇编环境搭建(nasm)

    第一步:先判断系统是否已经安装了nasm--------------->打开终端,执行whereis nasm :如果显示nasm: /usr/bin/nasm ,则已经安装:如果只显示nasm ...

  8. NASM mode for Emacs

    NASM mode for Emacs   Quick post for those Emacs users out there.   The common assembler used on GNU ...

  9. nasm预处理器(4)

    nasm定义了一套标准宏,当开始处理源文件时,这些宏都已经被定义了,如果希望程序在执行前没有预定义的宏存在,可以使用%clear清空预处理器的一切宏. __NASM_MAJOR__ 主版本号 __NA ...

随机推荐

  1. UVaLive 10859 Placing Lampposts (树形DP)

    题意:给定一个无向无环图,要在一些顶点上放灯使得每条边都能被照亮,问灯的最少数,并且被两盏灯照亮边数尽量多. 析:其实就是一个森林,由于是独立的,所以我们可以单独来看每棵树,dp[i][0] 表示不在 ...

  2. C# 选择文件路径,选择文件

    // 选择文件: private string SelectPath() { string path = string.Empty; var openFileDialog = new Microsof ...

  3. 黑科技抢先尝 - Windows全新终端初体验(附无需编译就能安装的Preview版本及代码Build全过程)

    目录 将Window 10 升级到1903版本 安装好git, 从github上clone代码 安装 VS 2019 和 .NET core 3.0 SDK 重定解决方案目标 设置好编译平台和启动的项 ...

  4. 模板 - n个数的乘法逆元

    这道题里面不用保存 inva[i] ,而且还卡常.事实证明快读快到飞起, #include<bits/stdc++.h> using namespace std; typedef long ...

  5. HDU5908【模拟】

    思路: 找到约数k,然后算一下1-k区间里的数的个数. 中间交换一下就好了,然后把后面每个区间里的数减减,然后再判断一下满足不满足= = #include <bits/stdc++.h> ...

  6. MySQL 分区简介

    MySQL自5.1开始对分区(Partition)有支持. = 水平分区(根据列属性按行分)=举个简单例子:一个包含十年发票记录的表可以被分区为十个不同的分区,每个分区包含的是其中一年的记录. 水平分 ...

  7. 用EnumMap代替序数索引

    用EnumMap代替序数索引   有时候,会见到利用ordinal方法来索引数组的代码.例如下面这个简化的类,表示一种烹饪用的香草: public class Herb { public enum T ...

  8. 第一篇 HTML5打包APP之VMware15安装MAC(MAC OS 10.13)(OS X 10.14)原版可升级最新可解锁macOS Unlocker3.0(OS X 10.13)

    1.1.2安装环境: 1.1.3所需资源: 1.1.4 Unlocker 3.0解锁 1.1.5 配置环境 1.1.6开始安装 1.1.7开启虚拟机进入MAC安装界面 1.1.8 macOS 10.1 ...

  9. 50 个加速包都抢不到车票,还不如这个 Python 抢票神器!

    又到了一年一度的抢票大战,本来就辛苦劳累了一年,想着可以早点订到票跟家里人团聚.所以有挺多的人,宁愿多花些钱去找黄牛买票.但今年各种抢票软件的横行,还有官方出的加速包,导致连黄牛都不敢保证能买到票.你 ...

  10. mongodb数据库分片实现链接

    http://www.lanceyan.com/tech/arch/mongodb_shard1.html