В получившемся коде ещё остаётся два странных места:
первое: repe cmps s1,s2 заканчивается не только когда встречаются разные символы,
второе: получившаяся строка s3 не обязательно будет длиной в 5 символов.
> в Массив s3 в ячейку под номером, который лежит в bx, запишется символ, лежащий по адресу di? Firetheestle: вовсе нет, с чего бы? Запишется сам регистр di. У intel нет команд пересылающих из памяти в память, за исключением movs. Вам надо загрузить временный регистр из [di] и записать его в s3[bx].
Firetheestle: Уже лучше. Ещё пара вопросов:
Первый:
> ...обнуляем регистр bx...увеличиваем регистр bx на единицу, чтобы он не перезаписал одну букву на другую
-- что при этом происходит с регистром bx?
Чтобы понять что сделать я поискал prefix в каталоге debian, нашел его в файлике debian/rules2, нашёл там PF, поискал его, нашёл его в debian/changelog и увидел, что его можно передать через окружение.
Если в binutils нет такого механизма, можно отредактировать debian/rules (если prefix там) или скрипт, который вызывается оттуда для сборки.
> почему сопроцессор должен быть в полтора-два раза медленнее процессора Ckpyt: я не уверен, что должен, и судя по вашим цифрам это не так. По моим судить не стоит, поскольку там существенно разные внутренности циклов.
Если вопрос чисто теоретический, то возможно сопроцессору нужен более длинный пайплайн, но я не знаю никакой конкретики об интеловских микроархитектурах.
> я даже видя пример chown () не могу понять как его в main() реализовать korsamc: может вам тогда с изучения C начать? Что именно непонятно?
Мы не будем за вас писать, максимум -- поможем вам написать самому. Но для этого вам надо прекратить изображать беспомощность.
> Я имел в виду - чем открыть библиотеку .so (ARM или x86), чтобы можно было что-то там понять, и не сойти с ума как в случае с IDA? objdump выложи библиотеку куда-нибудь, оценить масштабы бедствия?
> А гуй для него есть?
Есть, но зачем? тот же эклипс.
> А в эклипсе (+ADT) вот гуй (в перспективе Debug) - это для какого отладчика, вы не в курсе?
Не уверен, что перспектива однозначно идентифицирует отладчик. Когда я разрабатывал в эклипсе на С в этой перспективе торчал gdb.
> Как понять, как библиотека получает JNIEnv?
Я не специалист в java, но вижу следующие три принципиальные возможности:
- как параметр;
- вызовом JNI_CreateJavaVM: похоже, не твой случай;
- вызовом AttachCurrentThread: stackoverflow.com/questions/12900695/how-to-obtain...
По идее тебе нужен специалист по java/JNI.
> И какой именно отладчик использовать в данной не совсем типовой ситуации?
Я бы использовал gdb, потому что я всегда использую gdb.
> Как узанть, какого именно метода.
Я бы делал так:
- понять, как библиотека получает JNIEnv через который она вызывает джавовский код;
- запустить приложение под отладчиком, получить JNIEnv, поставить точку останова на вызовы GetStaticMethodID и GetMethodID
- посмотреть для какого метода их вызывают последними.
> я не умею дизассемблировать библиотеки такие
> У меня есть IDA Pro, я могу ею пройтись по .so
Ну так значит умеешь? Не вводи в заблуждение тех кого просишь тебе помочь.
> сложность в том, что всё слетает в JNI ERROR, вроде бы проблема в отсутствии метода, но какого именно - и вообще никакой отладочной информации - не только не дается, но и клещами не вытащишь
Сложность в том, что ты не даёшь никакой полезной информации в своём вопросе.
Опиши, что происходит, кто кого вызывает, куда ты попадаешь, где ты видишь ошибку.