Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» С++ в Assembler

Автор: Peredos
Дата сообщения: 19.01.2004 19:59
Помогите найти программу, которая переводит код cpp файла в ассемблерный, или экзэшник, написанный на С++. Или же подскажите как называются такого рода программы(переводчики), я там уже разберусь.
Автор: WiseAlex
Дата сообщения: 19.01.2004 21:59
Я может не понял вопрос, но из с++ текста можно перевести в ассемблер с помощью любого компилятора - обычно там есть настройки выводить в ассемблерные файлы или нет. (пример VisualC - project properties->C/C++->Output files->assembler output)
Автор: Peredos
Дата сообщения: 19.01.2004 23:26
WiseAlex
Пасибо за ответ!!!!
Вопрос ты правильно понял, у меня программа написанная на С, а должна быть на ассемблере. Но у меня не Визуал С++, а древнейшая версия Borland C++ 3.11, и я вынужден писать именно в этой версии. А как в ней перевести?? Смотрел эти опции, нашел: Option ->Transfer->Turbo Assembler, нажимаю ОК , и нигде файл несоздаётся. Это точно то, что мне нужно? Или я уже нетуда залез?
Автор: redp
Дата сообщения: 20.01.2004 16:03
2Peredos
курсач или лабу какую делаешь ?
давно я работал с TurboC++ - точно не помню как это в нем делается то 100% что он так умеет. Вообще все компиляторы C/C++ могут сделать asm listing
Однако помни что asm код сгенеренный компилятором опознается на раз
Автор: Peredos
Дата сообщения: 20.01.2004 22:47
redp

Цитата:
Однако помни что asm код сгенеренный компилятором опознается на раз

Т.е. получается я несмогу выдать и доказать, что это было написано на ассемблере???
Курсач - поэтому, мне не обязательно чтобы файл выдавал, главное - код правильный.
Автор: Peredos
Дата сообщения: 06.03.2004 23:03
Закрыть надо тему!!!!!!
Автор: skyangel27
Дата сообщения: 13.04.2006 14:52
у меня есть borland turbo C++ как можно перевести ето:

string itoa(int n)
{
string s;
int i,aux;
while(n>0)
{
aux=n%10;
si[i]=aux-'0';
i=i+1;
n=n/10;
}
si[i]='$';
invierte(s);
}

на Assembler?
Автор: OdesitVadim
Дата сообщения: 13.04.2006 19:40
Очень просто. Я это делаю обычно с коммандной строки

Код:
bcc32 -S test.cpp
Автор: skyangel27
Дата сообщения: 13.04.2006 20:33
ти мог би по подробней обяснить а то чето не понимаю я

где надо писать етот код?

Автор: KADABRA
Дата сообщения: 13.04.2006 22:04
skyangel27
В консоли: Меню Start->Run пишешь cmd далее Ok.
переходишь в директорию с проектом: cd project_directory
Далее, как написал OdesitVadim: bcc32 -S test.cpp , где test.cpp - исходный файл.
Автор: skyangel27
Дата сообщения: 13.04.2006 22:16
до етого шага я поняла вот например я в директории с моим проектом
c:\1>
пишу ето
bcc32 -S test.cpp

в конце получаю следущее

c:\1>bcc32 -S test.cpp

непонимаю в каком формате должен бить написан моы код (в txt)?
как вот ета строка может перевести на assembler если я не указиваю имя файла который хочу перевести?
я чтото делаю не так и не понимаю что именно...
Автор: Cicatriz
Дата сообщения: 13.04.2006 23:33
где эту bcc32 взять?
Автор: Inochkin
Дата сообщения: 14.04.2006 05:08
skyangel27
Хе, блондинка?
Ваш код храницца в некоем файле, правда? Проверьте, что этот файл не ворда, не екселя и, главное, не 1С'а. Проще всего будет создать в блокноте новый файлик test.cpp и скопировать весь ваш код туда. Потом положите этот файлик в директорию 1 на диске с:. Потом набираете все, что вам посоветовали старшие товарищи. А потом (вах, шаманство) поиском ищете файл test.asm. И всего-то делов, правда?
Автор: OdesitVadim
Дата сообщения: 14.04.2006 10:24
Inochkin
там не asm файл будет. он генерит файлы с расширением i. Но они удачно переименовываются в asm.
Автор: Mickey_from_nsk
Дата сообщения: 14.04.2006 14:24
Это мы так пишем на ассемблере перевод целого в строку?
Не, в качестве прикидки - проканает, но если string это std::string, там вызовов библиотечных функций будет мама не горюй.
Проще так написать. Задача то плевая.
Автор: skyangel27
Дата сообщения: 14.04.2006 14:55
у меня все равно видает ошибку что такоы команды не существует если ктото может переведите мне хотяби один из следущых кодов в Assembler

#include <stdio.h>
#include <string.h>

void main()
{
int i=0,lon,j;
char original[10],invertida[10];

printf("Introduce una palabra: ");
gets(original);

lon=strlen(original);
j=lon-1;
while(i<lon)
{
invertida[ j ]=original[ i ];
j--;
i++;
}
invertida[ i ]='\0';
puts(invertida);
}



string itoa(int n)
{
string s;
int i,aux;
while(n>0)
{
aux=n%10;
if[i]=aux-'0';
i=i+1;
n=n/10;
}
if[i]='$';
invierte(s);
}

P.S.я не блондинка...


Добавлено:
какие операционние системы вы используете?
Автор: Inochkin
Дата сообщения: 14.04.2006 17:22
OdesitVadim

Цитата:
там не asm файл будет. он генерит файлы с расширением i. Но они удачно переименовываются в asm.

Ну наверное, я с борландом вообще плохо знаком. А этот офигительный рецепт вообще даже в голову не приходил)

Добавлено:
skyangel27
Может быть, экономист тогда?
Впрочем, я все равно уже в вас влюблен. А вопрос про операционные системы (умрите, недоброжелатели - эти слова почти без ошибок написаны) окончательно покорил мое сердце.
ЗЫЖ ну и весна блин...
Автор: Cicatriz
Дата сообщения: 14.04.2006 18:40
Inochkin
ты дружишь с головой? ты ей даже не сказал что надо скачать борланд а если она у будет писать bcc32 у неё ничё не перекодица даже за 100 лет, весна наверно играет у тебя, раз голова твоя работает только в нижнем регистре. Сразу видно что это центральная Россия писала нам
Автор: Inochkin
Дата сообщения: 14.04.2006 18:53
Cicatriz
Ну, во-первых, к чему бы такой тон?
Во-вторых,
Цитата:
у меня есть borland turbo C++
, читайте внимательней.
В-третьих, а что вы имеете против центральной россии, иностранчег вы наш? Или "слышь мыкола, мы ж европа, не то, шта эти москали"?
В-четвертых, а что вы собссно хотели сказать?

Shivadest
Я по тебе тоже соскучился
Автор: Cicatriz
Дата сообщения: 14.04.2006 18:59
Inochkin
да сказать хотел "собссно" зачем бред писать, ты в реальной жизни ничем отличится не можешь, а тут чувствуешь себя супер мэном?
Если можешь помоги, а если нет то просто не пиши глупости...
Автор: skyangel27
Дата сообщения: 14.04.2006 19:00
сочувствую насчёт фамилии и национальности


Добавлено:
для
Inochkin
Автор: Mickey_from_nsk
Дата сообщения: 17.04.2006 09:33
skyangel27

Цитата:
string itoa(int n)
{
string s;
int i,aux;
while(n>0)
{
aux=n%10;
if[i]=aux-'0';
i=i+1;
n=n/10;
}
if[i]='$';
invierte(s);
}


Если не ошибаюсь, return пропущен.
Автор: Peredos
Дата сообщения: 19.01.2004 19:59
Помогите найти программу, которая переводит код cpp файла в ассемблерный, или экзэшник, написанный на С++. Или же подскажите как называются такого рода программы(переводчики), я там уже разберусь.
Автор: WiseAlex
Дата сообщения: 19.01.2004 21:59
Я может не понял вопрос, но из с++ текста можно перевести в ассемблер с помощью любого компилятора - обычно там есть настройки выводить в ассемблерные файлы или нет. (пример VisualC - project properties->C/C++->Output files->assembler output)
Автор: Peredos
Дата сообщения: 19.01.2004 23:26
WiseAlex
Пасибо за ответ!!!!
Вопрос ты правильно понял, у меня программа написанная на С, а должна быть на ассемблере. Но у меня не Визуал С++, а древнейшая версия Borland C++ 3.11, и я вынужден писать именно в этой версии. А как в ней перевести?? Смотрел эти опции, нашел: Option ->Transfer->Turbo Assembler, нажимаю ОК , и нигде файл несоздаётся. Это точно то, что мне нужно? Или я уже нетуда залез?
Автор: redp
Дата сообщения: 20.01.2004 16:03
2Peredos
курсач или лабу какую делаешь ?
давно я работал с TurboC++ - точно не помню как это в нем делается то 100% что он так умеет. Вообще все компиляторы C/C++ могут сделать asm listing
Однако помни что asm код сгенеренный компилятором опознается на раз
Автор: Peredos
Дата сообщения: 20.01.2004 22:47
redp

Цитата:
Однако помни что asm код сгенеренный компилятором опознается на раз

Т.е. получается я несмогу выдать и доказать, что это было написано на ассемблере???
Курсач - поэтому, мне не обязательно чтобы файл выдавал, главное - код правильный.
Автор: Peredos
Дата сообщения: 06.03.2004 23:03
Закрыть надо тему!!!!!!
Автор: skyangel27
Дата сообщения: 13.04.2006 14:52
у меня есть borland turbo C++ как можно перевести ето:

string itoa(int n)
{
string s;
int i,aux;
while(n>0)
{
aux=n%10;
si[i]=aux-'0';
i=i+1;
n=n/10;
}
si[i]='$';
invierte(s);
}

на Assembler?
Автор: OdesitVadim
Дата сообщения: 13.04.2006 19:40
Очень просто. Я это делаю обычно с коммандной строки

Код:
bcc32 -S test.cpp

Страницы: 12345

Предыдущая тема: Access


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.