汇编中的两行代码

来源:百度知道 编辑:UC知道 时间:2024/09/28 14:57:07
8086汇编的哈!

data segment
m db 'a'
data ends
code segment
assume ds:data,cs:code
i: mov ax,data
mov ds,ax
mov ah,2
mov dl,41h
int 21h
mov ah,1
int 21h
mov ah,4ch
int 21h
code ends
end i
我想问下:
mov ax,data
mov ds,ax
这两行的作用是什么 我尝试把这两行去掉 程序一样能运行哦
还有,其中的data、code、i这些关键字随便改成什么,程序一样能够运行,请问这是为什么?
最近开始上汇编的课,有些不明白,请教一下各位哈?
还有segment、assume这种算是汇编里面的关键字吗?大概有哪些?能否顺便列出一点??
哦 还有 关于int 21h 这个中断是什么意思?它对CPU说了什么使它有了特殊作用的?

mov ax,data
mov ds,ax
这两行代码的作用是:把以data命名的数据段的段地址赋给数据段段寄存器DS。
-----------------------------------------
data、code等不是汇编语言定义的关键字,只是给数据段、代码段起个名字而已。多数人习惯用data命名数据段、code命名代码段,只是习惯,不是规定。但是,像segment、assume等是汇编语言的关键字,一定要正确使用。凡汇编语言指令、伪指令等都是关键字,看看汇编语言关键字列表就清楚了。
-----------------------------------------
从int 20h~int 0ffh,是MS-DOS定义的中断。其中int 21h,通常称为:DOS功能调用,含有近100个功能,提供了应用程序所需的大多数服务,包括建立文件、打开文件、关闭文件、读文件、写文件、读键盘输入、写显示屏、读取或设置日期和时间,以及一大堆控制变量,等等。

mov ax,data
mov ds,ax
这个的意思是装入数据段,把数据段的地址给DS
data code只是一个名字而已,只要按照命名规则就没有错。
segment assume 都是关键字
int 21h,你学到后面就知道了,现在掌握也掌握不了这么多。
祝你好运!!!

如果你有汇编教材的话,这些东西 都是有关于 汇编语言程序格式 伪操作 那里的内容,
Int 21h在有关于Dos中断的内容里!
这东西要讲可以讲N多,建议还是找教材自己看或是问老师,这样会比较清楚!!