Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.89
YYwww
1 / 1 / 0
Регистрация: 06.06.2013
Сообщений: 67
#1

Assembler или C++ - C++

09.06.2013, 22:05. Просмотров 2588. Ответов 31
Метки нет (Все метки)

Вечер добрый.

Подскажите, завязался тут такой "спор".

В блоге, программист из Латвии, который пишет свою ОС, привёл два примера работы на C/C++ и Assembler:

The C function:
C
1
2
3
4
// In C all the functions that are not marked as static are global
int cfunct(int a, int b, int c){
  return a + b + c;
}
Called from assembly:

Assembler
1
2
3
4
5
6
7
8
9
10
11
[extern cfunct]   ; import the C function
call_cfunct:
  push 3          ; c
  push 2          ; b
  push 1          ; a
  call cfunct     ; call the C function
                  ; now eax holds the return value
  add esp, 12     ; stack cleanup, we did the mess,
                  ; so we clean it up and remember
                  ; we pushed 3 integers (32bit, dwords)
                  ; that means it's 12 bytes

Но некоторые программисты пишут, что нужно на assembler.

Так как быть и на чём начать писать и в какой стороне двигаться -- С++ или Assembler, для ядра, хотя бы.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.06.2013, 22:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Assembler или C++ (C++):

Что быстрее assembler или c++ - C++
Вопрос от новичка. Что будет быстрее по скорости выполнения и на сколько: 1) сложить a+b на C++ или на assembler 2) умножить a*b на C++...

C++&Assembler. - C++
Здравствуйте уважаемые форумчани! Было задание, написать простейшую программу которая бы считала пример(с дробями) в С++ и в Ассемблере,...

Assembler начало - C++
Здравствуйте подскажите пожалуйста в VS2010 создаю простой проект. Ничего сложного: #include "stdafx.h" int PROC(char* tab, int...

Eclipse, c++, assembler - C++
Здравствуйте! Такой вопрос: можно ли делать ассемблерные вставки в с++ под эклипсом? Если да, то как? Самый простой пример приведите...

Коды Assembler в C/C++ - C++
Здравствуйте! Я столкнулся с проблемой при использовании кодов Assembler в C/C++. Я читал, что в C/C++ существует функция _asm, в которой...

Ребят C++ и Assembler(совместное) - C++
ребят помогите с задачей.Очень нужно. В модуле на C++ вводятся элементы одномерного массива состоящий из n элементов и выводится...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
stima
474 / 323 / 31
Регистрация: 22.03.2011
Сообщений: 1,047
Завершенные тесты: 2
10.06.2013, 19:30 #16
2YYwww Вы вообще загрузчик писать будете? Или уже Grab использовать? Ну кернел все равно Вам придется писать на Си, а что-то более высокоуровневое можно и на С++.
0
YYwww
1 / 1 / 0
Регистрация: 06.06.2013
Сообщений: 67
10.06.2013, 21:23  [ТС] #17
stima,
Ядро хочу своё написать. Для теории и практики, так сказать. Т.е., теоретическая часть, в виде "Таненбаум Современные Операционные Системы" и иже с ним -- это я тоже буду изучать. Причём детально и глобально.
0
stima
474 / 323 / 31
Регистрация: 22.03.2011
Сообщений: 1,047
Завершенные тесты: 2
10.06.2013, 21:51 #18
Удачи, многие начинали)) не многие закончили.
0
Kastaneda
Форумчанин
Эксперт С++
4653 / 2862 / 228
Регистрация: 12.12.2009
Сообщений: 7,271
Записей в блоге: 2
Завершенные тесты: 1
10.06.2013, 21:54 #19
Просто ради любопытства - планируемая ОС, я так понимаю, под х86, а в каком режиме будет работать?
0
YYwww
1 / 1 / 0
Регистрация: 06.06.2013
Сообщений: 67
10.06.2013, 22:47  [ТС] #20
stima, спасибо, надеюсь, ОС-подобное существо появиться, года так через 3-4. Это дело бросать не хочу, чисто из наглости.


