【汇编】汇编程序入门篇

        先吐槽几句:总是有人说,门门通不如一门精。也不知道,这话到底是不是真的如其所言,感觉自己就像武侠里习武的少年,总想把世界上所有的武学全部学会,到最后却走火入魔。

        从大一接触计算机起,已经五个年头了,学的知识方方面面,可回想自己精通的知识,C++?算了吧,虽然读了N遍教材,认真研习了经典教材《C++ primer》但是,每每还是有弄不明白的地方。Java?拉倒吧,这么多的类库、函数。C#? 你在开玩笑么?在拖控件开发网页的基础上学习C#,能有很深的造诣么?python?哇塞,刚入门就搞别的了。不提也罢。C?哥们,你会驱动开发么?精通么?如果不的话,还是不要说精通C了。

        你学习汇编干什么?

        自己感觉有用,正所谓艺多不压身。好吧,前后矛盾的解释,勉强算你过了吧。

        你能坚持学下来么?

        能,没有学过汇编一直是我的一个心结,最近在研究驱动方面的知识,需要学习学习汇编,这是一个弥补的机会。

        你觉得艺多不压身?还是门门通不如一门精?

        感觉计算机各个领域都是相互关联的,多了解些知识,对计算机技术的掌握容易融汇贯通。比如去年自作主张的自学了Android,没想到后来做项目时候,还真能用的上。以前没有学汇编,这不现在还得补。出来混迟早要还的,早不学的东西,迟早要学。要不就不要从事这一行。

         学习计算机五年了,你累么?

         不累,我是越来越喜欢计算机这一行了。虽然天天熬夜编码。可也没人逼着我呀,这都是兴趣。我做我喜欢,哦也!!  

一,环境搭建

       Win7+Masm for Windows 集成实验环境 2012.5


二,代码分析


;完整段的Hello World程序        ;分号为注释符号
DATAS  SEGMENT                  ;定义一个段名为DATAS的数据段
     STRING  DB  'Hello World!',13,10,'$'  ;定义程序中需要的常量和变量
DATAS  ENDS                     ;结束数据段定义

CODES  SEGMENT                  ;定义代码段
     ASSUME    CS:CODES,DS:DATAS;对准语句
START:                          ;程序开始
     MOV  AX,DATAS              ;将DATAS的段地址送AX
     MOV  DS,AX                 ;寄存器AX送到段寄存器DS
     LEA  DX,STRING             ;把字符串的偏移地址存放到DX
     MOV  AH,9                  ;
     INT  21H
   
     MOV  AH,4CH
     INT  21H
CODES  ENDS
    END   START

posted @ 2012-04-20 23:18  MXi4oyu  阅读(247)  评论(0编辑  收藏  举报