汇编语言的入门第一步,编写hello world

 时间:2026-05-12 21:22:36

1、代码如下:

section .data

msg db "Hello World!",0ah

len equ $-msg

global _start

_start:

mov eax,4 ;   4号调用

mov ebx,1 ;   ebx送1表示标准输出

mov ecx,msg ; 字符串的首地址送入ecx

mov edx,$len ;  字符串的长度送入edx

int 80h;    输出字串

mov eax,1;   1号调用

mov ebx,0; 返回0

int 80h ;    结束

2、msg是在数据段(.data)中定义的字符串标号,db表示define byte。也就是说msg表示一个字节数组,10是换行符( )的ASCII码值

len是字符串长度的标号,equ表示等同于,$是一个指示当前位置的变量,表示len字节数组的最后一个字节后面的那个字节的位置,$减去msg(字符串数组的第一个字节的位置),得到的恰好是字节数组的长度,这个长度值由汇编器在编译时计算得到。

linux x86_64下编译 nasm -f elf64 hello.asm 连接 ld -o hello hello.o

执行 ./hello

  • 爱山东如何查高等教育自学考试实践技能论文成绩
  • 没有不好的孩子,只有不懂教育的父母
  • 高德地图到哪查看附近加油站
  • 食用鲜豆浆哪种方法最安全
  • 壶口瀑布旅游景区解析?
  • 热门搜索
    大便干燥是什么原因 宝格丽手表什么档次 绿萝的养殖方法 nvr是什么意思 什么是好女孩 绿色裤子配什么颜色上衣 联通查话费打什么号码 箜篌是什么乐器 举世无双是什么意思 娘炮是什么意思