Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Assembler Поменять порядок слов в предложении на обратный Ну вопрос то может и банальный, но что то я совсем запутался. в общем задача: Ввести с клавиатуры строку, содержащую несколько слов, разделенных пробелом. Переставить в ней слова, поменяв местами первое слово с последним, второе с предпоследним и т.д. Вывести результаты на экран.Значит нужно представить просто предложение на оборот, просто разбив по пробелам на слова все предложение и прогнав... https://www.cyberforum.ru/ asm-beginners/ thread37730.html Подсчитать количество содержащихся в строке символов С Assembler
17. Дана строка и символ С. Подсчитать количество содержащихся в ней символов С. Результат и первоначальную строку вывести на экран. Помогите выполнить! Буду очень признателен.
Assembler Нахождение макс. кол-ва один. элементов https://www.cyberforum.ru/ asm-beginners/ thread37269.html
Ребята, помогите, пожалуйста! Задача такого типа: имеем 10 элементов типа байт. нужно найти максимальное количество одинаковых элементов. Очень нужно, уже сегодня сдавать, а кроме этого ещё курсовик по станкам доделывать надо...
Assembler Программы на Ассемблере https://www.cyberforum.ru/ asm-beginners/ thread36997.html
Всем доброго времени суток, помогите в решении задачек на Ассемблере. Есть пример решения одной задачки: dosseg .model small .stack 100h .data b dw 3 c dw 3 mes db 'rezyltat 5*b-4*c=','$'
Assembler ...динамические переменные, двумерные массивы, файл, одномерный массив, сортировка массива, текст...
Может кто-нибудь помочь с задачками? Буду рад любой помощи:) 1. Описать процедуру, которая вставляет: а) в непустой список L, элементы которого упорядочены по неубыванию, новый элемент Е так, чтобы сохранилась упорядоченность; б) новый элемент Е в начало списка L, упорядоченного по неубыванию. 2. В матрице D максимальный элемент заменить средним...
Assembler Создать программу, читающую из CMOS информацию о размере основной дополнительной памяти https://www.cyberforum.ru/ asm-beginners/ thread36725.html
Товарищи помогите с решением простейшей задачи.....оч срочно...буду очень признателен, если надо то финансово....
Assembler Количество и последовательность номеров кластеров, выделенных программе https://www.cyberforum.ru/ asm-beginners/ thread36585.html
Приветствую. Кратко описываю ситуацию. Необходимо разработать ассемблер-программу, выводящую в файл количество и последовательность номеров кластеров, выделенных программе. Для вывода использовать handle-ориентированные системные функции обработки файлов. Пояснить назначение выводимых объектов и их отдельных полей. Для поиска объектв использовать только прерывание 13h. Жду ваших предложений и...
Assembler Измерение скорости записи данных в оперативную память и чтение данных из памяти
Нужно сделать курсовую. Вот задание: Написать программу, которая выполняет измерение скорости записи данных в оперативную память и чтение данных из памяти. Программа должна работать в борланд турбо ассемблере и содержать по возможности комментарии
Assembler Вычисление элементарного выражения Всем привет! Срочно нужна помощь в вычислении выражения ((a-2*d)<0) ? (((d-c)>=0) ? (+(a-2*d)%d+(a-b)/64) : ((d*d)%c-abs(2*a))) : (-a+c-(b*d)) Есть пример вычисления похожего выражения(немного недоделанный, но отражает суть), а также шаблон для тестирования. Код должен быть оформлен в функции Delphi (см. шаблон) Суть в том, что это выражение вычисляется в двух функциях (средствами дельфи и... https://www.cyberforum.ru/ asm-beginners/ thread35906.html Assembler На ассемблере выполнить движение секундной стрелки https://www.cyberforum.ru/ asm-beginners/ thread35809.html
Нужно написать программу на ассемблере в виде часов. Необходимо оформить алгоритм рисования линии в виде процедуры с параметрами х, у-начала и х, у -конца. С использованием этой процедуры реализовать подобие часов в некоторой области экрана. Часы имеют только секундную стрелку. Хронометрической точности хода не требуется обеспечивать.
Assembler Вывод символа
Задание. 4. Выводить в текущее положение курсора символ #. Следующий сим-вол # выводить в позицию выше, ниже, левее или правее текущего символа, в зависимости от нажатия клавиш “8”, “2”, “4”, “6” на цифровой клавиатуре. Вывод осуществлять непрерывно с некоторой задержкой. Вот код video segment AT 0b800h CharAndAttribute db 4000 dup(?) video ends
Assembler Составить программу вычисления n-го члена последовательности Фибоначчи Помогите, пож, решить 3 задачи в ассемблере.... ЗАВТРА ЭКЗ......... 0_о НЕ ДАЙТЕ ПОГИБНУТЬ!!!!!!!!!!!!!!!!!!! Заранее СПАСИБО!!!! 1) составить программу для нахождения y=2*min(BX,CX), предварительно переписав в регистры BX и CX числа. результат переписать по метке Y. 2) Составить программу вычисления n-го члена последовательности Фибоначчи. Результат в AX. https://www.cyberforum.ru/ asm-beginners/ thread35658.html
55 / 55 / 5
Регистрация: 09.03.2009
Сообщений: 177
03.06.2009, 09:15 0

