Вниз  Ассемблер
- 1.11.2014 / 13:41
AGet
  Пользователь

AGet 
Сейчас: Offline
Purebasic - ништяк. Есть асм вставки. Вопрос - зачееееем нужны они и что дадут?
- 1.11.2014 / 14:38
Ксакеп
  Модератор форума

Ксакеп 
Сейчас: Offline
AGet, очень большая скорость вычислений.
- 1.11.2014 / 14:46
AGet
  Пользователь

AGet 
Сейчас: Offline
Ксакеп, ууу, у меня в проге тормоз есть, буду под асм переписывать :-D
- 1.11.2014 / 14:48
Ксакеп
  Модератор форума

Ксакеп 
Сейчас: Offline
AGet, оптимизируются обычно самые тяжелые места, и то обычно ищут пути устранения с помощью других областей. Например, читают книги по алгоритмам и структурам данных, распараллеливание и так далее.
- 1.11.2014 / 14:50
AGet
  Пользователь

AGet 
Сейчас: Offline
Ксакеп, спасибо за подсказку :)
- 1.11.2014 / 14:55
Helltar
  Пользователь

Helltar 
Сейчас: Offline
AGet (01.11.2014/13:41)Purebasic - ништяк. Есть асм вставки. Вопрос - зачееееем нужны они и что дадут?- https://ru.wikipedia.org/wiki/Ассемблерная_вставка
- http://vk.com/tproger?refresh=undefined&w=wall-30666517_1004947

Изменено Helltar (1.11 / 14:59) (всего 2 раза)
- 8.11.2015 / 19:51
goodden
  Пользователь

goodden 
Помогите сделать программу вычисляющую выражение
(N*30-N*16)/2
где N =11(в десятичной системе)
исходное N поместить в регистр R16
результат поместить в ячейки памяти с адресом 0х0060 и 0х0061
:ps: использовать только команды LDI,MOV,STS,MUL,SUB,SBC,LSR,ROR

Изменено goodden (8.11 / 19:57) (всего 1 раз)
- 8.11.2015 / 20:45
vl@volk
  Пользователь

vl@volk 
Сейчас: Offline
описание команд дай
__________________
 знает толк
- 8.11.2015 / 20:53
aRiGaTo
  Пользователь

aRiGaTo 
Сейчас: Offline
goodden, и на каком это языке ассемблера?
__________________
 don't tread on me
- 8.11.2015 / 21:01
aRiGaTo
  Пользователь

aRiGaTo 
Сейчас: Offline
Код для условного gas-like ассемблера:
  1. .data
  2.   n:
  3.     .long 11
  4.   res:
  5.     .long 0
  6. .text
  7.   .global main
  8.   main:
  9.   # res = n * 30
  10.   movl n, %eax
  11.   imul 30, %eax
  12.   movl %eax, res
  13.  
  14.   # res = res - n*16
  15.   movl n, %eax
  16.   imul 16, %eax
  17.   movl res, %ebx
  18.   subl %ebx, %eax
  19.  
  20.   # res /= 2
  21.   movl 2, %ecx
  22.   xor %edx, %edx
  23.   div %ecx
  24.   movl %eax, res

__________________
 don't tread on me
Наверх  Всего сообщений: 208
Фильтровать сообщения
Поиск по теме
Файлы топика (15)