如何使用直接寻址将 char 值分配给数组



今天出现了一个问题,我不知道如何处理它。 基本上,我们的数据为

           .data
 alphabet   byte       0,0,0

我们需要将零换成"A"、"B"、"C"

            .data
  alphabet  byte    0,0,0
            .code
  Main proc
  mov alphabet, 'A'
  mov alphabet[1], 'B'
  mov alphabet[2], 'C'
  Main endp
  end

调试时,字母表的十六进制值为 0x41 'A'如何查看调试器中的 [1] 和 [2] 内容?

          .data
alphabet   byte       0,0,0

在不知道调试器的情况下,始终可以通过以下方式更改数据布局:

          .data
alphabet   byte       0
EXTRA1     byte       0
EXTRA2     byte       0

现在看看 EXTRA1 和 EXTRA2 的内容,看看它们得到了"B"和"C"。

说明

mov alphabet, 'A'
mov alphabet[1], 'B'
mov alphabet[2], 'C'

仍然有效([1][2]只是 ALPHABET 的偏移量),也是如此

mov alphabet, 'A'
mov EXTRA1, 'B'
mov EXTRA2, 'C'

最新更新