附加段ES的作用是什么。。

月光的护城河 2011-06-07 12:50:53
DATA SEGMENT
MSG1 DB 'Please input the password:$'
MSG2 DB 'Welcome to use$'
MSG3 DB 'Password error!$'
PASSWORD DB '121212'
STR DB 10,?,10 DUP(?)
CRLF DB 13,10,'$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MOV ES,AX
XOR BX,BX
L:
MOV DX,OFFSET MSG1
MOV AH,9
INT 21H
LEA DX,STR
MOV AH,10
INT 21H
LEA DX,CRLF
MOV AH,09H
INT 21H
MOV CX,6
MOV SI,OFFSET PASSWORD
MOV DI,OFFSET STR+2
REPZ CMPSB
JZ LAB1
JNZ LAB2
DEC CX
JCXZ EXIT
LAB1:
MOV DX,OFFSET MSG2
MOV AH,09H
INT 21H
MOV AH,4CH
INT 21H
LAB2:
MOV AL,3
INC BL
CMP AL,BL
JNG EXIT
MOV DX,OFFSET MSG3
MOV AH,09H
INT 21H
LEA DX,CRLF
MOV AH,09H
INT 21H
LOOP L
EXIT:
MOV AH,4CH
INT 21H
CODE ENDS
END START


上面的程序我运行过,去掉ASSUE里面ES段和不去掉ES段运行结果没有差别,我想问问这里加上ES有什么作用?
...全文
520 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoD 2011-06-08
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20110420/12/2e4f8030-065e-4a92-9006-c1ed3f93148c.html
xiaoD 2011-06-08
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20110528/14/3137018b-19c0-4460-9532-0b606197962e.html
xiaoD 2011-06-08
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20110420/12/2e4f8030-065e-4a92-9006-c1ed3f93148c.html
看完这个帖子就知道为什么了
月光的护城河 2011-06-08
  • 打赏
  • 举报
回复
还是不怎么明白,那ES得具体作用是什么?
WJN92 2011-06-08
  • 打赏
  • 举报
回复
你多了100元,对你会有影响吗?
多了,用不用随便你,要用的时候就有得用
月光的护城河 2011-06-07
  • 打赏
  • 举报
回复
那为什么去掉ASSUME 里面的ES:data,程序运行无差别呢?
xiaoD 2011-06-07
  • 打赏
  • 举报
回复 1
首先说,ES并不是一个附加段,只是一个附加段寄存器,
你的程序里用到了REPZ CMPSB,串比较指令,当然就必须确定ES的值啊,不然怎么比较?

MOV CX,6
MOV SI,OFFSET PASSWORD
MOV DI,OFFSET STR+2
REPZ CMPSB

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