Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Ассемблер? Это просто! Учимся программировать


РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты в разделе

Kdsfofwe21
Статус: 2-й класс
Рейтинг: 121
∙ повысить рейтинг »
Лысков Игорь Витальевич
Статус: Мастер-Эксперт
Рейтинг: 0
∙ повысить рейтинг »
Evgen aka Chuma
Статус: 6-й класс
Рейтинг: 0
∙ повысить рейтинг »

Assembler

Номер выпуска:1788
Дата выхода:20.05.2021, 18:15
Администратор рассылки:Зенченко Константин Николаевич (Старший модератор)
Подписчиков / экспертов:4 / 25
Вопросов / ответов:1 / 1

Консультация # 200830: Уважаемые эксперты. Обоснуйте пожалуйста "общепринятое" утверждение, что "Символьная строка определяется только директивой DB, в которой указывается более двух символов в нормальной последовательности слева направо. Следовательно, директива DB представляет единственно возможный формат для определения символьных данных".

Консультация # 200830:

Уважаемые эксперты.
Обоснуйте пожалуйста "общепринятое" утверждение, что "Символьная строка определяется только директивой DB, в которой указывается более двух символов в нормальной последовательности слева направо. Следовательно, директива DB представляет единственно возможный формат для определения символьных данных".

Возьмем для примера: String db 'Hello, world!$'.

Сам я, пытаясь объяснить это утверждение, "притягиваю за уши" другое утверждение, что символы (символьная строка) будут выводиться на экран, до тех пор, пока не встретится символ "$" (обозначающий конец строки).
Получается, хоть мы и "забронировали" в памяти за символьной строкой (String) 1 байт, но выводиться (занимать ячейки памяти) будут все символы строки вплоть до символа $.
Но, тогда, с таким же успехом, можно использовать и директивы DW,DD
Почему нельзя написать:
String dw 'Hello, world!$'
или
Str ing dd 'Hello, world!$'

Дата отправки: 15.05.2021, 18:08
Вопрос задал: kerenskyaf (Посетитель)
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Kdsfofwe21 (2-й класс):

здравствуй.
Надо просто подумать над командой
string dw 'Hello, world$'. Если мы знаем что dw резервирует в памяти место под два байта, то в теории Мы должны были бы прийти у выводу что наша строка 'Hello, world$' состояла бы из двубайтовых значений. Но ascii таблица имеет 256 значений - что соответствует одному байту. Ну даже можно и дальше домыслить, если бы данное выражение было валидным, то получилось бы что мы объявили последовательность двойных байтов - 6548h,6c6c,206f... где хранилась бы последовательность. Но так как все таки логично, что символы помещаются в байт, то видимо и решили синтаксис сделать таким.

Консультировал: Kdsfofwe21 (2-й класс)
Дата отправки: 15.05.2021, 19:03
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!


В избранное