Мы в Telegram
Добавить новость
103news.com
Работа
Апрель
2023

MASM32. Работа со строками

0
У меня есть код, но при линковке выдает ошибки, кто поможет исправить?

.386
.model flat, stdcall
option casemap :none

include \masm32\include\windows.inc
include \masm32\include\user32.inc
include \masm32\include\kernel32.inc
includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib
.data
prompt db "Введите строку:",0
title db "Палиндромы",0
buffer db 256 dup(0)
message db 256 dup(0)
palindrome db 256 dup(0)
space db " ",0
wordCount dd 0

.code
Winmain proc
start:
; Выводим диалоговое окно для ввода строки
invoke MessageBoxA, NULL, addr prompt, addr title, MB_OKCANCEL
cmp eax, IDCANCEL
je exit
invoke GetDlgItemTextA, eax, 0, addr buffer, 256

; Перебираем слова в строке
lea esi, buffer
mov ebx, 0
mov wordCount, 0
wordLoop:
; Находим длину текущего слова
mov edi, esi
findEndOfWord:
cmp byte ptr [edi], ' '
je endOfWord
cmp byte ptr [edi], 0
je endOfWord
inc edi
jmp findEndOfWord
endOfWord:
mov ecx, edi
sub ecx, esi

; Проверяем, является ли слово палиндромом
mov eax, esi
add edi, -1
palindromeLoop:
cmp eax, edi
jge notPalindrome
mov al, byte ptr [eax]
mov bl, byte ptr [edi]
cmp al, bl
jne notPalindrome
inc eax
dec edi
jmp palindromeLoop
palindrome:
; Если слово является палиндромом, добавляем его в строку результатов
mov eax, esi
mov ecx, edi
sub ecx, esi
mov edi, offset palindrome
copyPalindrome:
cmp eax, esi
je endOfWordLoop
mov al, byte ptr [eax]
mov byte ptr [edi], al
inc edi
inc eax
jmp copyPalindrome
endOfWordLoop:
mov byte ptr [edi], 0
invoke lstrcatA, addr message, offset palindrome
invoke lstrcatA, addr message, addr space
inc wordCount

; Переходим к следующему слову в строке
add esi, ecx
cmp byte ptr [esi], 0
je endOfLine
inc esi
jmp wordLoop

notPalindrome:
add esi, ecx
cmp byte ptr [esi], 0
je endOfLine
inc esi
jmp wordLoop

endOfLine:
; Если не найдено ни одного палиндрома, выводим соответствующее сообщение
cmp wordCount, 0
jne showMessage
invoke lstrcpyA, addr message, "Нет палиндромов в строке"
Winmain endp
End Winmain

Выдает следующие ошибки:

\masm32\include\winextra.inc(11052) : error A2026:constant expected
\masm32\include\winextra.inc(11053) : error A2026:constant expected
laba5.asm(24) : error A2008:syntax error : title
laba5.asm(24) : error A2042:statement too complex
laba5.asm(60) : error A2005:symbol redefinition : palindrome
laba5.asm(98) : error A2084:constant value too large
laba5.asm(98) : error A2114:INVOKE argument type mismatch : argument : 2
laba5.asm(26) : error A2006:undefined symbol : exit
laba5.asm(97) : error A2006:undefined symbol : showMessage




Губернаторы России
Москва

Собянин: Московскому метрополитену исполнилось 89 лет





Москва

Россия, Культура, Дети: конкурс на новую эмблему обьявил Театр Ульгэр в Республике Бурятия


Губернаторы России

103news.net – это самые свежие новости из регионов и со всего мира в прямом эфире 24 часа в сутки 7 дней в неделю на всех языках мира без цензуры и предвзятости редактора. Не новости делают нас, а мы – делаем новости. Наши новости опубликованы живыми людьми в формате онлайн. Вы всегда можете добавить свои новости сиюминутно – здесь и прочитать их тут же и – сейчас в России, в Украине и в мире по темам в режиме 24/7 ежесекундно. А теперь ещё - регионы, Крым, Москва и Россия.

Moscow.media
Москва

Неделя мэра: завод «Москвич», гранты для школ искусств и система городских вокзалов



103news.comмеждународная интерактивная информационная сеть (ежеминутные новости с ежедневным интелектуальным архивом). Только у нас — все главные новости дня без политической цензуры. "103 Новости" — абсолютно все точки зрения, трезвая аналитика, цивилизованные споры и обсуждения без взаимных обвинений и оскорблений. Помните, что не у всех точка зрения совпадает с Вашей. Уважайте мнение других, даже если Вы отстаиваете свой взгляд и свою позицию. 103news.com — облегчённая версия старейшего обозревателя новостей 123ru.net.

Мы не навязываем Вам своё видение, мы даём Вам объективный срез событий дня без цензуры и без купюр. Новости, какие они есть — онлайн (с поминутным архивом по всем городам и регионам России, Украины, Белоруссии и Абхазии).

103news.com — живые новости в прямом эфире!

В любую минуту Вы можете добавить свою новость мгновенно — здесь.

Музыкальные новости

Анастасия Волочкова

Волочкова заявила, что суд обязал УК выплатить ей деньги за потоп в квартире




Спорт в России и мире

Алексей Смирнов – актер, которого, надеюсь, еще не забыли

Брянские парапланеристы завоевали три медали на чемпионате ЦФО

Семьи из Подмосковья поборются за выход в финал конкурса «Это у нас семейное»

В ЦСКА рассказали о тяжести травмы голкипера Владислава Торопа


WTA

Ангеліна Калініна поступилася восьмій ракетці світу Саккарі на турнірі WTA 1000 у Римі: результат



Новости Крыма на Sevpoisk.ru


Москва

В ЦСКА рассказали о тяжести травмы голкипера Владислава Торопа



Частные объявления в Вашем городе, в Вашем регионе и в России