Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
jenokizm
21 / 37 / 14
Регистрация: 27.03.2014
Сообщений: 754
1

Разница в вызове процедур MASM, TASM

24.08.2016, 16:41. Просмотров 1109. Ответов 2
Метки нет (Все метки)

Привет, балуюсь...
полностью одинаковые процедуры с аргументом. на тасм32 вот так вызываю и все работает
Assembler
1
call myproc, 300
но тоже самое на масм32 выдает непонятную ошибку
error A2008: syntax error : ,
Добавлено через 5 минут
пс если убрать запятую до передаваемого числа, то выдаст такую ошибку
error A2206: missing operator in expression
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.08.2016, 16:41
Ответы с готовыми решениями:

TASM to MASM
Компилил стареньким ТАСМом вот такой вот фрагмент: ;обычное сложение 2-х чисел...

MASM,TASM
Очевидно, что программирование на макроассемблере легче для восприятия чем на...

Отличие masm от tasm
В вузе изучаем tasm, однако, я бы не назвал это изучением, скорее наоборот,...

FASM/MASM/TASM
В ентернетах очень много различных примеров для различных ассемблеров, я решил...

TASM, MASM, или что?
Помогите плиз, нужно срочно какой-нибудь ассемблер компилятор!! С Р О Ч Н О!!...

2
R71MT
4632 / 1438 / 306
Регистрация: 29.07.2014
Сообщений: 2,476
Записей в блоге: 5
24.08.2016, 18:03 2
Лучший ответ Сообщение было отмечено jenokizm как решение

Решение

Assembler
1
2
3
4
5
6
7
8
9
;вызов процедуры через CALL
---------------------------
  push  300
  push  200
  call  myProc
 
;..и через INVOKE
;--------------------------
  invoke  myProc,200,300
0
Constantin Cat
2377 / 1073 / 368
Регистрация: 28.02.2015
Сообщений: 2,378
Завершенные тесты: 1
25.08.2016, 16:17 3
разработчики TASM'а давно ввели макрос call - аналогичный команде вызова подпрограммы. Компилятор автоматически заменяет строку вызова
Assembler
1
2
3
      7 0105                 @@01:   call    inpNumber,di
1     8 0105  57                 PUSH    DI
1     9 0106  E8 0068                CALL    INPNUMBER
также автоматически в подпрограммах подставляется [BP+arg_N] вместо имен переменных
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
     66 0171                 inpNumber       proc    a:word
     67                  uses    bx,cx,dx,si,di
1    68 0171  55                 PUSH    BP
1    69 0172  8B EC              MOV     BP,SP
1    70 0174  53                 PUSH    BX
1    71 0175  51                 PUSH    CX
1    72 0176  52                 PUSH    DX
1    73 0177  56                 PUSH    SI
1    74 0178  57                 PUSH    DI
1    75 0179  BE 000A                mov     si,10
     76 017C  33 D2              xor     dx,dx
     77 017E  8B 46 04               mov     ax,a
Одним словом программист не думает, как лежат параметры в стеке и не считает смещение параметра в стеке.

MASM этого делать не стали.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.08.2016, 16:17

Полезные макросы для MASM и TASM
Не претендую на создание чего-то нового и гениального, но макросы довольно...

из masm в tasm кто может переделать
;Program to Find all the 3 digit integers which ;equal the sum of the cubes...

конвертирования с языка masm на язык tasm
Привет всем подскажите пожалуйста программку для конвертирования с языка masm...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru