IPB
ЛогинПароль:

> ПРАВИЛА РАЗДЕЛА!!!

1. Заголовок или название темы должно быть информативным
2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE]
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора.
5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM!
6. Проверяйте программы перед тем, как выложить их на форум!!

> Процедуры в Tasm, О создании процедур и их вызове
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 8

Репутация: -  0  +


Извините. что я так вломился в ваш форум!
У меня есть проблемы с вызовом процедур с параметрами.
Вот в чем дело:
;Допустим такая процедура.
PROC             LaLaLa f:byte  ;f-параметр.
                    ret
ENDP             LaLaLa
                                    ;дальше программа
;      ....
mov              [f],2
call                LaLaLa
; а надо мне вдроде этого:
call                LaLaLa,2

По сути дела первый вызов процедуры не имеет никаких параметров.
Мы все "параметры" задали выше.
А втророй не компилируется.

Так как же сделать процедуру чтобы вызов был как второй пример?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2





Группа: Пользователи
Сообщений: 8

Репутация: -  0  +


VGA_BASE        equ     03c0h                  ; or 2c0h for secondary VGA
VGA_TSIDX       equ     VGA_BASE+04h
VGA_TSDATA      equ     VGA_BASE+05h
TS_REG          equ     1
TS_GREEN        equ     20h

CRTC_BASE       equ     03d4h                  ; CGA mode
CRTC_REG        equ     17h
CRTC_GREEN      equ     80h

PROC            EnergyLow
               mov      dx, VGA_TSIDX
               mov      al, TS_REG
               out      dx, al
               inc      dx
               in       al, dx
               mov      bl, al
               dec      dx
               mov      al, TS_REG
               out      dx, al
               inc      dx
               mov      al, bl
               or       al, TS_GREEN
               out      dx, al

               mov      dx, CRTC_BASE
               mov      al, CRTC_REG
               out      dx, al
               inc      dx
               in       al, dx
               and      al, NOT CRTC_GREEN
               out      dx, al

               mov      ah, 0
               int      16h

               mov      dx, VGA_TSIDX
               mov      al, TS_REG
               out      dx, al
               inc      dx
               in       al, dx
               mov      bl, al
               dec      dx
               mov      al, TS_REG
               out      dx, al
               inc      dx
               mov      al, bl
               and      al, NOT TS_GREEN
               out      dx, al

               mov      dx, CRTC_BASE
               mov      al, CRTC_REG
               out      dx, al
               inc      dx
               in       al, dx
               or       al, CRTC_GREEN
               out      dx, al
               ret
ENDP            EnergyLow


Сообщение отредактировано: volvo -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 5.05.2024 3:09
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name