Консультация № 159697
05.02.2009, 18:49
0.00 руб.
0 4 0
Помогите пожалуйста!Что нужно дописать, чтоб программа обрабатывалась один раз:
mov eax,20
mov ebx,8
push eax
push ebx
call my_subroutin
pop ebx
pop eax
my_subroutin proc near
mov eax,a
mov ebx,2
mul ebx
mov flag,eax
mov ebx,4
mov eax,b
mul ebx
add eax,flag
add eax,b
add eax,c
mov ebx,-1
mul ebx
and eax,1111111110000011b
or eax, 0000000001100011b
ret
a dd -6
b dd -4
c dd -16
flag dd ?

Обсуждение

Неизвестный
05.02.2009, 20:19
общий
Не совсем понятен вопрос, но скорее всего имеете в виду "чтобы подпрограмма" ... Для этого нужно перед
my_subroutin proc near

написать код выхода их программы.
То есть, у Вас вызывается продпрограмма
call my_subroutin

а потом все плавно перетекает в подпрограмму.
Ведь
my_subroutin proc near

это просто метка, и ничего больше
давно
Посетитель
7438
7205
06.02.2009, 13:28
общий
Должно быть, что-то типа такого:
Код:

subr:
mov eax,20
mov ebx,8
push eax
push ebx
call my_subroutin
pop ebx
pop eax

ret

my_subroutin proc near
mov eax,a
mov ebx,2
mul ebx
mov flag,eax
mov ebx,4
mov eax,b
mul ebx
add eax,flag
add eax,b
add eax,c
mov ebx,-1
mul ebx
and eax,1111111110000011b
or eax, 0000000001100011b
ret
a dd -6
b dd -4
c dd -16
flag dd ?

Откуда-то вызываем подпрограмму subr, которая, в свою очередь, вызывает my_subroutin
Так или нет?
Чтобы точнее ответить, было бы неплохо увидеть весь текст программы...
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
Неизвестный
06.02.2009, 18:07
общий
Что нужно, чтоб программа обрабатывалась один раз при помощи команды безусловного перехода jmp:
.model tiny
.code
.386
org 100h
start:
mov eax,20
mov ebx,8
push eax
push ebx
call my_subroutin
pop ebx
pop eax
my_subroutin proc near
mov eax,a
mov ebx,2
mul ebx
mov flag,eax
mov ebx,4
mov eax,b
mul ebx
add eax,flag
add eax,b
add eax,c
mov ebx,-1
mul ebx
and eax,1111111110000011b
or eax, 0000000001100011b
ret
a dd -6
b dd -4
c dd -16
flag dd ?
my_subroutin endp
end start
Неизвестный
06.02.2009, 21:38
общий
Что-то не понял... Вам нужно, чтобы не было
call my_subroutin
? А был бы вместо него jmp?
Форма ответа