首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么要清除方向标志?

为什么要清除方向标志?
EN

Stack Overflow用户
提问于 2014-05-31 02:39:00
回答 1查看 337关注 0票数 2
代码语言:javascript
复制
.set PROT_MODE_CSEG, 0x8         # kernel code segment selector
.set PROT_MODE_DSEG, 0x10        # kernel data segment selector
.set CR0_PE_ON,      0x1         # protected mode enable flag

.globl start
start:
  .code16                     # Assemble for 16-bit mode
  cli                         # Disable interrupts
  cld                         # clear direction flag -> String operations increment

  # Set up the important data segment registers (DS, ES, SS).
  xorw    %ax,%ax             # Segment number zero
  movw    %ax,%ds             # -> Data Segment
  movw    %ax,%es             # -> Extra Segment
  movw    %ax,%ss             # -> Stack Segment

这是麻省理工学院6.828课程引导程序的起始部分。我想知道为什么我们需要清除方向标志。我明白什么是清除方向标志,但有什么需要清除它呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-31 03:02:06

如果在引导加载程序将控制转移到您的代码时设置了方向标志,则字符串操作将不会按照您预期的方式工作。大多数行为良好的引导程序可能不会这样做,但这是一个很好的实践。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23965877

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档