Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
10 / 10 / 10
Регистрация: 23.07.2015
Сообщений: 55
1

Нужно реализовать смену регистров букв

07.02.2016, 21:51. Показов 1173. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ребят, помогите пожалуйста. Нужно вводить строку с клавиатуры, менять регистры местами ( большие буквы на маленькие и наоборот) и выводить уже обработанную строку. Я смог сделать так, что бы маленькие буквы менялись на большие. Большие буквы начинаются с 41, а меленькие с 61. Т.е. если буква маленькая (больше 61 ) я отнимаю 20 и все работает, но как реализовать обратное?

0 1 2 3 4 5 6 7 8 9 A B C D E F

2 ! " # $ % & ' ( ) * + , - . /
3 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
4 @ A B C D E F G H I J K L M N O
5 P Q R S T U V W X Y Z [ \ ] ^ _
6 ` a b c d e f g h i j k l m n o
7 p q r s t u v w x y z { | } ~

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
model tiny 
.code
.startup
 
     mov ax,3 
     int 10h
     
     mov dx,offset testm
     mov ah,09h
     int 21h
     
     mov dx, offset Sos 
     mov ah,0Ah 
     int 21h 
 
     mov cx,[bx + 1] 
  lst:  
     mov di,cx
      cmp Sos[di+1],60h 
      jl next 
      sub Sos[di+1],20h
   next: 
       loop lst
 
      mov ax,3 
      int 10h
      
      mov dx, offset Sos + 2 
      mov ah,9
      int 21h 
      
       mov ah,0
        int 16h
      ret
   Sos db 20 dup("$") 
   testm   db "Input string:$"
      end
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.02.2016, 21:51
Ответы с готовыми решениями:

Вывод на экран двоичного содержимого двух регистров (ввести значения этих регистров требуется с клавиатуры)
требуется разработать программу вывода на экран двоичного содержимого двух регистров так, чтобы...

Различие регистров букв
Здравствуйте! Требуется помощ в реализации различия регистров букв. Более бодробное задание и то...

Как реализовать смену уровня?
Нужен пример смены уровня на кокосе. Гуглил ничего толкового не нашел

Как реализовать смену изображения ?
Тема такая, даны два рисунка цветной и чернобелый при наведении на чернобелый рисунок он должен...

4
3406 / 1825 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
08.02.2016, 11:20 2
Цитата Сообщение от HarizZ Посмотреть сообщение
но как реализовать обратное
Assembler
1
sub Sos[di+1],20h
Замените SUB на XOR
0
10 / 10 / 10
Регистрация: 23.07.2015
Сообщений: 55
09.02.2016, 01:21  [ТС] 3
При простой замене ничего не получается. Сменил условный переход с jl на jg, и все равно никаких проблесков нормального функционирования программы. Объясните, пожалуйста, подробнее, если вам не трудно. Буду очень благодарен.
0
3406 / 1825 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
09.02.2016, 09:50 4
Лучший ответ Сообщение было отмечено HarizZ как решение

Решение

HarizZ,
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
model tiny 
.code
.startup
 
    mov ax,3 
    int 10h
 
    mov dx,offset testm
    mov ah,09h
    int 21h
 
    mov dx,offset Sos
    mov ah,0Ah
    int 21h 
 
    lea bx,sos
        mov cx,[bx]
    xor ch,ch
    xor di,di
    add di,2
lst:
    cmp Sos[di],'A'
    jb  next
    cmp Sos[di],'z'
    ja  next
    cmp Sos[di],'Z'
    jbe nxt
    cmp Sos[di],'a'
    jb  next
nxt:    xor Sos[di],20h
next:   inc di
    loop    lst
    mov byte ptr Sos[di],'$'
    mov word ptr Sos,0D0Ah
 
    mov dx,offset Sos
    mov ah,9
    int 21h 
 
    mov ah,0
    int 16h
    ret
testm   db  10,13,'Input string:$'
szBuf   equ 30
Sos db  szBuf
szSos   db  ?,szBuf dup("$")
      end
2
10 / 10 / 10
Регистрация: 23.07.2015
Сообщений: 55
09.02.2016, 18:44  [ТС] 5
Спасибо большое.
0
09.02.2016, 18:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.02.2016, 18:44
Помогаю со студенческими работами здесь

Как реализовать смену картинок
Мне, например, нужно установить разный фон на кнопку в зависимости от определенного условия....

Как реализовать смену экранов жестами
Здравствуйте! Всю голову сломал над тем как сделать смену экранов жестами. Пока реализована схема...

Калькулятор: как реализовать смену знака?
Не могу понять, как сделать смену знака. Подскажите чайнику . . . double result, num2; . . ....

Реализовать настройку графика. Смену цвета
1) Реализовать настройку графика - смену цвета и начертания, например, изменение толщины или...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru