为什么 rep movb 使用数据段?
why rep movb uses data segments?
如果使用旧的段寄存器已经过时,为什么现在仍然存在,而我是这样的:
rep movsb %ds:(%rsi),%es:(%rdi)
这个"ds"和"es"在做什么?没有分段就不一样了?
您不需要指定它们,但它们仍然是 "there." 但是它们没有被用作 "Segment Registers";它们被用作选择器。
段寄存器现在用作全局描述符(或可能是局部描述符)table 之外的选择器,用于定义内存区域及其 read/write 权限。
如果使用旧的段寄存器已经过时,为什么现在仍然存在,而我是这样的:
rep movsb %ds:(%rsi),%es:(%rdi)
这个"ds"和"es"在做什么?没有分段就不一样了?
您不需要指定它们,但它们仍然是 "there." 但是它们没有被用作 "Segment Registers";它们被用作选择器。
段寄存器现在用作全局描述符(或可能是局部描述符)table 之外的选择器,用于定义内存区域及其 read/write 权限。