汇编语言hello world 代码实现

assume cs:code,ds:data

data segment

msg db "hello world"

data ends

code segment

start:

mov ax,data

mov ds,ax

mov bx,0b800h

mov es,bx

mov cx,11

mov si,0

mov bx,0

mov ah,01000010b

s:mov al,ds:[si]

mov es:[bx],al

mov es:[bx+1], ah

inc si

add bx,2

loop s

mov ax,4c00h

int 21h

code ends

end start

运行结果:

汇编语言hello world 代码实现,布布扣,bubuko.com

时间: 2024-10-23 13:21:00

汇编语言hello world 代码实现的相关文章

Linux 汇编语言开发指南

一.简介 作为最基本的编程语言之一,汇编语言虽然应用的范围不算很广,但重要性却勿庸置疑,因为它能够完成许多其它语言所无法完成的功能.就拿 Linux 内核来讲,虽然绝大部分代码是用 C 语言编写的,但仍然不可避免地在某些关键地方使用了汇编代码,其中主要是在 Linux 的启动部分.由于这部分代码与硬件的关系非常密切,即使是 C 语言也会有些力不从心,而汇编语言则能够很好扬长避短,最大限度地发挥硬件的性能. 大多数情况下 Linux 程序员不需要使用汇编语言,因为即便是硬件驱动这样的底层程序在 L

GCC扩展(转--对看kernel代码有帮助

Linux Kernel的代码,上次就发现一个结构体的定义形式看不懂,后来才知道它用的不是标准的ANSI C,而是GCC的一些扩展.刚好看到<Linux内核修炼之道>中对GCC扩展有所描述,转载一下吧,对看kernel代码有所帮助. 3.5内核代码的特点 Linux内核同时使用C语言和汇编语言实现,C语言编写的代码移植性较好.易于维护,而汇编语言编写的代码相当于针对特定的平台做了优化,速度较快,所以需要在它们之间寻找一定的平衡. 一般而言,在体系结构的底层或对执行时间要求严格的地方,会使用汇编

Joel谈软件 12步让代码趋于完善【译】

2000年8月9日 星期三 你听说过SEMA(软件工程测试与分析)吗?那是一个相对难懂的系统——用于衡量一个软件开发小组的好赖.停下来,别点击那个链接,弄懂那个系统兴许长达六年之久.我提出一个我自己的.不负责任.草率的方法测试软件团队的质量.这个方法的好处是它只用大约三分钟.如果你总是节省时间,你可以出门右拐. Joel的测试: 1.代码源控制软件你有用吗? 2.你能一步建立工程吗? 3.平时做工程吗? 4.你有bug数据库吗? 5.在写新代码前bug是否都已排除? 6.你有不断更新的计划表单吗

Linux汇编语言开发指南

http://blog.chinaunix.net/space.php?uid=25299072&do=blog&id=2943093 一.简介 作为最基本的编程语言之一,汇编语言虽然应用的范围不算很广,但重要性却勿庸置疑,因为它能够完成许多其它语言所无法完成的功能.就拿 Linux 内核来讲,虽然绝大部分代码是用 C 语言编写的,但仍然不可避免地在某些关键地方使用了汇编代码,其中主要是在 Linux 的启动部分.由于这部分代码与硬件的关系非常密切,即使是 C 语言也会有些力不从心,而汇编

汇编语言——(一:介绍)

汇编语言 记忆符代替指令的操作码 数字.符号代替操作数或操作数存放位置的一种程序设计语言 采用高级语言使用的数据结构,支持用32位汇编指令进行编程. 汇编程序 汇编语言编写的程序-->机器语言程序 汇编语言源程序 --> 目标代码或目标程序 -------------------------------------------- 汇编语言的特性与机器的特性密切相关: <--CPU工作模式 <--CPU寄存器体系 汇编语言<-->硬件特性 <--指令系统 <-

go语言调度器源代码情景分析之六:go汇编语言

go语言runtime(包括调度器)源代码中有部分代码是用汇编语言编写的,不过这些汇编代码并非针对特定体系结构的汇编代码,而是go语言引入的一种伪汇编,它同样也需要经过汇编器转换成机器指令才能被CPU执行.需要注意的是,用go汇编语言编写的代码一旦经过汇编器转换成机器指令之后,再用调试工具反汇编出来的代码已经不是go语言汇编代码了,而是跟平台相关的汇编代码. go汇编格式跟前面讨论过的AT&T汇编基本上差不多,但也有些重要区别,本节就这些差异做一个简单说明. 寄存器 go汇编语言中使用的寄存器的

《软件工程》笔记

以下是我今天阅读<软件工程理论与应用>(http://www.amazon.cn/gp/product/B008269QRW/ref=fs_rd_1)时在kindle上做的笔记.软件项目管理的那章我基本上没有记,因为觉得目前去背这个有点地命海心了,等我真的有人可管理了再去看. 软件工程理论与应用 (21世纪全国高校应用人才培养信息技术类规划教材) 通过瀑布模型框架结构可以看到一般软件系统的开发步骤分为3个阶段:计划阶段.开发阶段.维护阶段. ● 在计划阶段主要完成对系统可行性的论证,描述系统的

【转】朱兆祺带你一步一步学习嵌入式(连载)

原文网址:http://bbs.elecfans.com/jishu_357014_2_1.html#comment_top  从最初涉及嵌入式Linux开始到现在,深深的知道嵌入式的每一步学习都是举步维艰.从去年11月份开始,我就着手整理各种学习资料,希望推动嵌入式学习的前进贡献自己微不足道的一份力量.从去年到现在,将C语言的学习经验整理成<攻破C语言笔试与机试陷阱及难点>(现在仍在更新),这份资料已经在电子发烧友论坛的单片机论坛连载(http://bbs.elecfans.com/jish

20145306 信息安全系统设计基础 第五周博客总结

20145306<信息安全系统设计基础>第5周学习总结 教材学习中的问题和解决过程 栈和栈帧 栈: 栈底指针和栈顶指针,栈底指针位于高地址端,栈顶指针位于低地址端. 栈是一种特殊的数据结构,是一种只能在一端进行插入和删除操作的特殊线性表. 存储原则是先进后出. 对栈的插入与删除操作中,不需要改变栈底指针. 栈是由高地址向低地址延伸的. 栈帧--则是相对某个函数而言,调用栈就是正在使用的栈空间,由多个嵌套调用函数所使用的栈帧组成. 栈帧表示程序的函数调用记录,而栈帧又是记录在栈上面.(为单个过程