![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Участник клуба
Регистрация: 30.07.2009
Сообщений: 1,601
|
![]()
Добрый день. Я как-то не сталкивался с визуальным оформлением asm-программ. Сейчас задам глупый вопрос.
В языках высокого уровня есть такой вариант инициализации строки Код:
Например:как же мне стыдно за этот бред Код:
Хоть убейте не найду в гугл. Как я не извращался, не найду. P.S. Давайте не будем выяснять чем я думаю, а просто решим и забудем недоразумение. ![]() |
![]() |
![]() |
![]() |
#2 | |
Форумчанин
Регистрация: 09.03.2008
Сообщений: 127
|
![]()
В Мasm можешь использовать макросы:
Код:
Цитата:
Код:
Ааа.. если хочешь именно инициализировать, то опять же от ситуации: 1. Помести переменную в .data и там стазу инициализируй 2. Если локальная переменная в процедуре, то можно либо скопировать нужную строку, или же хранить адрес строки в переменной, а заполнить адрес как выше.. Все зависит от контекста.. Последний раз редактировалось |{ot; 02.03.2012 в 17:46. |
|
![]() |
![]() |
![]() |
#3 | |||
Участник клуба
Регистрация: 30.07.2009
Сообщений: 1,601
|
![]()
Интересует работа без макросов, и по возможности Fasm.
Цитата:
Код:
Вот пример на языке высокого уровня Код:
Цитата:
Цитата:
![]() Последний раз редактировалось _PROGRAMM_; 02.03.2012 в 21:18. |
|||
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
![]()
если нужен массив строк, то можно оформить так:
Код:
Правильно поставленная задача - три четверти решения.
|
![]() |
![]() |
![]() |
#5 |
Участник клуба
Регистрация: 30.07.2009
Сообщений: 1,601
|
![]()
Вы немного не так меня поняли. У меня есть массив символов(строка). И во время выполнения я ее буду отображать, но запоминать имя массивов, если строк много не удобно. Например:
Я инициализирую строку(массив) и в нее заношу значение. Вывожу ее на экран, и чтобы не создавать еще один массив и в него заносить значение, я просто перезаписываю старый. Вот как-то так. Сейчас, пока в консоли работаю использую CharToOem, но все равно приходится для каждой строки выделять память. Есть вариант - передавать значение через стек процедуре и потом перезаписывать массив, но вот нужно ли это? Вот как работает функция Write() в паскале или cout<<? (Вообще это я могу и сам посмотреть) Неужели выделяет память для строки? Последний раз редактировалось _PROGRAMM_; 04.03.2012 в 11:00. |
![]() |
![]() |
![]() |
#7 | ||
Участник клуба
Регистрация: 30.07.2009
Сообщений: 1,601
|
![]() Цитата:
![]() А как в языках высокого уровня работает, например, такой код: Цитата:
|
||
![]() |
![]() |
![]() |
#8 |
equ asm
Участник клуба
Регистрация: 02.05.2009
Сообщений: 1,605
|
![]()
строка хранится в секции данных. При загрузке берется адрес на нее, либо она копируется в нужное место.
|
![]() |
![]() |
![]() |
#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 |