У вас есть два байта, 0x01
и 0x02
. Пока это два байта.
Тогда у вас есть два слова, 0x0001
и 0x0002
. Это еще четыре байта, что делает шесть на сегодняшний день.
У вас есть еще два байта, составляющие символы строки '12', которые 0x31
и 0x32
в ASCII (a) . Это еще два байта, доведя общее количество до восьми.
В формате с прямым порядком байтов (это то, на что вы смотрите здесь, основываясь на значениях памяти ваших состояний вопроса), они хранятся как:
offset value
------ -----
0 0x01
1 0x02
2 0x01
3 0x00
4 0x02
5 0x00
6 0x31
7 0x32
(a) Набор символов, который вы используете в этом случае, - ASCII (вы можете перейти по этой ссылке для таблицы, описывающей все символы в этом наборе).
Значения байт 0x30
через 0x39
представляют собой цифры от 0
до 9
, так же как байты 0x41
через 0x5A
представляют буквенные символы верхнего регистра. Псевдооператор:
db '12'
говорит вставить байты для символов '1'
и '2'
.
Аналогично: * * одна тысяча сорок четыре
db 'Pax is a really cool guy',0
даст вам представление в виде шестнадцатеричного дампа:
addr +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F +0123456789ABCDEF
0000 50 61 78 20 69 73 20 61 20 72 65 61 6C 6C 79 20 Pax is a really
0010 63 6F 6F 6C 20 67 75 79 00 cool guy.