汇编中的ES是什么意思???
发布网友
发布时间:2022-04-26 14:43
我来回答
共5个回答
热心网友
时间:2022-06-29 08:33
ES寄存器 附加段寄存器:定义附加段的起始地址。
程序中其他段得起始地址。 用于某些串操作中和DI寄存器相关联 (ES)+(DI)=串地址的结尾
例子:
; * * * * * * * * * * * * * * * * * * * * * * *
data_seg1 segment ; 定义数据段
. .
data_seg1 ends
; * * * * * * * * * * * * * * * * * * * * * * *
data_seg2 segment ; 定义附加段
. .
data_seg2 ends
; * * * * * * * * * * * * * * * * * * * * * * *
code_seg segment ; 定义代码段
assume cs:code_seg, ds:data_seg1, es:data_seg2
start: ; 程序执行的起始地址
; set DS register to current data segment
mov ax, data_seg1 ; 数据段地址
mov ds, ax ; 存入DS寄存器
; set ES register to current extra segment
mov ax, data_seg2 ; 附加段地址
mov es, ax ; 存入ES寄存器
. .
code_seg ends ; 代码段结束
; * * * * * * * * * * * * * * * * * * * * * * * * * *
end start
热心网友
时间:2022-06-29 08:34
在串指令中配合di和si做串扫描用。
如果不是因为这个目的,你也可以将它作为通用的段寄存器,就像我们经常让eax做N多事情一样。
因为cs、ds、ss都有各自的作用,可是我们做程序时也经常需要自己指定段,这个时候有了es就方便多了。
热心网友
时间:2022-06-29 08:34
ES:DI 目标串段寄存器:目标串变址 做免杀用到的吗;
热心网友
时间:2022-06-29 08:35
es是扩展段寄存器,
热心网友
时间:2022-06-29 08:35
ES可以作DS使用