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

Как вывести числа от 1 до 1000 без сравнений в Си++? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Есть ли у кого программа?... http://www.cyberforum.ru/cpp/thread250713.html
Очень нужна помощь!!! Мне нужна создать програму в C++ для курсовой - Вывести все данные о ПК!!! Может у кого есть... напишыте пожалуйста... я в прогромировании полный ноль!!!
C++ Плагины для торрент-клиентов Всем привет! У меня большая просьба ко всем кто писал плагины для торрент-клиентов - поделитесь пожалуйста опытом! Мне бы понять с чего начать и где искать. Буду благодарен за любую информацию. http://www.cyberforum.ru/cpp/thread250501.html
Нужны ли языки помимо с++ C++
Доброго Времени Суток! Видел в некоторых фирмах сейчас переучивают на язык с#. Да и заставляет задуматься отрицательный прирост языка с++ в рейтинге TIOBE. У самого навыки с++, делфи. Как думаете,...
C++ 2010->2008???
Есть ли возможность сконвертировать проект из VS2010 в VS2008??? Или как то изменить настройки VS2010 на VS2008??? Нашол похож тему, но все же есть ли ищо какие то варианты?
C++ Машина Тьюринга унарное сложение http://www.cyberforum.ru/cpp/thread249602.html
Нужно написать на С++ программу реализующую машину Тьюринга выполняющую унарное сложение Добавлено через 1 час 9 минут Подскажите с чего начать? Добавлено через 1 минуту здесь пример ...
C++ Где можно скачать Watcon 10.6 Интересуют ссылки, по которым можно скачать среду разработки Watcom 10.6, задача осложняется тем, что данная среда была выпущена в 1996 году. Сам уже излазил очень многие места интернета, хотя,... подробнее

Показать сообщение отдельно
nxnx
Формучанин
362 / 293 / 16
Регистрация: 02.11.2010
Сообщений: 1,234
16.03.2011, 02:48
чтобы однозначно решить такую задачу, в условии нужно писать архитектуру и какие можно использовать инструкции, и в соотв с этим создавать код.
Сравнение это всётаки j**, поскольку test\cmp не всегда есть и они аналоги and\sub по флагам.
Но можно его представить как условный переход, тоже верно, в зависимости от логики программы.
gcc отказался разворачивать цикл кстати.

Добавлено через 1 минуту
я тоже думал про вариант с исключением, можно попытатся сделать так чтобы вылетало при попытке записать туда, куда нельзя записывать.

Добавлено через 3 минуты
но всётаки вариант с исключением это уже немного не то) хотя в нём нету ни j** ни cmp\test ни loop)
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
!      for( i=1000;;i--)
main()
main+14: movl   $0x3e8,0x1c(%esp)
main+61: decl   0x1c(%esp)
! {
! int k=1000/i;     // при 0 вылетит по исключению
main+22: mov    $0x3e8,%eax
main+27: cltd   
main+28: idivl  0x1c(%esp)
main+32: mov    %eax,0x18(%esp)
! printf("%d",1001-i);
main+36: mov    $0x3e9,%eax
main+41: sub    0x1c(%esp),%eax
main+45: mov    %eax,0x4(%esp)
main+49: movl   $0x40306c,(%esp)
main+56: call   0x401cb8 <printf>
! }
main+65: jmp    0x4013ed <main+22>
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru