8 位寄存器、16 位寄存器与 32 位寄存器.pdfVIP

8 位寄存器、16 位寄存器与 32 位寄存器.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
8 位寄存器、16 位寄存器与 32 位寄存器

8 位寄存器、16 位寄存器与 32 位寄存器 王爽老师书上说,CPU 内部主要就是寄存器. 现在我们在 32 位的系统下工作, 当然主要使用的是 32 位寄存器; 那它和 8 位、16 位的 寄存器又有什么关系呢? 从网上找到一个简洁明了的图片: EAX 是 32 位的, 也就是 4 个字节大小; 它的低两位就是 AX; AX 是 16 位的, 又分 2 个字节; 它的高字节是 AH、低字节是 AL; AH 与 AL 是 8 位的. 这样就兼容了以前的 16 位与 8 位. 同理, EBX 就包含着 BX BH BL; ECX 就包含着 CX CH CL; EDX 就包含着 DXDH DL; 好啊, 一下子认识了那么多寄存器! 按照这个道理, 如果给 EAX 赋了值, 那么 AXAHAL 也就都有了值; 如果给 AL 赋了值, 那么 AX EAX 也就有了值. //测试1 var i: integer; {4 字节、32 位} w:word; {2 字节、16 位} b1,b2:byte;{1 字节、 4 位} begin i := maxint; w := 0; b1:= 0; b2:= 0; asm movecx,i movw,cx movb1,ch movb2,cl end; ShowMessage(Format(w=%d;b1=%d;b2=%d,[w,b1,b2])); {结果显示: w=65535;b1=255; b2=255 果然没错, 给 ecx 赋值后,cxchcl 都有值了! } end; //测试2 var i: integer; {4 字节、32 位} w:word; {2 字节、16 位} b:byte; {1 字节、 4 位} begin b:= 255; i := 0; w := 0; asm movcl,b movw,cx movi, ecx end; ShowMessage(Format(i=%d;w=%d,[i,w])); {结果显示: i=255; w=255 这好像是没有问题的, 我用 al ax eax 三个寄存器测试也是如此; 但用 dldx edx 测试, 就会有意外的结果, 奇怪呀! } end; 原文地址:/book/7/

文档评论(0)

xxj1658888 + 关注
实名认证
文档贡献者

教师资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档