Kastaneda, не совсем понял вопрос. Простите, я ещё нахожусь на стадии "планирование и сбор информации по ОС" и не на всё могу ответить.
0
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,925
Записей в блоге: 1
10.06.2013, 22:50 #21
Зачем сравнивать Ассемблер и С++?
Это вообще для разных задач языки!
Сравнивай Ассемблер и Си!
Изучай и то и другое, упор делай на Си.
1
YYwww
1 / 1 / 0
Регистрация: 06.06.2013
Сообщений: 67
10.06.2013, 22:52  [ТС] #22
Kuzia domovenok, а ядро ОС на чём писать лучше?
0
Саня gamer
96 / 70 / 1
Регистрация: 18.05.2011
Сообщений: 343
Записей в блоге: 1
10.06.2013, 22:56 #23
Цитата Сообщение от YYwww Посмотреть сообщение
Kastaneda, не совсем понял вопрос. Простите, я ещё нахожусь на стадии "планирование и сбор информации по ОС" и не на всё могу ответить.
RM, PM или VM86?
0
YYwww
1 / 1 / 0
Регистрация: 06.06.2013
Сообщений: 67
10.06.2013, 23:03  [ТС] #24
Саня gamer, хм-хм-хм, даже призадумался.. Не рассматривал этот вопрос ещё.
0
Саня gamer
96 / 70 / 1
Регистрация: 18.05.2011
Сообщений: 343
Записей в блоге: 1
10.06.2013, 23:08 #25
придёт время, рассмотришь
0
YYwww
1 / 1 / 0
Регистрация: 06.06.2013
Сообщений: 67
10.06.2013, 23:13  [ТС] #26
Конечно. Вот у меня ещё такй вопрос ко всем пользователям, кто читает эту тему: если у меня возникнут вопросы по ОС, мне где создать тему на этом форуме? (не нашёл раздела для ОС, мобильные ОС видел)
0
Саня gamer
96 / 70 / 1
Регистрация: 18.05.2011
Сообщений: 343
Записей в блоге: 1
10.06.2013, 23:16 #27
лучше спроси тут
1
YYwww
1 / 1 / 0
Регистрация: 06.06.2013
Сообщений: 67
10.06.2013, 23:25  [ТС] #28
Саня gamer, огромное спасибо!
0
Kastaneda
Форумчанин
Эксперт С++
4653 / 2862 / 228
Регистрация: 12.12.2009
Сообщений: 7,271
Записей в блоге: 2
Завершенные тесты: 1
11.06.2013, 07:37 #29
Цитата Сообщение от YYwww Посмотреть сообщение
Kastaneda, не совсем понял вопрос
Архитектура х86 поддерживает 5 режимов работы процессора, точнее 3 режима и 2 подрежима.
Real mode, Protected mode (и его подрежим Virtual mode), Long mode (и подрежим Compatibility mode).
1
YYwww
1 / 1 / 0
Регистрация: 06.06.2013
Сообщений: 67
11.06.2013, 08:45  [ТС] #30
Kastaneda, по скольку я действительно с этим вопросом ещё не сталкивался, почитал, думаю, что сначала будет RM, хотя бы посмотреть и попробовать что это. Если мне это действительно плохо, то буду изобретать велосипед в сторону PM.

Я хочу сказать, что моя "ОС", потенциальная ОС, не расчитана на пользователя вообще. Она рассчитана на работу программы в целом. И то, что будет таких ОС хотя бы две -- я очень сомневаюсь в этом.

Возникает вопрос: для чего мне это?

Отвечаю: первостепенно я преследую цель, так сказать, "изучение работы компьютера, изучение работы процессора, изучение ОС (как и что там делать)", параллельно с этой целью идёт вот такая "исследовательская работа": "пронаблюдать, будет ли работать программа мощнее, если она единственная на компе, т.е. ОС специально для программы", (т.е., в ОС не будет файловой структуры, не будет пользовательского меню и так далее, и так далее, и так далее, - всё упрощается до такого уровня, на котором может спокойно существовать программа).

Это своего рода, как программирование, создание игрушки -- выполняет одну только цель.


А вот когда я приобрету эти знания, когда пойму что к чему, у меня будет и опыт, и практика и реальная оценка "нужна ли хорошая ОС вообще или нет", это я говорю про ОС, которая будет чему-то похожа на Windows, iOS и так далее.

Т.е., файлы, графический интерфейс, многопрограммность, многозадачность и тд и тп.


Вот, преследую такие цели.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.06.2013, 08:45
Привет! Вот еще темы с ответами:

Нужен-ли assembler C++ программисту? - C++
Вчера с друзьями спорили, нужен-ли assembler современному программисту (не микроконтроллеров и т.п). Вот я пишу на С++, асемблер не учил...

Можно ли написать ОС на Assembler'e и C++ - C++
Решил просто написать ОС(хотя бы с минимальным набором программ, минимальными анимациями и интерфейсом приблизительно Шиндовса 3.1(просьба...

Inline Assembler & C++ - C++
int main(int argc, char *argv) { perevod(); cout<<"Type Esc to Escape \n"; __asm { mov ah,01h ...

inline assembler VS чтение по указателю - C++
Доброе время суток. Задача состоит в чтении 1 байта по адресу указателя. Проблема с пониманием, что не так с типами операндов. char...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
11.06.2013, 08:45
Ответ Создать тему
Опции темы

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