您的位置:首页 > 其它

深入了解汇编的第一个简单程序(对初学者很重要)

2011-03-16 21:27 447 查看
纯属个人见解:

           A  SEGMENT               ;定义变量的开始,a只是一个标号,可任意定,和下面的a ends配合相当于{},在里面定义变量
     ASTRING  DB        0AH , 0DH, "HELLO WORD",'$';如果想输出小写的hello world应使用单引号
           A  ENDS

           B  SEGMENT               ;同理,b也是一个标号而已
              ASSUME    CS:B,DS:A   ;把b定义为程序段,A设置为数据段
      HELLO:
              MOV       DX ,A       ;这里使用ax、bx、cx 、dx都没有关系,它们是通用寄存器
              MOV       DS ,DX
              MOV       DX ,OFFSET ASTRING
              MOV       AH ,09H
              INT       21H         ;以上三句合起来是输出字符串astring的

 
              MOV       AH,4CH      ;如果是ax,就用4c00h,因为ah是8位,而ax是16位。其实都是调用4c中断
              INT       21H         ;通过给AH寄存器赋值4CH,然后调用INT 21H指令,计算机就会根据AH寄
              ;存器中的值执行相应的操作?
              ;其中4CH是返回DOS系统,还可给AH寄存器赋其他值
           B  ENDS
              END       HELLO       ;这句话说明了程序的入口点是hello,所有必不可少,从hello到end hello实际是{},里面都是它的代码
 
 
 
 
 
下面是一个hello world程序的规范性代码,替换上方的A 和B:
;;;Hello World
        DATA  SEGMENT
      STRING  DB        'Hello World!!!',0AH,0DH,'$'
        DATA  ENDS
        CODE  SEGMENT
              ASSUME    CS:CODE, DS:DATA
      START:
              MOV       AX,DATA
              MOV       DS,AX
              MOV       DX,OFFSET STRING
              MOV       AH,09H
              INT       21H
              MOV       AH,4CH
              INT       21H
        CODE  ENDS
              END       START
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  汇编 string dos c