Перейти к содержанию
    

Непонятный код выхода из программы на asm.

Только что, jcxz сказал:

Потому что следует прочитать соглашения вызова того, что вызываете. Прежде чем вызывать. Соглашения вызова функций системного сервиса SVC 0.

я прочитал - у вас что конкретно сказать? Буду благодарен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

9 минут назад, dio4 сказал:

svc 0 должен делать только выход программы из системы и ничего больше.

Кто вам это сказал? В документации на процессор написано: The SVC instruction causes the SVC exception.

Расскажите, какая у вас ОС и дайте ссылку на документацию, которую вы прочли и что-то не поняли, тогда вам можно будет дать конкретный ответ, а телепаты летом в отпуске.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ок, я понял. Спасибо всем за желание помочь. Как разберусь, отпишусь в тему.  Os все та же - Raspbian GNU/Linux 9 (stretch).

8 минут назад, vov4ick сказал:

Кто вам это сказал? В документации на процессор написано: The SVC instruction causes the SVC exception.

Расскажите, какая у вас ОС и дайте ссылку на документацию, которую вы прочли и что-то не поняли, тогда вам можно будет дать конкретный ответ, а телепаты летом в отпуске.

 

какие телепаты? Я задал очень конкретные вопросы по проге из 10 строк 😀 и не получил ни одного конкретно ответа(и неск. неправильных). Телепатия тут ни причем. 

8 минут назад, vov4ick сказал:

Кто вам это сказал? В документации на процессор написано: The SVC instruction causes the SVC exception.

Расскажите, какая у вас ОС и дайте ссылку на документацию, которую вы прочли и что-то не поняли, тогда вам можно будет дать конкретный ответ, а телепаты летом в отпуске.

 

все доки на сайте производителя.

5 минут назад, dio4 сказал:

Ок, я понял. Спасибо всем за желание помочь. Как разберусь, отпишусь в тему.  Os все та же - Raspbian GNU/Linux 9 (stretch).

какие телепаты? Я задал очень конкретные вопросы по проге из 10 строк 😀 и не получил ни одного конкретно ответа(и неск. неправильных). Телепатия тут ни причем. 

все доки на сайте производителя.

речь не о документации, а о работе программы. по ней есть что сказать в рамках заданных мной вопросов помимо "почитать что-то и еще что-то почитать"  Ребята - прога из 10 строк )))?

Изменено пользователем dio4

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

8 минут назад, dio4 сказал:

все доки на сайте производителя.

"Пойди туда не знаю куда"... Не думаете что вас так же пошлют?

Так и все ответы там же. :biggrin: Что тогда вы здесь забыли?

8 минут назад, dio4 сказал:

и не получил ни одного конкретно ответа(и неск. неправильных)

У меня складывается ощущение, что вы сюда ходите не за ответами на вопросы, а чтобы прокачать своё ЧСВ. :unknw:

Вам тут никто ничего не должен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 минут назад, dio4 сказал:

все доки на сайте производителя.

Никто не будет за вас сидеть и изучать как работает вызов SVC 0 в вашей программе в неизвестном линуксе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 минуту назад, jcxz сказал:

Пойди туда не знаю куда... Не думаете что вас так же пошлют?

Так и все ответы там же. :biggrin: Что тогда вы здесь забыли?

У меня складывается ощущение, что вы сюда ходите не за ответами на вопросы, а чтобы прокачать своё ЧСВ. :unknw:

Вам тут никто ничего не должен.

я что - обидел кого-то? Вроде нет. Задал конкретные вопросы - ждал четких ответов, не получил, сказал всем спасибо, был вежлив и пошел разбираться сам. Что не так?

Только что, HardEgor сказал:

Никто не будет за вас сидеть и изучать как работает вызов SVC 0 в вашей программе в неизвестном линуксе.

я уже понял - не надо,  - но спасибо все равно. Я сам разберусь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 минуты назад, HardEgor сказал:

Никто не будет за вас сидеть и изучать как работает вызов SVC 0 в вашей программе в неизвестном линуксе.

У него не линух. Так как линух невозможен на Cortex-M (а вроде по инструкциям похоже на Cortex-M).

У него неизвестная ОС на неизвестном МК с неизвестным ядром.

2 минуты назад, dio4 сказал:

ждал четких ответов, не получил

Ответы вы получили. Вполне исчерпывающие. Читайте внимательнее.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Только что, jcxz сказал:

У него не линух. Так как линух невозможен на Cortex-M (а вроде по инструкциям похоже на Cortex-M).

У него неизвестная ОС на неизвестном CPU.

О боже!! ))) У меня RASPI 2 Raspbian GNU/Linux 9 (stretch)  ща скину скриншот...если надо.

2 минуты назад, jcxz сказал:

Ответы вы получили. Вполне исчерпывающие. Читайте внимательнее.

тогда повторите плиз - в какой строке и почему меняется содержимое регистра r0? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 минуты назад, dio4 сказал:

О боже!! ))) У меня RASPI 2 Raspbian GNU/Linux 9 (stretch)  ща скину скриншот...если надо.

Не надо - просто делаете поиск по коду слова SVC и изучаете что он там делает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 минуты назад, HardEgor сказал:

Не надо - просто делаете поиск по коду слова SVC и изучаете что он там делает.

Ок. Сказал же - сам разберусь. Просто я думал, может вы знаете, - теплилась надежда... спасибо всем еще раз. И знаете - ваше раздражение мне понятно. Но вы должны сами понимать, что все знать нельзя, даже если хочется. Так что, злиться не надо 😉

Изменено пользователем dio4

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот книжка на русском прямо по вашей теме, первая ссылка в яндексе:

Ассемблер для Raspberry Pi. Практическое руководство. 4-е изд. Брюс Смит 2022

Поиск информации по интересующей функции: man 2 название

Также смотрите man syscalls, там список.

Вот здесь человек задаётся тем же вопросом, ему ответили примерно то же.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 минуты назад, vov4ick сказал:

Вот книжка на русском прямо по вашей теме, первая ссылка в яндексе:

Ассемблер для Raspberry Pi. Практическое руководство. 4-е изд. Брюс Смит 2022

Зачем? Он же написал, что всё уже прочитал:

42 минуты назад, dio4 сказал:

я прочитал

Это нехороший линух не хочет исполнять его программу. Из вредности видимо. Так же как тут не могут "чётко ответить"  :sarcastic:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 минут назад, jcxz сказал:

Зачем? Он же написал, что всё уже прочитал:

Это нехороший линух не хочет исполнять его программу. Из вредности видимо. Так же как тут не могут "чётко ответить"  :sarcastic:

Да, за книгу спасибо, у меня есть в англ. варианте. И правда смешно, да 😀 Как у классика то было в "Ревизоре"?  "Над кем смеетесь?"  Ответ сами у классика прочтете  😁

Изменено пользователем dio4

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Итак, если интересно, цифра 2 появляется в том регистре потому, что это количество правильно записанных байт системным вызовом write, который и пишет это в R0 по умолчанию как информацию о выходе. Тк write последний в программе вызов, который возвращает беззнаковое целочисленное значение, то оно и записывается в R0. Так что ребята, svc тут ни при чем, хотя мне и предлагали тут долго искать маны по svc, в частности  HardEgor. Ну, всем привет и успехов в работе(учебе). Тему считаю закрытой.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 часа назад, dio4 сказал:

записанных байт системным вызовом write...

Так что ребята, svc тут ни при чем

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...