Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 15.05.2017
Сообщений: 19
1

Оставить между словами лишь по одному пробелу, удалив лишние. Макроопределения

22.05.2017, 19:43. Показов 728. Ответов 2
Метки нет (Все метки)

Ребят, помогите исправить код.

Задана строка слов. Словом считается последовательность символов, разделённая пробелами. В исходной строке оставить между словами лишь по одному пробелу, удалив лишние.
Удаляет все пробелы, а не лишние.


Код
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
masm
include  macro.txt
data segment
       string dw  50 dup(?) ,'$'
       ent db  'ENTER:' ,10,13, '$'
       l dw $-string
       
       data ends
code segment
assume cs:code,ds:data
start:
   init_ds
   mov ah,9
   mov dx,offset ent
   int 21h
 
   mov ah, 3fh
   mov bx,0
   mov cx,50
   mov dx,string
   int 21h
  
  
  mov dx,30h
  lea di,string 
  mov cx,l
 
  del_simvol string
 
  out_str string
 exit 
 code ends
 end start
Макро
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
init_ds macro 
 mov ax, data 
 mov ds,ax
 endm
 
out_str  macro str 
 
push ax
mov ah,09h
mov dx,offset str
int 21h
pop ax
endm
 
exit macro 
 
mov ax,4c00h
int 21h
endm
 
del_simvol macro string
 
n:
 
cmp byte ptr [di],20h ;cравнение с пробелом
jne nn
mov si,di
inc si
push di
push cx 
inc cx
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.05.2017, 19:43
Ответы с готовыми решениями:

В исходной строке оставить между словами лишь по одному пробелу, удалив лишние
Выручьте пожалуйста студента с контрольной по Assembler, есть 6 заданий, может у кого какие примеры...

В предложении добавить между словами по одному пробелу
задание следующее: дано предложение. добавить между словами по одному пробелу. помогите набросать...

Сжать текст, оставив между словами по одному пробелу
Дан текст 30 символов. Сжать текст, оставив между словами по одному пробелу.

Сжать текст, оставив между словами по одному пробелу
Дан текст 30 символов. Сжать текст, оставив между словами по одному пробелу.

2
1626 / 793 / 240
Регистрация: 26.05.2012
Сообщений: 2,888
23.05.2017, 15:38 2
Цитата Сообщение от ВалерияЕфремова Посмотреть сообщение
Задана строка слов
в самом деле, а где она строка задана?
Цитата Сообщение от ВалерияЕфремова Посмотреть сообщение
mov ah,3fh
mov bx,0
mov cx,50
mov dx,string
int 21h
0
0 / 0 / 0
Регистрация: 15.05.2017
Сообщений: 19
23.05.2017, 19:30  [ТС] 3
Переделала ещё вчера всё)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.05.2017, 19:30

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Удалить лишние пробелы между словами (раздельная компиляция asm и C)
Есть программа на C++ с ассемблерным кодом. В задании нужно удалить лишние пробелы, т.е. если между...

Убрать все лишние пробелы между словами (оставить только по одному пробелу)
Dim St As String, Stl As String Dim P As String * 10, Sym As String * 1 Dim KR As Long, KN As...

Между словами в тексте оставить по одному пробелу
Помогите решить задачу: Ввести латинский текст заданной длины. Преобразовать текст по следующему...

Оставить в строке по одному пробелу между словами в качестве разделителя
Программа на C++ алгоритм, помогите пожалуйста В строке — русское предложение, слова которого...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.