Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 在汇编代码的源代码中指定ASCII字符的三种语法是什么?_Assembly_Syntax_X86_Microprocessors - Fatal编程技术网

Assembly 在汇编代码的源代码中指定ASCII字符的三种语法是什么?

Assembly 在汇编代码的源代码中指定ASCII字符的三种语法是什么?,assembly,syntax,x86,microprocessors,Assembly,Syntax,X86,Microprocessors,我正在上一门初级课程,学习如何在汇编中编程。我遇到了一个复习问题,似乎在网上任何地方都找不到清晰的信息 问题是“有三种语法可以在源代码中指定ASCII字符。请编写三种方法来在汇编代码中表示字符m。” 我发现了一个描述如何将m转换为ASCII的图像 根据这幅图,我假设在我的代码中,我可以将字符m表示为'm'、'6D'或'109'。表示在源代码中指定ASCII字符的3种语法是:ASCII、十六进制和符号。这个假设正确吗 我对汇编的理解非常有限,因为我们还没有开始编程。你的怀疑是正确的。这是表示同一

我正在上一门初级课程,学习如何在汇编中编程。我遇到了一个复习问题,似乎在网上任何地方都找不到清晰的信息

问题是“有三种语法可以在源代码中指定ASCII字符。请编写三种方法来在汇编代码中表示字符m。”

我发现了一个描述如何将m转换为ASCII的图像

根据这幅图,我假设在我的代码中,我可以将字符m表示为'm'、'6D'或'109'。表示在源代码中指定ASCII字符的3种语法是:ASCII、十六进制和符号。这个假设正确吗


我对汇编的理解非常有限,因为我们还没有开始编程。

你的怀疑是正确的。这是表示同一事物的三种方式。在MASM汇编中,它将是
'm'
6Dh
109
。NASM还支持
“m”
(单引号和双引号的行为相同,但如果字符串包含单引号,则可以方便地使用双引号,反之亦然,如
)。NASM也有反标记来处理C风格的转义,因此您可以编写
`\n`
,而不是
10
。请参阅和。在TASM汇编程序中,您还可以使用
01101101b
(二进制)、
155q
(八进制)或
155o
(八进制),我认为它也接受
^M
(Ctrl+M)表示13。因此,接受什么取决于汇编程序。您使用什么取决于您希望如何使用该值。如果将其解释为字符,则使用
'm'
,如果将其视为字节值,则使用其他格式之一。FWIW,则不会将一种格式转换为另一种格式。它们只是以不同的方式用值109表示字节,在其他方面:完全相同。另外,在汇编后,你有值109(以二进制位编码),机器代码/CPU不知道它代表ASCII字符,这只是“解释”(可能通过以下代码以逻辑方式使用该109来强制执行)“ASCII字符”,即打印它或与字符串数据进行比较…但在8位中始终只有位模式
0110_1101
,没有其他信息(额外位)存储“类型”或“意图”或源代码的原始格式)