⽤汇编语⾔输出HelloWorld!
众所周知,⾸先从输出“Hello World!”开始学习⼀门编程语⾔已经是惯例了,汇编语⾔也不例外,下⾯我们将从输出“Hello World!”开始学习汇编语⾔。
⼀、编写源程序
⾸先我们尝试⽤C语⾔来实现该功能:
#include <stdio.h>
int main() {
printf("Hello World!"); // 输出“Hello World!”
return 0;
}
可以看到,仅仅⽤了⼀⾏代码就实现了该功能。那么⽤汇编语⾔⼜该如何去实现呢?
data segment ;数据段
string db 'Hello,World!$'
data ends
code segment ;代码段
assume cs:code,ds:data
start:
mov ax,data ;获取段基址
mov ds,ax ;将段基址送⼊寄存器
mov dx,offset string
mov ah,9
int 21h
mov ah,4ch
int 21h
code ends
end start
下⾯对该汇编程序的部分代码进⾏说明:
string db 'Hello,World!$'
定义⼀个名为string的字符串,string是字符串的名称,db是定义字节说明,字符串内容需⽤单引号括起,其中 $ 是串的结束标志assume cs:code,ds:data
这是⼀条汇编伪指令,含义是指定code段与CS寄存器关联,data段与DS寄存器关联
mov dx,offset string
获取string的偏移地址
mov ah,9
int 21h
调⽤9号DOS功能(显⽰字符串)
mov ah,4ch
int 21h
调⽤程序结束功能
对⽐两段代码,显然同样的功能⽤汇编语⾔实现起来⽐⽤C语⾔实现起来更加复杂。这是因为汇编语⾔是低级编程语⾔,⽽C语⾔等是⾼级编程语⾔,汇编语⾔更加接近底层。程序员⽤汇编语⾔来编写程序实际上都是对CPU中的寄存器进⾏操作,汇编语⾔编程是针对寄存器来进⾏编程的。
⼆、对源程序进⾏编译
汇编语⾔程序从设计到形成可执⾏程序⽂件,在计算机上的操作过程分为三步:编辑、汇编、连接。⽤⽂本编辑程序写程序,形成.ASM⽂件,⽤汇编程序对.ASM⽂件进⾏汇编,形成.OBJ⽂件,再⽤连接程序对.OBJ⽂件进⾏连接,形成.EXE⽂件。
1. 编辑
新建⼀个名为HELLO.ASM的⽂件,⽤⽂本编辑器将源程序写⼊该⽂件中。
2. 汇编
汇编程序的作⽤是把汇编语⾔源程序翻译成为机器代码,产⽣⼆进制格式的⽬标⽂件(Object File)
在DOS中输⼊以下命令:
MASM HELLO.ASM
3. 连接
连接就是使⽤连接程序LINK把⽬标⽂件(OBJ)转换为可执⾏的EXE⽂件。
在DOS中输⼊以下命令:
LINK HELLO.OBJ
三、在Debug模式下调试程序
程序必须经过调试阶段,才能观测结果和发现程序中的错误。
在DOS中输⼊以下命令:
⽤Debug调⼊HELLO.EXE,出现-Debug命令提⽰符。在-后可键⼊Debug命令进⾏调试。
四、运⾏程序汇编语言如何编程
在DOS中输⼊以下命令:
<
运⾏结果:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论