Разработать программу замены во введенной строке первых строчных букв слов на прописные - Assembler

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

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

Не программировал в ассемблере больше 2 лет. Соответственно забыл все, что только можно было забыть в теории. Поможите? Разработать программу замены во введенной строке первых строчных букв слов на прописные.

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

textual
Листинг программы
 format PE console 4.0
 
include 'win32a.inc'
    invoke  puts,  req  ; Вывод на экран 
    invoke  gets, buf   ; ввод строки
    or  eax, eax 
    jz  gtfo
    mov esi, eax
    mov edi, eax
    invoke  strlen, buf
    mov ecx, eax    ; lengh
; ecx - str length, ESI = EDI -> string buf
    call    cvt
    mov al, 20h     ; space
@@: repne   scasb
    jnz @f      ; нет ' '
    call    cvt
    loop    @b
@@:
 
; Вывод на экран 
    invoke  puts, buf
; выход
gtfo:   invoke  exit, 0
cvt:    push    eax
    mov al, [edi]
    cmp al, 61h
    jb  @f
    cmp al, 7Ah
    ja  @f
    xor al, 20h
; для русских букв допилите сами.
    stosb
@@: pop eax
    ret
req db  'Enter string:',0
buf db  128 dup(?)              ; тут будет то, что ввели
; import data in the same section
 data import
 
 library msvcrt,'MSVCRT.DLL'
 
 import msvcrt,\
    puts,'puts',\
    gets,'gets',\
        strlen,'strlen',\ 
    exit,'exit'
end data

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


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

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

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