|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
30.07.2012, 19:34 | #1 |
Участник клуба
Регистрация: 30.07.2009
Сообщений: 1,603
|
Регистры и потоки
Добрый день. Что-то я в гугл ничего не найду на эту тему, видно цензура интернета уже заработала. У меня в программе есть потоки, которые используют регистры. Я хочу узнать. Регистры у них общие или независимые друг от друга. Просто у меня в потоке был цикл loop и после двух кругов ecx имеет немыслимые значения. Внутри используются WIN API, но значение заталкивается и выталкивается из стека. Т.е. АПИ тут не при чем.
Код:
Заранее благодарю. |
30.07.2012, 20:11 | #2 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
Здесь скорее проблема с вызовом wsprintf. Если мне не изменяет память, он определён как имеющий сишное соглашение вызова (cdecl), ввиду чего для вызова необходимо использовать cinvoke, а не invoke, иначе после вызова стек не будет очищен (не говоря уже о порядке следования параметров) и в ecx попадёт какой-нибудь мусорок.
Сами по себе регистры общие, но для каждого потока их значение сохраняется операционной системой, то есть программно у каждого потока уникальные регистры. |
30.07.2012, 21:44 | #3 | |
Участник клуба
Регистрация: 30.07.2009
Сообщений: 1,603
|
Спасибо за консультацию. Всего вам хорошего.
-- Цитата:
Последний раз редактировалось _PROGRAMM_; 31.07.2012 в 10:45. |
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Регистры | Волк | Microsoft Office Excel | 9 | 08.04.2009 16:07 |
Регистры | Манжосов Денис :) | Помощь студентам | 8 | 28.07.2008 12:48 |
Регистры | RealSHELS | Общие вопросы Delphi | 3 | 28.03.2008 18:56 |
Регистры | Elm0 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 13 | 10.02.2008 19:49 |