![]() |
1. Заголовок или название темы должно быть информативным
2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE]
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора.
5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM!
6. Проверяйте программы перед тем, как выложить их на форум!!
![]() |
Local |
![]()
Сообщение
#1
|
Гость ![]() |
Привет!!
Procedure Pr(Str : String); Вот объясните почему Я промахиваюсь при вызове локальной перменной в процедуре с параметрами ![]() заранее спасибо |
![]() ![]() |
BlackShadow |
![]()
Сообщение
#2
|
Гость ![]() |
FreeMan, надо просто по-осторожнее это делать, а по возможности вообще избегать.
И в "АЗАХ", единственная функция, которая должна работать нормально (быстро и качественно) - StrLen, сохраняет DS. DS хранит то значение, от которого отталкивается компилятор при адресации глобальных переменных. Т. е. сбив его, всепопытки изменить какую-нибудь твою переменную приведёт к изменению данных где-то там. Далее. Параметры функций адресуются по SS, который далеко не обязательно совпадает с DS => смещение переменной Str надо отсчитывать от SS, поэтому и меняется DS (хотя PUSH SS/POP DS по-моему шустрее и не сбивает AX, но это так, на будующее). |
![]() ![]() |
![]() |
Текстовая версия | 24.06.2025 7:31 |