[OS课程设计]第三天:用汇编语言编写运行helloworld和完成Machining-Problem-1(mp1)

第二天结束的时候老师布置了一个作业,下去用汇编语言编写一个Helloworld,把源代码给出来了,直接对着写,还要运行出来。本来以为很简单的,结果卡在编译那步死活出不来,无奈只好等老师在课堂上讲了。课堂上老师又要我们把mp1实验给做出来,这个mp1比较简单,很快就能做出来了。

一、用汇编语言写helloworld

先给出汇编语言版的helloword源代码


;hello.asm
section .data
	msg db "Hello,world!",0xA
	len equ $ - msg
section .text
global _start
_start:
	mov edx, len
	mov ecx, msg
	mov ebx, 1
	mov eax, 4
	int 0x80

	mov ebx, 0
	mov eax, 1
	int 0x80


老师说明了编译汇编语言的步骤:

1.下载nasm

下载的方法是用apt-get命令

sudo apt-get install nasm

2.用nasm命令编译

nasm -f elf hello.asm

该命令自动生成一个同名的.o文件

3.用ld命令来链接生成可执行代码

ld -m elf_i386 -s -o hello hello.o

 注:如果你的linux是32位的,就不用加-m elf_i386

4.执行生成的hello可执行文件

./hello

这样汇编语言版的helloworld就完成了。下面开始讲mp1的实验步骤


版权说明:
作品 sunriseydy 采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
文章内容如未说明均为原创,欢迎转载,但请注明原作者(sunriseydy)和原文链接(https://blog.sunriseydy.top/technology/code/third-day/)
部分来自互联网的文章,如有侵权,请联系我,24小时内删除,谢谢

分享到微博 继续阅读“[OS课程设计]第三天:用汇编语言编写运行helloworld和完成Machining-Problem-1(mp1)”

" target="_blank">分享到QQ 微信赞赏 点赞 0

页面: 1 2

评论一下呗亲

电子邮件地址不会被公开。 必填项已用*标注