|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
02.03.2012, 17:26 | #1 |
Участник клуба
Регистрация: 30.07.2009
Сообщений: 1,601
|
Ввести строку в память динамически.
Добрый день. Я как-то не сталкивался с визуальным оформлением asm-программ. Сейчас задам глупый вопрос.
В языках высокого уровня есть такой вариант инициализации строки Код:
Например:как же мне стыдно за этот бред Код:
Хоть убейте не найду в гугл. Как я не извращался, не найду. P.S. Давайте не будем выяснять чем я думаю, а просто решим и забудем недоразумение. |
02.03.2012, 17:42 | #2 | |
Форумчанин
Регистрация: 09.03.2008
Сообщений: 127
|
В Мasm можешь использовать макросы:
Код:
Цитата:
Код:
Ааа.. если хочешь именно инициализировать, то опять же от ситуации: 1. Помести переменную в .data и там стазу инициализируй 2. Если локальная переменная в процедуре, то можно либо скопировать нужную строку, или же хранить адрес строки в переменной, а заполнить адрес как выше.. Все зависит от контекста.. Последний раз редактировалось |{ot; 02.03.2012 в 17:46. |
|
02.03.2012, 17:49 | #3 | |||
Участник клуба
Регистрация: 30.07.2009
Сообщений: 1,601
|
Интересует работа без макросов, и по возможности Fasm.
Цитата:
Код:
Вот пример на языке высокого уровня Код:
Цитата:
Цитата:
Последний раз редактировалось _PROGRAMM_; 02.03.2012 в 21:18. |
|||
03.03.2012, 07:11 | #4 |
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
если нужен массив строк, то можно оформить так:
Код:
Правильно поставленная задача - три четверти решения.
|
04.03.2012, 10:55 | #5 |
Участник клуба
Регистрация: 30.07.2009
Сообщений: 1,601
|
Вы немного не так меня поняли. У меня есть массив символов(строка). И во время выполнения я ее буду отображать, но запоминать имя массивов, если строк много не удобно. Например:
Я инициализирую строку(массив) и в нее заношу значение. Вывожу ее на экран, и чтобы не создавать еще один массив и в него заносить значение, я просто перезаписываю старый. Вот как-то так. Сейчас, пока в консоли работаю использую CharToOem, но все равно приходится для каждой строки выделять память. Есть вариант - передавать значение через стек процедуре и потом перезаписывать массив, но вот нужно ли это? Вот как работает функция Write() в паскале или cout<<? (Вообще это я могу и сам посмотреть) Неужели выделяет память для строки? Последний раз редактировалось _PROGRAMM_; 04.03.2012 в 11:00. |
04.03.2012, 18:36 | #7 | ||
Участник клуба
Регистрация: 30.07.2009
Сообщений: 1,601
|
Цитата:
А как в языках высокого уровня работает, например, такой код: Цитата:
|
||
07.03.2012, 16:48 | #8 |
equ asm
Участник клуба
Регистрация: 02.05.2009
Сообщений: 1,605
|
строка хранится в секции данных. При загрузке берется адрес на нее, либо она копируется в нужное место.
|
12.03.2012, 12:59 | #9 | |
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
Цитата:
Код:
Правильно поставленная задача - три четверти решения.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[C++]задать динамически строку | tema65 | Помощь студентам | 2 | 03.01.2012 16:02 |
Как ввести строку???? | firephenix | Помощь студентам | 2 | 18.02.2011 18:46 |
Ввести строку символьный данных Асемблер | Max3 | Помощь студентам | 0 | 16.05.2010 19:41 |
динамически выделить память под верхний треугольник квадратной матрицы | juventine | Общие вопросы C/C++ | 2 | 12.04.2009 13:06 |