Проверка на принадлежность слову палиндрому - Assembler

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

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

Ввести строку, состоящую из одного слово, проверить будет ли оно читаться одинаково справа налево и слева направо (т.е. является ли оно палиндромом). Исходную строку и ответ вывести на экран. Хотя бы основную часть помогите написать ввод и вывод примерно есть
.model tiny         
.code   
    org 100h       
start:  
    mov     ah, 09h
    lea     dx, req        
    int     21h    
    mov ah, 0Ah
    lea dx, inpbuf      
    int 21h     
    mov bl, byte ptr len
    xor bh, bh      
    add bx, offset buf  
    mov byte ptr [bx],'$'
    mov     ah, 09h
    lea     dx, crlf    
    int     21h             
    lea     dx, buf
    int     21h     
    mov ah, 4Ch
    int 21h     
crlf    db  0Dh,0Ah,'$' 
req db  'Enter string:$'
inpbuf  db  10      
len db  ?              
buf:                    
    end start

Решение задачи: «Проверка на принадлежность слову палиндрому»

textual
Листинг программы
.model tiny         
.code   
    org 100h       
start:  
    mov     ah, 09h
    lea     dx, req
    int     21h
 
    mov ah, 0Ah
    lea dx, inpbuf      
    int 21h     
 
    mov cl,byte ptr len
    xor ch,ch
    lea si,buf
    mov di,cx
    shr cx,1
    mov byte ptr buf[di],'$'
    cld
@@1:
    dec di
    lodsb
    cmp al,buf[di]
    jnz @@2
    loop    @@1
@@2:
    lea dx,dbNo
    or  cx,cx
    jnz @@3
    lea dx,dbYes
@@3:    mov ah,9
    int 21h
    mov len,13
    lea dx,inpbuf
    mov ah,9
    int 21h
    xor ax,ax
    int 16h
    ret
dbNo    db  10,13,'No$'
dbYes   db  10,13,'Yes$'
req db  10,13,'Enter string:$'
inpbuf  db  10      
len db  ?       
buf label   byte                    
    end start

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

13   голосов , оценка 3.769 из 5
Похожие ответы