关于符号:018H和0cH在组装中代表什么? 特别是“ cH”和“ 0”“ h”前缀前后

您所在的位置:网站首页 C语言ch是什么意思 关于符号:018H和0cH在组装中代表什么? 特别是“ cH”和“ 0”“ h”前缀前后

关于符号:018H和0cH在组装中代表什么? 特别是“ cH”和“ 0”“ h”前缀前后

2024-03-20 04:58| 来源: 网络整理| 查看: 265

在下面的代码段中,I / n是018H(具体是0和H)是什么意思,cH是什么意思?

12_i DD 018H _s1 DW 0cH

我知道它实际上是在定义一个变量,但我似乎找不到任何地方这些都意味着什么/代表什么。

关于这一点,如果有人拥有参考文献之类的资源,那么可以找到这样的术语也将非常有帮助,因为我无法在网上找到任何有用的东西。

相关讨论 哪个汇编器? 哪个CPU? 只是一个猜测:它可能是十六进制的符号。 如果不指定特定的汇编程序,则可能几乎没有任何意义。"汇编"不是某种标准化的单一语言,但是每个CPU,汇编器和平台都有自己的方言。 只需检查汇编程序的语法文档即可。 (无论如何,这些显然是数值,但是即使文本相同,您也可能很快会遇到不同汇编器之间的含义完全不同的情况)。 @ Ped7g:多数民众赞成在书。 接受H后缀的任何汇编程序都将视为十六进制。 数十年来,DOS / Windows汇编程序一直在使用此约定。 我怀疑有人会设计一种意味着其他含义的语法(即使对于不同的ISA)。 如何在x86汇编编程中表示十六进制值(例如FFFFFFBB)?

这意味着文字是十六进制的。

因此18h是十进制的16 + 8 = 24,而0ch是十进制的12。

所使用的符号通常是平台和/或操作系统的约定,因此工具通常使用通常用于目标的工具。

相关讨论 这很有道理(现在我觉得应该很明显..哈哈)谢谢! 0ch的前导零是这样,以便汇编程序不会将其视为标签ch。 Beefe将是一个标签0beefh将是一个数字。其他汇编语言(指令集)可能需要/支持$ c,而某些支持C语法为0xC。不应该使用前导零,请注意,在C语法中,前导零使其变为八进制,因此在使用前导零时必须小心。 @old_timer:实际上ch是一个x86寄存器名称:ecx的第二个字节,cl的伙伴。这是0deadbeefH表示法与0xdeadbeef相比糟糕透顶的另一个原因:如果忘记了前导零,则一位数字的十六进制常量可以无错误地组装和链接(不丢失符号定义)。 大声笑,是的ch是一个寄存器名称,这很有趣,我没想到那条路,重点放在前导零很重要。 (我知道ch是ecx出现之前的cx的上半部分,或者是%ecx或今天流行的汇编语法)。这是在确定C会像以前一样起飞之前的事情,所以那时$ abcd会更流行或Xabcd(对于具有编译器访问权限的程序员而言)。而且您确实看到使用$ 1A vs 1ah或0x1a等的汇编语言...我首先学习了0abcdh,然后才学习了0xabcd,因此对这两种语言都感到满意。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3