Поиск:

Ответ в темуСоздание новой темы Создание опроса
> мусорит в конце, при выводе строки в конце мусор 
V
    Опции темы
zmaxon
Дата 6.12.2009, 17:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Добрый день, я новичёк, не ругайте)

почему-то при выводе строк в конце мусор получается =(

Код

ideal
model small
dataseg
    str1 db 80, 80 dup ('$')
    str2 db 80 dup ('$')
    str3 db 80 dup ('$')
    endl db 0Dh, 0Ah, '$'
codeseg
start:
    mov ax,@data
    mov ds, ax

    mov ah, 0Ah
    lea dx, [str1]
    int 21h 

    lea si, [str1+1]
    
    xor ax,ax
    mov al, [str1+1]
    add si, ax    
    
    lea di, [str2]
    lea bp, [str3]    
        
    xor cx, cx
    mov cl, [str1+1]
    
    ;shr cx, 1 - делит нацело, не подходит, т.к. все символы требуется вывести
    
cycle:
    jcxz ex
    dec cx
    mov ah, [ds:si]
    mov [ds:di], ah
        
    dec si
    mov ah,[ds:si]        
    mov [ds:bp],ah        
        
    dec si;

    inc di 
    inc bp
    jmp cycle
        
ex:            
    mov ah,09h
    lea dx,[endl]
    int 21h
        
    mov ah,09h
    lea dx,[str2]
    int 21h
        
    mov ah,09h
    lea dx,[endl]
    int 21h   
        
    mov ah, 09h
    lea dx, [str3]
    int 21h
        
    mov ax,4c00h
    int 21h
    end start    


программа из заданной строки выводит с конца сначала нечётные символы, а во вторую строку - чётные
PM MAIL   Вверх
airyashov
Дата 7.12.2009, 08:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



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

cycle:
    jcxz ex
    dec cx
    mov ah, [ds:si]
    mov [ds:di], ah
    jcxz ex
        
    dec si
    mov ah,[ds:si]        
    mov [ds:bp],ah        
    dec cx
        
    dec si;
    inc di 
    inc bp
    jmp cycle
        
ex:            



--------------------
icq:3(один)7748666
mail:airyashov( а )inbox.ru
PM MAIL   Вверх
zmaxon
Дата 8.12.2009, 01:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



большое спасибо smile жалко постов мало

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

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

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


 




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


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

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