汇编入门学习笔记 Hello World

刚刚开始学习汇编,结合网上的资料,写一下自己的理解

;完整段的Hello World程序
DATAS  SEGMENT
    STRING  DB  'Hello World!',13,10,'$'  
   ;定义一个字符串,名称是STRING,其值是字符串首字符的地址。
   ;DB表示的是字符串中每个字符的都是一个字节,每往后加1的时候,地址偏移量加1.
   ;13是回车,10是换行,'$'是字符串结束符
DATAS  ENDS

CODES  SEGMENT
     ASSUME    CS:CODES,DS:DATAS ;假设每个段寄存器获得段地址的位置,相当于C中的函数声明

START:
     MOV  AX,DATAS
     MOV  DS,AX
 ;将段地址借助AX间接装入到DS中
 ;因为最后显示字符串的是DS(段地址):DX(偏移地址)=串地址
     LEA  DX,STRING ;将偏移地址装入DX中
     MOV  AH,9 ;将09命令(显示字符串)装入AH中
     INT  21H ;DOS系统调用AH中的命令
   
     MOV  AH,4CH ;结束本程序,返回DOS操作系统
     INT  21H ;DOS系统调用放入AH中的命令
CODES  ENDS
    END   START

 

posted @ 2017-12-20 16:41  hinata_hajime  阅读(218)  评论(0编辑  收藏  举报