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

Ввод строки, изменение, вывод

13.05.2013, 12:46. Показов 565. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день, задача у меня такая: ввести строку с клавиатуры, удалить пробелы, заменить строчную а на А и bb на В.
С первыми двумя пунктами проблем нет, а вот с последним не выходит. Подскажите пожалуйста где ошибка, ну и если не трудно, то как сделать правильно
SI -- вход, DI -- выход.

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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
STAK    SEGMENT STACK
        DB 256 DUP (?)
STAK    ENDS
 
 
DATA    SEGMENT
    BUF DB 30, 0, 30 DUP ('$'), '$'
    OUTP DB 30, 0, 30 DUP (' '), '$'
DATA ENDS
 
CODE SEGMENT
ASSUME CS:CODE, DS:DATA, SS:STAK
 
START:
        XOR AX, AX
        MOV BX, DATA
        MOV DS, BX
        MOV AH, 0AH
        LEA DX, BUF
        INT 21H
        XOR CX, CX
        MOV CL, [BUF+1]
        LEA SI, [BUF+2]
        LEA DI, OUTP
        
 
M1:
        MOV AL, [SI]
        MOV AH, [SI+1]
        CMP AL, 'a'
        JE CHANGE
        CMP AL, ' '
        JE SKIP
        CMP AL, 'b'
        JNZ COPY
        CMP AH, 'b'
        JE CHANGE1
        JMP COPY
 
CHANGE:
        MOV AL, 'A'
        JMP COPY
        
CHANGE1:
        MOV AL, 'B'
        INC DI
        
COPY:
        MOV [DI], AL
        INC DI
        
SKIP:
        INC SI
        LOOP M1
        MOV AH, 09H
        LEA DX, OUTP
        INT 21H
        LEA DX, BUF+2
        INT 21H
        MOV AH, 4CH
        INT 21H
CODE ENDS
END START
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.05.2013, 12:46
Ответы с готовыми решениями:

Написать программу разрешающую ввод строки не более 80 символов и вывод на экран этой строки красным цветом
Ассемблер. Написать программу разрешающую ввод строки не более 80 символов и вывод на экран этой...

Вывод и ввод строки
Как мне получить строку, введённую пользователем, и вывести в консоль? То же что и на Python:...

Ввод и вывод строки
Почему такая программа data segment arr db 32 dup ('S') data ends code segment assume...

Ввод-вывод строки
Написать программу под DOS ввода-вывода строки на экран.

0
13.05.2013, 12:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.05.2013, 12:46
Помогаю со студенческими работами здесь

Ввод-вывод строки асемблер
Определить в программе произвольную строку. Вывести на экран отдельно первый и второй символы ....

Ввод строки и вывод её на экран
Народ как в этом коде сделать ввод строки и вывод её на экран .386 .model flat,stdcall option...

Ввод и вывод строки в зависимости от введеных данных
Ввести одну из строк символьных данных: "единица", "два", "три", "четыре", "пять", "шесть",...

Ввод с клавиатуры и вывод на экран символа и строки
1. Напишите программу на языке ассемблера, которая: - вводит с клавиатуры произвольный символ; -...


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

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