Поиск символа в строке и замена - Assembler - Ответ 181534

03.06.2009, 09:15. Показов 7943. Ответов 2
Метки (Все метки)

Ответ

Нашел в книге Зубкова С.В. "Ассемблер для DOS, Windows и Unix" пример программы заменяющий один символ другим. В программе заменяется русская буква 'Н' латинской 'H' во всех текстовых файлах находящихся в папке, где запускается программа.
Вот программа:
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
; fidoh.asm
; заменяет русские "Н" на латинские "Н" во всех файлах с расширением .ТХТ
; в текущем каталоге
        .model     tiny
        .code
        org        100h                ; СОМ-файл
start:
        mov        ah,4Eh              ; поиск первого файла
        xor        cx,cx               ; не системный, не каталог и т.д.
        mov        dx,offset filespec  ; маска для поиска в DS:DX
file_open:
        int        21h
        jc         no_more_files       ; если CF = 1 - файлы кончились
 
        mov        ax,3D02h            ; открыть файл для чтения и записи
        mov        dx,80h+1Eh          ; смещение DTA + смещение имени файла
        int        21h                 ; от начала DTA
        jc         find_next           ; если файл не открылся - перейти
                                       ; к следующему
        mov        bx,ax               ; идентификатор файла в ВХ
        mov        cx,1                ; считывать один байт
        mov        dx,offset buffer    ; начало буфера - в DX
read_next:
        mov        ah,3Fh              ; чтение файла
        int        21h
        jc         find_next           ; если ошибка - перейти к следующему
        dec        ах                  ; если АХ = 0 - файл кончился -
        js         find_next           ; перейти к следующему
        cmp        byte ptr buffer,8Dh ; если не считана русская "Н",
        jne        read_next           ; считать следующий байт,
        mov        byte ptr buffer,48h ; иначе - записать в буфер
                                       ; латинскую букву "Н"
        mov        ax,4201h            ; переместить указатель файла от текущей
        dec        cx                  ; позиции назад на 1
        dec        cx                  ; CX = FFFFh
        mov        dx,cx               ; DX = FFFFh
        int        21h
        mov        ah,40h              ; записать в файл
        inc        cx
        inc        cx                  ; один байт (СХ = 1)
        mov        dx,offset buffer    ; из буфера в DS:DX
        int        21h
        jmp        short read_next     ; считать следующий байт
 
find_next:
        mov        ah,3Eh              ; закрыть предыдущий файл
        int        21h
        mov        ah,4Fh              ; найти следующий файл
        mov        dx,80h              ; смещение DTA от начала PSP
        jmp        short file_open
 
no_more_files:                         ; если файлы кончились,
        ret                            ; выйти из программы
 
filespec      db   "*.txt",0           ; маска для поиска
buffer label  byte                     ; буфер для чтения/записи -
        end        start               ; за концом программы
Меняешь его символы 'н' и 'h' на свои "l" и пробел соответственно, и будет тебе счастье.

Вернуться к обсуждению:
Поиск символа в строке и замена Assembler
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.06.2009, 09:15
Готовые ответы и решения:

Операции в строке: поиск, замена, удаление символа в строке
Доброго здравия! В ассемблере совсем новичок, поэтому прошу помощи. Программа должна получать...

Замена символа в строке на число соответствующему номеру по порядку вхождения этого символа в строку
В заданной строке заменить каждый символ «*» числом, соответствующим номеру по порядку вхождения...

Поиск определенного слова в строке и замена определенного символа после этого слова
Представим что у нас есть следующая строка: &quot;Дядя Петя 10 раз ударил дядю Васю, но дядя Вася...

Замена символа в строке
Есть простая задача: Дана строка. Заменить все символы 'a' на 'A' Решена задача была так: char...

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

Замена символа в строке
Замена символа (к примеру &quot;ж&quot;) в строке выглядит следующим образом: arr = a.replace(/\ж/g, &quot;*&quot;)...

Замена символа в строке
дана строка вида:10*2+X^2; мне нужно по ходу действий заменить X на число из формы, которое может...

Замена символа в строке
Здравствуйте! Есть небольшая проблема, в поле базы храниться строка: (какой-то...

Замена символа в строке
Всем добрый день. Помогите пожалуйста с кодом ) Есть файл в txt-формате. В нем несколько сотен...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru