![]() |
1. Заголовок или название темы должно быть информативным
2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE]
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора.
5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM!
6. Проверяйте программы перед тем, как выложить их на форум!!
![]() ![]() |
![]() |
Dark |
![]()
Сообщение
#1
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 408 Пол: Мужской Репутация: ![]() ![]() ![]() |
Вопрос в следующем, как лучше, и чем(в сравнении):
Занесение в регистр es адреса буфера видеопамяти:
и как мне в асме присвоить значение функции, т.е. вместо function a: byte; чтото типа function a:byte; -------------------- - Где я?
- Во тьме. - В какой тьме? - Во тьме твоего мозга. |
Dark |
![]()
Сообщение
#2
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 408 Пол: Мужской Репутация: ![]() ![]() ![]() |
извините, во втором случае второго вопроса имелось ввиду
чтото типа function a:byte; -------------------- - Где я?
- Во тьме. - В какой тьме? - Во тьме твоего мозга. |
GLuk |
![]()
Сообщение
#3
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 775 Пол: Мужской Репутация: ![]() ![]() ![]() |
Значение типа Byte - Word, возвращается в AL - AX соответственно. Все это очень легко можно посмотреть в TD. Остальные посмотри сам... ;)
А по поводу эффективности кода - в зависимости от проца (лично я всегда употребляю mov ax,0A000h) А размер меньше у push ... Смотри расклад тиков на 286-386-486 процы (на 8086 push 0A000h не покатит) Цитата ++++++++++++++++++++++++++ + Command + Size + 286-386-486 + ++++++++++++++++++++++++++ PUSH 0A000h (3 байта): 3-2-1 POP ES (1): 5-7-3 ---------------------------------------- MOV AX,0A000h (3): 2-2-1 MOV ES,AX (2): 2-2-3 |
Shadow |
![]()
Сообщение
#4
|
![]() Lonely_Raven ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 640 Пол: Мужской Репутация: ![]() ![]() ![]() |
:D
-=-= везде употребляется mov ax,0a000h Push иногда когда выбора другого нету -------------------- Программа делает то что вы ей приказали а не то что бы ВАМ хотелось бы.
МЕРФИ --------------------- RTFM - Read the fucking manual --------------------- http://www.livejournal.com/users/lonley_raven/ |
Dark |
![]()
Сообщение
#5
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 408 Пол: Мужской Репутация: ![]() ![]() ![]() |
Посмотрел я насчет возврата в функцию, и увидел следующее,
1. При вызове в функцию резервируются в стеке 4+размер значения функции байта. 2. Тогда, в BX находится адрес возврата в стеке 3. а в SP - адрес, куда кладется то самое, искомое значение т.е. function a:word; 4. если ничего не возвращать, то вернется значение CS. Спасибо всем! -------------------- - Где я?
- Во тьме. - В какой тьме? - Во тьме твоего мозга. |
![]() ![]() |
![]() |
Текстовая версия | 19.06.2025 18:22 |