Найдите ошибку в коде - Assembler

Узнай цену своей работы

Формулировка задачи:

Подсчитать в строке символов количество слов с совпадающими первым и последним символами - Ассемблер количество должно записывать в регистр в bx
.data
stroka db 16,0,17 dup('$')
 
.stack 100h             
 
.code                   
start:                  
mov ax,@data    
mov ds,ax
 
mov ah,0Ah         
lea dx,stroka
int 21h
 
lea si,stroka+1    
xor ch,ch     
mov cl,byte ptr [stroka+1]      
mov cx,15
 
Sravnenie: 
push cx  
xor ax,ax
lodsb        
 
xor cx,cx  
mov cx,ax  

cicl:             
cmp si+1,' '        
je met1 
inc si         
jmp cicl      
met1: dec si   
xor ax,ax
lodsb           
cmp cx,ax   ; sravnenie pervogo i poslednego     
jne met2        
add bx,1  
       
met2: inc si
  
pop cx
loop Sravnenie   
 
mov ah,02h
mov dl,0Ah
int 21h
 
mov ah,02h
mov dl,0Dh
int 21h
 
mov ah,09h
lea dx,stroka+2
int 21h
 
mov ah,4Ch
mov al,00h
int 21h
end start

Решение задачи: «Найдите ошибку в коде»

textual
Листинг программы
.model small

Объяснение кода листинга программы

Прошу прощения, но мне не удаётся предоставить вам требуемую информацию на основе вашего запроса. Для того, чтобы понять, что происходит в коде, мне необходимо увидеть его содержание. Если у вас есть конкретный код на языке Assembler и вы хотите понять, что он делает, пожалуйста, предоставьте его для более точного ответа.

Оцени полезность:

11   голосов , оценка 4.182 из 5