|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.10.2020, 17:48 | #1 |
Новичок
Джуниор
Регистрация: 12.10.2020
Сообщений: 6
|
Получение регистра ebx
Всем доброго времени суток!
У меня убунту. Я пишу на со вставками ассемблера. Где посмотреть какой тип ассемблера использует убунту (GAS NASM)? Написал такую программу: Код:
Вообще мне нужно строку посмотреть в ebx, то есть этот код: "xor ebx, ebx" "movl 5, ebx" я просто для проверки написал, он не нужен. ebx хранит данные в двоичном виде, пробовал конвертировать на Си, но безрезультатно. Последний раз редактировалось wadic2; 13.10.2020 в 11:12. |
13.10.2020, 02:30 | #2 |
Программист
Участник клуба
Регистрация: 23.06.2009
Сообщений: 1,772
|
Это не от Убунту зависит, а от компилятора
Если GCC, то там вообще что-то хитрое, типа https://ru.wikipedia.org/wiki/GCC_Inline_Assembly |
13.10.2020, 09:18 | #3 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,330
|
|
13.10.2020, 10:14 | #4 |
Новичок
Джуниор
Регистрация: 12.10.2020
Сообщений: 6
|
Есть возможность использовать и Си и ассемблер. Я явно написал что нужна строка. Я вчера неправильно маленько написал, в процессоре (регистре правильно сказать) по идее в двоичном. Не нужно меня отсылать в гугл, я сам туда дорогу знаю. Вы для чего на форуме сидите? Чтобы заумное написать, иди в гугл, возьми 30 грамм того то и свари.
|
13.10.2020, 12:22 | #5 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,330
|
Вообще-то вы написали:
Что само по себе нонсенс - на уровне процессора нет понятия строк. Так что вам в итоге нужно: а) Алгоритм конверсии в строку? б) Имя функции для конверсии строку? в) Написать за вас код функции для конверсии в строку (на ассемблере)? Чтоб отвечать на глупые вопросы. Чтоб забросив все дела выяснять что нужно разным ТС-ам. Чтоб выслушивать хамов, которые не могут связать двух слов. |
13.10.2020, 12:55 | #6 |
Новичок
Джуниор
Регистрация: 12.10.2020
Сообщений: 6
|
"Что само по себе нонсенс - на уровне процессора нет понятия строк." - я в курсе, не всегда нужно явно воспринимать. Грубо говоря в регистре строка, мы ее получаем.
"а) Так что вам в итоге нужно:" - я опубликовал программу, она не работает(но компилируется). Мне нужно знать имеющийся код правильно я написал? Как сейчас я вижу реализацию: в регистре двоичные данные, читаем их на ассемблере, помещаем в Си, и для начала нужно хотя бы двоичные данные вывести на Си. "б) Имя функции для конверсии строку?" - да, какой то конвертатор двоичного в десятичное (а регистре в первую очередь симаолы строки содержаться (строка)). "в) Написать за вас код функции для конверсии в строку (на ассемблере)?" - по Вашему желанию, я не заставляю. Вообще этот вопрос к вопросу "в" относиться. Если получить двоичные данные на Си, то можно на Си написать. На Си нет стандартных готовых функций? "Чтоб отвечать на глупые вопросы." - согласен. Тогда не жалуйтесь, что убогий дибил обратился к Вам. На форуме люди ждут не гугла, о нем уже все знают. Ждут кода в лучшем случае. Или разжеванных разъяснений. А не так что как для профи сказал: да у тебя проблема с сингулярностью, всего то, ну ты понял, дальше сам. Начать нужно с того, какой ассемблер (GAS, NASM, ...). На сколько я вижу у меня GAS, по крайней мере код компилируется. Печально что на линукс не интел. И спасибо что бросаете дела и помогаете новичкам. И я ни кому не хамил. Последний раз редактировалось wadic2; 13.10.2020 в 14:41. |
13.10.2020, 14:50 | #7 | |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,550
|
Очень хочется посмотреть на регистр, в который помещается строка. Ну если она не длиннее 4 символов ASCII в 32-битном процессоре - тогда конечно.
Часом, не "адрес строки" имеется в виду? Цитата:
Последний раз редактировалось digitalis; 13.10.2020 в 14:54. |
|
13.10.2020, 16:31 | #8 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,330
|
Нет.
На форуме есть риск, что каков вопрос, таков и ответ. Толком не сказали, что вам надо, а потом недовольны... Ну так так и напишите. Вы даже толком не можете сформулировать задачу, из вас приходиться тянуть все клещами. Ну вот, опять мечем перлы... |
13.10.2020, 16:42 | #9 |
Новичок
Джуниор
Регистрация: 12.10.2020
Сообщений: 6
|
Мне нужно прочесть ebx и вывести его на Си в терминал. Пока все.
Этот я код для проверки написал (работает вообще мой код ассемблер или нет): ".extern sum" "xor ebx, ebx" "movl 5, ebx" "movl %ebx, sum" Нужно так: ".extern sum" "movl %ebx, sum" Ладно, пусть пока GAS будет, я думаю там немного кода будет. Последний раз редактировалось wadic2; 13.10.2020 в 16:44. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Различить вид регистра | Anton931 | Общие вопросы Delphi | 5 | 23.05.2015 21:48 |
Значение регистра. | SPLER | Общие вопросы Delphi | 13 | 27.05.2014 21:52 |
Преобразовать все буквы нижнего регистра в буквы верхнего регистра | druger | Помощь студентам | 5 | 18.09.2011 17:27 |
Значение регистра _AN. | ТриСемёрки | Общие вопросы C/C++ | 3 | 25.03.2011 18:57 |
Смена регистра | Last | Microsoft Office Excel | 6 | 12.08.2009 14:52 |