解释个程序

来源:百度知道 编辑:UC知道 时间:2024/06/07 19:52:01
DATAS SEGMENT
STRING DB 'Hello Wowrld!',13,10,'$'
DATAS ENDS

CODES SEGMENT
ASSUME CS:CODES,DS:DATAS
START:
MOV AX,DATAS
MOV DS,AX
LEA DX,STRING
MOV AH,9
INT 21H

MOV AH,4CH
INT 21H
CODES ENDS
END START

初学者,我的第一个程序,汇编我什么都不懂哦,希望大哥能讲解每个字符。谢谢了

DATAS SEGMENT ; SEGMENT是定义段的关键字,数据段
STRING DB 'Hello Wowrld!',13,10,'$' ;定义字符串STRING,DB是指每个字符占一个字节Byte,'$'是字符串的结束符
DATAS ENDS ;段结束

CODES SEGMENT ;代码段
ASSUME CS:CODES,DS:DATAS ;ASSUME是伪指令,指明CS寄存器指向CODES段,DS寄存器指向DATAS段
START: ;开始
MOV AX,DATAS ;AX指向DATAS段
MOV DS,AX ;AX赋给DS,DS指向DATAS段
LEA DX,STRING ;LEA是地址传送指令,DX指向STRING的偏移
MOV AH,9 ;AH=9的功能是显示字符串;
INT 21H ;DOS功能调用

MOV AH,4CH ;结束
INT 21H ;DOS调用
CODES ENDS ;代码段结束
END START ;整个程序结束

本人表达不大好,请见谅!

agree with you

这个似乎每一本汇编教材都会详细解释的吧???