纯属个人见解:
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