Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Замена строчных букв заглавными и наоборот 
:(
    Опции темы
mihrimah
Дата 30.10.2015, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 9.3.2014

Репутация: нет
Всего: нет



Нужно написать программу, которая преобразует заглавные буквы F в строчные f, а строчные t в заглавные T. 
Код работает неправильно (изменяется только заглавные на строчные). В чем ошибка и как ее исправить?

Код

DATASG SEGMENT PARA                         ;Открыть сегмент данных
MYTEXT DB 'FffFttTf fFftTTart' ,13,10, '$'     ;Объявить переменную MYTEXT
DATASG ENDS                                 ;Закрыть сегмент данных
STACKSG SEGMENT 'Stack'                 ;Открыть сегмент стека
DB 12 DUP(?)                                ;Стек размером 12 байт
STACKSG ENDS                                ;Закрыть сегмент стека
CODESG SEGMENT PARA 'Code'                  ;Открыть сегмент кода
BEGIN PROC FAR                              ;Начало процедуры дальнего типа
ASSUME SS:STACKSG, CS:CODESG,  DS:DATASG    ;Назначить сегментные регистры
PUSH    DS                               
SUB     AX, AX                          
    PUSH    AX                               
    MOV     AX, DATASG                       
    MOV     DS, AX                           
    LEA     BX, MYTEXT                       
    MOV     CX, 18                           
MT1:    MOV     AH, [BX]                         
    CMP     AH, 46H                         
    JNE  MT2 
    CALL    COR                              
    CMP     AH, 74H                          
    JNE  MT2                              
    CALL    COR2                             
MT2:    INC     BX                               
    LOOP MT1                              
    LEA     DX, MYTEXT                       
    MOV     AH, 09H                          
    INT     21H                              
    RET                                    
    BEGIN   ENDP                           
 
COR PROC     NEAR                       
    NOP                                   
    ADD     AH, 20H                          
    MOV     [BX], AH                          
    RET                                     
    COR ENDP 
 
COR2    PROC     NEAR                       
    NOP                                   
    SUB     AH, 20H                          
    MOV     [BX], AH                          
    RET                                     
    COR2    ENDP 
                                 
    CODESG ENDS                             
    END BEGIN 


Это сообщение отредактировал(а) mihrimah - 30.10.2015, 18:57
PM MAIL   Вверх
mikeyess
Дата 31.10.2015, 10:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 0
Регистрация: 7.1.2014

Репутация: нет
Всего: нет



Добрый день.
Во первых: строку MYTEXT DB 'FffFttTf fFftTTart' ,13,10, '$'     ;Объявить переменную MYTEXT
нужно написать с новой строки. Иначе это в комментариях.
И еще много мелких и не очень ошибок и неточностей.
С уважением, Mike

Этот ответ добавлен с нового Винграда - http://vingrad.com
PM MAIL   Вверх
Google
  Дата 15.10.2019, 04:30 (ссылка)  





  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для начинающих"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm для начинающих | Следующая тема »


 




[ Время генерации скрипта: 0.0850 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.