169 похожих чатов

Занимаюсь реверсом софта под мипс там кусок кода, ида декомпилятор

его определяет как :

snprintf(errbuf,16,”Error”)

а в листинге выглядет это так:

la $t9,snprintf
la $a0,errbuf
addiu $a2,$s1,0x24FA ; “Error”
jalr $t9
li $a1,0x10

Вопрос, почему в регистр а1, 16 заносится после вызова snprintf?

8 ответов

7 просмотров
Urban-Bully Автор вопроса

А не до

Это не ляп. В мипсе и в некоторых других RISC-процессорах есть такая штука, как delay slot. Пока выполнялся джамп, конвейер процессора уже загрузил следующую за ним инструкцию. Но конвейер вроде бы надо сбрасывать, потому что мы перешли по новому адресу. А инструкцию терять жалко. Поэтому пока грузится первая инструкция по новому адресу, процессор выполняет уже загруженную — ту, которая шла за джампом. Иногда, если выполнять ничего не нужно, там стоит nop.

s54820
Это не ляп. В мипсе и в некоторых других RISC-проц...

Переводя на простой язык, можно в коде поставить команду после jaump и процессор ее выполнит в то время, пока выполняетcя jaump?

Urban-Bully Автор вопроса
disba1ancer
а разве не jump?

Да какая разница, английский же не нужно знать для программирования

disba1ancer
а разве не jump?

Jump конечно. А идея дать линейному участку кода "последнее слово", раз уж все равно все готово - великолепна!

Похожие вопросы

Обсуждают сегодня

@Aiwan что такое база образца?
Alexey
27
Не многие знают, а кто знает, тот уже успел забыть, что в далёком 2004 году эта игра произвела настоящий фурор, настолько революционной была технология, применяемая для её соз...
ICCID
4
Короче я тут узнал полный пиздец Что кучу постов которые я создавал через posted Спустя время не могу редактировать и менять Мол телега возвращае ошибку Это реально так ...
inc.
13
коллеги, добрый вечер! А никто не знает как модальная форма может себя закрыть? Ну допустим модальная форма определила, что смысла ей работать нет и хочет вернуть modalResult...
Михаил
83
Хотя у меня сейчас есть более сложная задача, вот её думаю: как объяснить челу переходного возраста противоположного полу, обучающегося в польском колледже (а-ля наш техникум)...
Вячеслав Кузьменко
15
а вы в курсе, что Initialize() не работает? var arr123: array[0..123] of Byte; ... Initialize(arr123, SizeOf(arr123));
Iluha Companets
8
Добрый день Хочу начать обучение языку, не являюсь представителем it, буду благодарна за помощь, совсем пока не понимаю ничего) Подскажите, пожалуйста, где можно начать первы...
Sara Lala
30
что читать по делфи?вообще 0 в нем
fd dsds
9
верно что я могу удалить эти addq и subq т.к. со стеком никакого взаимодействия нет (исключая call)?
Michael
16
const dirname = new URL((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.src || new UR...
Kirill Shaplyko
4
Карта сайта