Лидеры рейтинга

ID: 259041

Алексеев Владимир Николаевич

Мастер-Эксперт

340

Россия, пос. Теплоозёрск, ЕАО


ID: 401284

Михаил Александров

Советник

267

Россия, Санкт-Петербург


ID: 400669

epimkin

Профессионал

254


ID: 137394

Megaloman

Мастер-Эксперт

122

Беларусь, Гомель


ID: 405239

al4293189

1-й класс

86


ID: 401888

puporev

Профессор

69

Россия, Пермский край


ID: 325460

CradleA

Мастер-Эксперт

65

Беларусь, Минск


8.9.8

01.08.2021

JS: 2.9.16
CSS: 4.5.14
jQuery: 3.6.0
DataForLocalStorage: 2021-08-03 10:16:01-standard


Создание программ на языке Assembler.

Администратор раздела: Зенченко Константин Николаевич (Старший модератор)

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

Раздел: Assembler
Автор вопроса: kerenskyaf (Посетитель)
Дата: 15.05.2021, 18:08 Консультация закрыта
Поступило ответов: 1

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

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

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

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

Kdsfofwe21

2-й класс
15.05.2021, 19:03
Мини-форум консультации # 200830

Нет сообщений в мини-форуме

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

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

Зенченко Константин Николаевич

Старший модератор

Рейтинг: 88

Коцюрбенко Алексей Владимирович

Старший модератор

Рейтинг: 0

Лысков Игорь Витальевич

Мастер-Эксперт

Рейтинг: 0

Evgen aka Chuma

6-й класс

Рейтинг: 0

cain52

3-й класс

Рейтинг: 0

Kdsfofwe21

2-й класс

Рейтинг: 0