Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
 
Kazax_Misha
4 / 4 / 3
Регистрация: 15.04.2013
Сообщений: 228
1

Доработать программу (обрабатывать случай, когда в строке string отсутствует знак "$")

29.12.2014, 20:28. Просмотров 333. Ответов 1
Метки нет (Все метки)

Доработать программу 1 таким образом, чтоб она могла обрабатывать случай, когда в строке string отсутствует знак $.
При этом на экран должно быть выдано сообщение: «Символа доллара в строке нет!»

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
64
65
66
masm
model small
.stack 100h
.data
maskd db 71h
string db "Stroka dlya podscheta simvolov $",10,13
mes db 10,13,'V stroke string $'
cnt db 3 dup (?)
mes3  db " simvol(ov)",10,13,'$'
.code
main proc
   mov ax,@data
   mov ds,ax
   lea si,string
 
  call CountSymbol 
  mov cl,bl
  mov ah,9
  mov dx,offset string
  int 21h
 
 mov al,bl
 mov ah,0 
; mov byte ptr [cnt+4],'$'
 mov bl,10
 mov di,2
 xor ah,ah 
 lp1: 
    div bl
    xchg ah,al
    add al,'0'
    mov byte ptr [cnt+di],al
    xchg ah,al
    dec di
    xor ah,ah
    cmp ax,0
jne lp1
      mov dx,offset mes
      mov ah,09h                 ;Функция Dos вывода сообщения на
      int 21h    
     
      mov dx,offset cnt
      mov ah,09h                 ;Функция Dos вывода сообщения на
      int 21h  
 
      mov AX,4C00h
      int 21h
main endp
CountSymbol proc near
     push ax
     push cx
     cld
     mov cx,50
     go:
         lodsb
         cmp al,'$'
         je endstr
         inc bl
         loop go
     
     endstr:
         pop cx
         pop ax
         ret
    CountSymbol endp
end main
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.12.2014, 20:28
Ответы с готовыми решениями:

Поменять знак сравнения "<" на ">" в дизассемблированом коде
#include &lt;iostream&gt; using namespace std; int main() { int x,res; cin &gt;&gt; x; if (x &lt; 2) {...

Заменить в заданной строке знак "!" на сочетание "???"
Заменить в заданной строке знак &quot;!&quot; на сочетание &quot;???&quot;. Подскажите ,что не так делаю??? use16...

Заменить в строке "Мама мыла раму" буквы "а" на знак "_" . Вывести полученный массив на экран
Заменить в строке &quot;Мама мыла раму&quot; буквы &quot;а&quot; на знак &quot;_&quot; . Вывести полученный массив на экран....

Если, в строке обнаружен знак "@" сам знак и все после него удалить
Доброго времени суток! Помогите решить проблему, сколько не парюсь корректно не получается...

В чем ошибка? Когда печатаю "а" или "б" все работает, а когда "А" или "Б" то он не меняет "А" на "Б"
{Программа заменяет буквы &quot;а&quot; на буквы &quot;б&quot; в введенном тексте} var stroka : string; i :...

1
Sergio Leone
2470 / 1115 / 580
Регистрация: 07.06.2014
Сообщений: 3,259
29.12.2014, 23:03 2
Цитата Сообщение от Kazax_Misha Посмотреть сообщение
оработать программу 1 таким образом, чтоб она могла обрабатывать случай, когда в строке string отсутствует знак $.
Это не реально.
Как программа узнает, что строка string закончилась, если в конце не будет признака конца строки??
Значит, нужен
или какой-то символ, выстапающий в роли концевого (не нравится знак "$" можно взять любой другой, да хоть нулевой байт)
или нужно где-то хранить длину строки. (но тогда задача вообще теряет смысл, потому как она как раз количество символов в строке и пытается подсчитать)

А иначе программа "не узнает", когда ей прекращать цикл.


я уже молчу о том, что строка, которая не содержит знак $ не может быть выведена через 9ю функцию 21-го прерывания! Это код
Assembler
1
2
3
  mov ah,9
  mov dx,offset string
  int 21h
выведет не только саму строку и кучу данных после неё, пока не встретит знак доллара!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.12.2014, 23:03

Заменить в заданной строке знак "!" на сочетание "???"
Заменить в заданной строке знак &quot;!&quot; на сочетание &quot;???&quot;. Используя текстовые файлы! Помогите, очень...

Заменить в данной строке знак "!" на сочетание "???"
Заменить в данной строке знак &quot;!&quot; на сочетание &quot;???&quot;

Решение заданий типа "Array","Matrix","String","File","Text"""
большая просьба помочь решить где-то около 35-40 (из 100) задач (мне не понятных) типа массив и...


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

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

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