用汇编语言编写程序输出“Hello World!”

做者:陈世佳  编写时间:2018-4-17编程

方法以下:spa

    步骤一:了解汇编语言代码结构.net

data SEGMENT '数据段,编程者能够把数据都放到这个段里
	....数据部分....  '数据格式是: 标识符 db/dw 数据。
data ENDS  '数据段结束处。

edata SEGMENT '附加数据段,编程者能够把数据都放到这个段里
	....附加数据部分....
edata ENDS  '附加数据段结束处。

code SEGMENT  '代码段,实际的程序都是放这个段里。
ASSUME CS:code,DS:data,ES:edata '告诉编译程序,data段是数据段DS,code段是代码段CS
    start:
    //代码区
code ENDS  '代码段结束。
END start  '整个程序结束,而且程序执行时由start那个位置开始执行。

    步骤二:了解中断指令code

中断指令:INT 21H
功能号:09H
功能描述:输出一个字符串到标准输出设备上。
输出内容:输出DS中指向的DX指向的内容,若是DX为空,则输出DS首地址指向的内容。
入口参数:AH=09H
DS:DX=待输出字符的地址
说明:待显示的字符串以'$'做为其结束标志 
出口参数: 无

    步骤三:定义"Hello World!"字符串blog

data SEGMENT
    hello  DB 'Hello World!$' ;注意要以$结束
data ENDS
    步骤四:编写代码段
code SEGMENT
    ASSUME CS:CODE,DS:DATA
start:
    MOV AX,data  ;将data首地址赋值给AX                
    MOV DS,AX    ;将AX赋值给DS,使DS指向data
    LEA DX,hello ;使DX指向hello首地址
    MOV AH,09h   ;给AH设置参数09H
    INT 21h      ;执行AH中设置的09H号功能。输出DS指向的DX指向的字符串hello
    MOV AX,4C00h ;给AH设置参数4C00h
    int 21h      ;调用4C00h号功能,结束程序
code ENDS
END start
    步骤五:运行便可
    步骤五:若还不明白,可查看 汇编基础入门知识