Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
zayecvnezapno

Перевод из TASM в MASM

10.05.2012, 15:12. Показов 2093. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нашел код на тасме, что нужно поменять что бы перевести на МАСМ?
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
.model small
 .data
sAny db 'Press any
key$'
string1 db '12345 школьник пошел в школу. Там были другие школьники',0
string2 db 100 dup (?)
str1 db 'школьник'
len_str1 equ $-str1
str2 db 'студент'
len_str2 equ $-str2
 
 .code
 .startup  ;данное макро настраивает сегмент SS и DS (посмотрите в листинге - параметр /la)
 mov ax, @DATA ;надо еще и ES
 mov es, ax
 
 lea si, string1
 call PrintString ;выведем исходную строку
 
 call ChangeStrin
 g ;заменим школьника на студента
 
 lea si, string2
 call PrintString ;выведем результат
 
 lea dx, sAny ;Press any key
 mov ah, 9
 int 21h
 
 mov ah,0
 int 16h  ;ждем нажатия на клавишу
 
 mov ax, 4c00h
 int 21h
 
PrintString proc  ;выводим строку
 lodsb
 cmp al, 0  ;0 - признак конца
 je PS_ret
 int 29h  ;выводит символ из al
 jmp PrintString
PS_ret:
 mov al, 0dh  ;в конце - перевод строки
 int 29h
 mov al, 0ah
 int 29h
 ret
PrintString endp
 
ChangeString proc  ;замена
школьника на студента
 lea si, string1 ;исходная строка
 lea di, string2 ;результат
CS_loop:
 cmp byte ptr [si], 0;конец строки
 je CS_ret
 push di  ;сравним строки [si] и [di]='школьник'
 push si
 lea di, str1
 mov cx, len_str1 ;длина
 repe cmpsb  ;сравниваем ds:si es:di
 pop si
 pop di
 jz InsertStudent ;равно - пишем 'студент'
 movsb   ;не равно - просто копируем байт
 
 jmp CS_loop  ;на следующий байт исходной строки
InsertStudent:
 add si, len_str1 ;обойдем 'школьник'
 push si  ;сохраним адрес
 lea si, str2 ;копируем 'студент'
 mov cx, len_str2 ;длина
 rep movsb
 pop si  ;si - адрес байта за школьником
 jmp CS_loop
CS_ret:
 ret
ChangeString endp
 
 end
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.05.2012, 15:12
Ответы с готовыми решениями:

На сколько отличаются MASM и TASM?
На сколько отличаются языки программирования MASM и TASM? Много ли у них общего?

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

Подскажите этот код для TASM или MASM?
Подскажите это TASM или MASM? EOFLINE EQU '$' AStack SEGMENT STACK DW 12 DUP(?) AStack ENDS DATA SEGMENT keep_cs DW 0 ...

4
116 / 136 / 0
Регистрация: 15.04.2012
Сообщений: 1,031
10.05.2012, 16:58
zayecvnezapno, ничего менять не надо. МАСМ такой код сожрет и добавки попросит. Компилируй, линкуй и все.

P.S. А на че тебе переводить. Машинный код то одинаковый получается.
0
zayecvnezapno
11.05.2012, 17:19
Цитата Сообщение от programmisto Посмотреть сообщение
zayecvnezapno, ничего менять не надо. МАСМ такой код сожрет и добавки попросит. Компилируй, линкуй и все.

P.S. А на че тебе переводить. Машинный код то одинаковый получается.
Вот такую ошибку выдает? "invalid character in file"
Клюг
 Аватар для Charles Kludge
7677 / 3192 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
11.05.2012, 17:35
стр. 3,4 20,21
0
116 / 136 / 0
Регистрация: 15.04.2012
Сообщений: 1,031
12.05.2012, 06:28
zayecvnezapno, покажи окно комплятора и я тебе скажу, что исправить. И строковое объявление напиши в одну строку, он у тебя и ругается, что в две.

P.S. И в какой строке он выдает эту ошибку.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.05.2012, 06:28
Помогаю со студенческими работами здесь

В чем отличие masm/tasm и тд от эмулятора-отладчика i8080?
Для изучения основ ассемблера установил себе эмулятор-отладчик i8080, т.к. с masm/tasm, имея 64-битную систему, я так понял ничего у меня...

Подскажите ссылки на FAQ для разделов Assembler, MASM, TASM
Скиньте FAQ для разделов Assembler,MASM,TASM где много вариантов "Hello,world!$" и где написана статья "Где скачать компилятор...

Где скачать TASM или MASM для Win 10 64 разряда
Где скачать TASM или MASM для Win 10 64 разряда ???? Хочу выучить ассемблер не не знаю где скачать tlink, td, tasm... =( Те что есть у меня...

Подпрограмма сложения двух чисел (для вызова из C++)
Компилил стареньким ТАСМом вот такой вот фрагмент: ;обычное сложение 2-х чисел Code Segment byte public assume CS:Code ...

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru