Народ, я прошу помощи...

компьютеры программирование ассемблер

Я знаю, подобные просьбы вызывают только раздражение...
Но я действительно знаю, как делать это, указание "иди учись" не совсем к месту будет, у меня просто жутчайше не хватает времени, чтобы успеть вовремя... Прошу помощи...
Ниже приведен код программы на языке Ассемблер, который заменяет все строчные "а" на заглавные "А".
Нужно написать программу (а по сути, изменить имеющуюся) так, чтобы:
Анализируя строку , программа занимала первую букву "О" на скобку "(", вторую букву "О" на скобку ")", первую на "(" вторую на ")" и так далее...
Код:
DATASG SEGMENT PARA
MYTEXT DB 'AAAAAgigigiggiiaaaaaAAAAbooAA' ,13,10, '$'
DATASG ENDS


Где строка заменена на MYTEXT DB 'BOOBOOLOLO' ,13,10, '$'

STACKSG SEGMENT 'Stack'
DB 128 DUP(?)
STACKSG ENDS

CODESG SEGMENT PARA 'Code'
BEGIN PROC FAR
ASSUME SS:STACKSG, CS:CODESG, DS:DATASG
PUSH DS
SUB AX,AX
PUSH AX
MOV AX, DATASG
MOV DS, AX
mov AH, 09h
mov DX, OFFSET MYTEXT
int 21h
LEA BX, MYTEXT
MOV CX, 20H
MT1: MOV AH, [BX]
CMP AH, 41H
JNE MT2

CALL COR
MT2: INC BX
LOOP MT1
LEA DX, MYTEXT
MOV AH, 09H
INT 21H
RET
BEGIN ENDP

COR PROC NEAR
NOP
ADD AH, 20H
MOV [BX], AH
RET
COR ENDP
CODESG ENDS
END BEGIN

Примечание:
srs2k, безусловно, благодарю, но можно или коменты к Вашему варианту, или какой-нибудь вариант попроще?)
Я, к стыду, еще не такой спец в языке, да еще на защите проблемы встанут ;))))))))

Примечание:
И результат проги:

B((B((L(L(

Должно быть:
B()B()L(L)

Примечание:
mov DX, SecOccur

Operand type do not match

Примечание:
Снимаю третье дополнение :)

Примечание:
Помощь вознаграждается :)))))))))) Спасибо большое :)
Ответы:
Кажется, как-то так...
Первый пункт - это объявление констант RepChar, OpenBracket, CloseBracket. Тут всё понятно.
Второй пункт - добавляем объявление переменной, в которой будет храниться либо 0 либо 1 - т.е. после замены символа 'O' на '(' мы выставляем её в 1, если она перед этим уже была = 1, то второй раз меняем '(' на ')' и сбрасываем её опять в 0.
Третий пункт - всё понятно, не так ли?
Четвертый - см. алгоритм работы во втором пункте.
>Дополнение #2


15 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.