2015-11-01 134 views
1

如果在MOV命令中想要将字节作为单独的编号写入,每个字节一个而不是一个单独的编号,该怎么办?你将在字节之间使用什么分隔符?汇编中的MOV命令的字节分隔符(masm)

此外,什么字节分隔符可以在宏调用中使用,因为逗号已被占用作参数分隔符?

作为一个例子,以下是我正在寻找,如果;将被用作分离器:

MOV ax, 25h;'D' 

在上述示例中,第一字节被写入为一个十六进制数,第二个被写入为一个字符串。

MOV edx, 25h;'A';254;'L' 

在上述例子中,第一个字节被写入为一个十六进制数,第二个和第四个作为一个字符串,和所述第三为十六进制数。

+2

Seperator? “这个”字节?哪些字节? “作为单独的数字”?什么号码? – Downvoter

+1

请提供一个代码示例,说明您正在尝试执行的操作。 – Michael

回答

3

您不需要任何字节间的分隔符。以十六进制形式写入两个数字(字节)。

首先数23 = 17小时
第二数目51 = 33H

然后使用单个mov使用两种字节加在一起:

mov ax, 3317h 

EDIT

变化

MOV edx, 25h;'A';254;'L' 

mov edx, 25h + ('A' << 8) + (254 << 16) + ('L' << 24) 
+0

如果你想写一个字节作为数字而下一个作为字符串呢?你能写'MOV ax,33h'L''吗? – user504882

+0

这取决于汇编程序允许的表达式。尝试以下方法:'mov ax,'L'* 256 + 33h' –