Сделать заглавным средний символ слова - Assembler (223654)

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

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

Уважаемые, нужно сделать заглавными средний символ слова, если длина слова нечетная; и символ, предшествующий середине, если длина слова четная. Слова разделяются пробелами. Каждое слово выводить с новой строки. Понимаю,что нужно вычислить длину слова, поделить на 2 и уменьшить ascii код символа на 32,чтобы получить заглавную букву...но как это написать ...помогите,пожалуйста,чем сможете студенту

Решение задачи: «Сделать заглавным средний символ слова»

textual
Листинг программы
  1. .model small
  2. .data
  3. str db 'yesterday all my troubles seemed so far away',0
  4. .stack 100h
  5. .code
  6. start:
  7. mov ax,@data
  8. mov ds,ax
  9. lea si,str
  10. cld
  11. mov ax,3         ; инициализация экрана
  12. int 10h
  13. mov ah,0eh       ; функция телетайпа
  14.  cycle:          ; сканим
  15.  lodsb
  16.  test al,al
  17.  jz fin          ; нуль-терминатор - закругляемся
  18.  cmp al,' '      ; пробел - перевод строки
  19.  je NL
  20.  int 10h         ; не пробел - просто вывод
  21.  jmp cycle
  22.  NL:call NewLine
  23.  jmp cycle
  24. fin:             ; финализация
  25. call NewLine     ; выделяем среднюю букву в последнем слове
  26. xor ah,ah        ; ждём нажатия и завершаемся
  27. int 16h
  28. mov ax,4c00h
  29. int 21h
  30.  
  31. NewLine proc     ; процедура выделения средней буквы и перевода строки
  32.  mov ax,300h     ; читаем позицию курсора
  33.  int 10h
  34.  dec dl
  35.  shr dl,1        ; находим середину слова
  36.  dec ah          ; ставим туда курсор
  37.  int 10h
  38.  mov ah,8        ; и перезаписываем
  39.  int 10h
  40.  sub al,20h      ; заглавной буквой
  41.  mov ah,0eh      ; возвращаем телетайп
  42.  int 10h         ; переходим на новую строку
  43.  mov al,10
  44.  int 10h
  45.  mov al,13
  46.  int 10h
  47.  ret
  48. NewLine endp
  49. end

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


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

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

7   голосов , оценка 3.571 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы