ASSUME DS:DATA这句之后,为什么还要MOV AX,DATA?
ASSUMEDS:DATASTART:MOVAX,DATAMOVDS,AX不是已经ASSUME了DS了么,为什么还需要把数据段地址放到DS中呢?为什么CS不用?每个程序代...
ASSUME DS:DATA
START: MOV AX,DATA
MOV DS,AX
不是已经ASSUME了DS了么,为什么还需要把数据段地址放到DS中呢?
为什么CS不用?每个程序代码段只有一个吗?
还有一个问题,系统中运行着两个程序a.exe和b.exe,他们每个程序都有自己的代码段、数据段、堆栈段吗?是a的数据段和b的数据段独立的吗? 展开
START: MOV AX,DATA
MOV DS,AX
不是已经ASSUME了DS了么,为什么还需要把数据段地址放到DS中呢?
为什么CS不用?每个程序代码段只有一个吗?
还有一个问题,系统中运行着两个程序a.exe和b.exe,他们每个程序都有自己的代码段、数据段、堆栈段吗?是a的数据段和b的数据段独立的吗? 展开
展开全部
我好像只会第一个问题,而且我才学了五天,不知道我理解的对不对啊
是这样,1,数据的传送时通过 寄存器来实现的,START: MOV AX,DATA
MOV DS,AX
先把数据给AX,然后AX才能给DX
2:这个放的也不是数据段地址吧,地址有[]吧。
3:CS是放代码指令的,怎么能放里面呢。
是这样,1,数据的传送时通过 寄存器来实现的,START: MOV AX,DATA
MOV DS,AX
先把数据给AX,然后AX才能给DX
2:这个放的也不是数据段地址吧,地址有[]吧。
3:CS是放代码指令的,怎么能放里面呢。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
CS 不用那是因为程序是从start开始的!!
追问
START是特定的标号吗?我换成START1行吗?为什么需要用END START?
追答
标号是可以随意的,编译的时候只是看最后的那个
XX:
end XX
end就是表示程序的结束,xx标号是开始
=========
现在的系统中,a和b的数据段是独立的,dos中2个程序只能执行一个,单任务的系统
====
问题不管了?还有什么不懂的?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
核心的问题是 assume是伪指令 mov是汇编指令
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询