Я знаю, подобные просьбы вызывают только раздражение...
Но я действительно знаю, как делать это, указание "иди учись" не совсем к месту будет, у меня просто жутчайше не хватает времени, чтобы успеть вовремя... Прошу помощи...
Ниже приведен код программы на языке Ассемблер, который заменяет все строчные "а" на заглавные "А".
Нужно написать программу (а по сути, изменить имеющуюся) так, чтобы:
Анализируя строку , программа занимала первую букву "О" на скобку "(", вторую букву "О" на скобку ")", первую на "(" вторую на ")" и так далее...
Код:
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
Примечание:
Снимаю третье дополнение :)
Примечание:
Помощь вознаграждается :)))))))))) Спасибо большое :)
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.