Дана строка, слова разделены пробелами. Распечатать слова, длина которой равна данной - Assembler

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

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

Дорогие программисты, помогите пожалуйста с этим заданием на языке Ассэмблер, прост я его вообще не знаю,а препод задал мне написать код на нем,чтобы допустить всех к экзамену, я просто реально вообще не поимаю,как там и что. А задание звучит так: Дана строка, слова разделены пробелами. Строку надо преобразовать: Дана цифра от 0 - 9. Распечатать слова, длина которой равна данной(то есть мы задаем сперва длину от 0-9, а потом компилятор должен выдать слова,равные этой строке). Спасибо Вам большое заранее. С Наступившим Вас!

Решение задачи: «Дана строка, слова разделены пробелами. Распечатать слова, длина которой равна данной»

textual
Листинг программы
;DOS, TASM, COM-файл
;tasm.exe /m filename.asm
;tlink.exe /t /x filename.obj
;
.model tiny
.code
.386
ORG 100h
START:
    xor cx,cx
    lea di,str
m:
    mov ah,1
    int 21h
    stosb
    inc cx
    cmp al,13
    jnz short m
 
    mov byte ptr [di-1],' ' 
 
    mov ah,2
    mov dl,10
    int 21h
m1:
    mov ah,1
    int 21h
    sub al,'0'
    cmp al,9
    ja short m1
 
    cmp al,0
    jz short exit
 
    xor bx,bx
    inc al
    mov bl,al
 
    mov ah,2
    mov dl,13
    int 21h
    mov dl,10
    int 21h
 
    lea di,str
    mov al,' '
m2:
    test cx,cx
    jz short exit
 
    mov si,di
    repne scasb
    mov bp,di
    sub bp,si
    cmp bx,bp
    jnz short m2
push cx
    mov cx,bx
    mov ah,2
m3:
    lodsb
    mov dl,al
    int 21h
    loop m3
pop cx
    jmp short m2
exit:
    xor ax,ax
    int 16h
 
    ret
str:
    end start

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


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

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

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