Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
0
Добавлен:
18.10.2022
Размер:
1.24 Кб
Скачать
;Вводится строка. Сравнить буквы 'a' в первой половине строки
;с буквами 'b' во второй половине строки.
section .data
string db 'aaaaadscbcbbbb'
stringLen equ $-string
neravno db 'ОНИ РАВНЫ БЛЯТЬ!!!'
neravnoLen equ $-neravno
section .bss
amount_a resb 10
amount_b resb 10
polovinastr resb 10
section .text
GLOBAL _start
_start:
mov esi, string
mov eax, stringLen
mov ebx, 2
div ebx
add [polovinastr], eax
.zhopa:
movzx eax, byte[esi + ecx]
cmp eax, 'a'
jne .next
mov edx, 1
add [amount_a], edx
jne .next
.next:
inc ecx
cmp ecx, [polovinastr]
jne .zhopa
.2pol:
movzx eax, byte[esi + ecx]
cmp eax, 'b'
jne .next2
mov edx, 1
add [amount_b], edx
jne .next2
.next2:
inc ecx
mov eax, stringLen
cmp ecx, eax
jne .2pol

mov eax, [amount_a]
cmp eax, [amount_b]
jne .exit
mov eax, 4
mov ebx, 1
mov ecx, neravno
mov edx, neravnoLen
int 80h
.exit:
mov eax, 1
mov ebx, 0
int 80h

Соседние файлы в папке новая папка 1