totkotoriy Wrote:Только почему то вместо буквы E записывается буква А...
Так ведь в erm всё в десятичной системе счисления. 65 = 41h = 'A'. 65h = 101 = 'e'.
totkotoriy Wrote:Причем что еще заметил, так это то, что командой UN:C читается информация с конца строки то есть слово deca будет 61 63 65 44 на HEX'e... вобще ниче не понимаю... как так?
Дело в том, что UN:C приспособлен считывать числовые данные. А числовые данные в памяти компьютера хранятся в перевёрнутом виде.
Например, ABC5678h хранится так: 78 56 BC 0A. А 56h в двойном слове будет выглядеть так: 56 00 00 00. Поэтому UN:C их автоматически переворачивает. Ну а строка хранится в нормальном порядке.
Это переворачиваение в памяти сделано для того, чтобы при взятии байта по адресу, где записано слово или двойное слово, или слова по адресу, где записано двойное слово, брались младшиие байт/слово, а не старшие (ведь если там записано, скажем, маленькое число - оно всё хранится в младших разрядах, а старшие пусты)
(This post was last modified: 18.03.2012 09:32 by Sav.)