[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的实验步骤


赞 (0)   -->微信赞赏<--

微信扫描下方左侧二维码或搜索“sunriseydy”关注我的公众号,便捷地阅读博客内容,订阅博客更新
也可以扫描下方右侧的小程序码,进入我的微信小程序:“sunriseydy”,在手机上阅读文章

      

版权说明:

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

评论一下呗亲

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

添加表情