Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 07.01.2017
Сообщений: 69
1

Определить шестое число Фибоначчи и подставив его в формулу, вычислить значение выражения

14.05.2018, 00:13. Показов 1097. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста из vhdl-кода "сделать" assembler-код

Код
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;

entity fibo is
port(
  reset:in std_logic; 
  f0:in integer;
  f1:in integer;
  y:out integer
      );
end Fibo;

architecture fibo of fibo is
begin
 process(reset)
 variable n:integer;
 variable g1_prev:integer;
 variable g2_prev:integer;
 variable g:integer;
 variable k:real;

 begin
  if reset='1' then
  g1_prev:=f1;
  g2_prev:=f0;
 for n in 1 to 5 loop
 g:=g1_prev+g2_prev; 
 g2_prev:=g1_prev;
 g1_prev:=g;
  end loop;
  y<=(1+(natural(g*g/2)+natural(g*g*g*g/4)));
  end if;
  end process;
end fibo;
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.05.2018, 00:13
Ответы с готовыми решениями:

Вычислить значение выражения и определить его тип:
Вычислить значение выражения и определить его тип: round(2.7)

Вычислить значение выражения и определить его тип
Вычислить значение выражения и определить его тип: frac(20/8)

Вычислить значение выражения и определить его тип
Вычислить значение выражения и определить его тип: k Mod 7 = k Div 5 - 1, при k=15 ;

Вычислить значение выражения и определить его тип
Вычислить значение выражения и определить его тип: round (-3.5) Добавлено через 38 минут ...

9
Модератор
Эксперт по электронике
8477 / 4335 / 1643
Регистрация: 01.02.2015
Сообщений: 13,462
Записей в блоге: 8
14.05.2018, 07:21 2
На ассемблер какого процессора?
0
1 / 1 / 0
Регистрация: 07.01.2017
Сообщений: 69
14.05.2018, 13:28  [ТС] 3
Процессор AMD A4-3300M APU with Radeon(tm) HD Graphics 1.90 GHz

Добавлено через 2 часа 35 минут
Но так как задание выполняется на разных компьютерах, то процессор может быть любым(какой вам удобен)
0
Модератор
Эксперт по электронике
8477 / 4335 / 1643
Регистрация: 01.02.2015
Сообщений: 13,462
Записей в блоге: 8
14.05.2018, 21:50 4
А чем занимается представленная программа?
0
1 / 1 / 0
Регистрация: 07.01.2017
Сообщений: 69
14.05.2018, 21:54  [ТС] 5
Находит 6 число Фиббоначи и по форуле (f0=f1=1, fn=f(n-1)+f(n-2) )и подставляет в формулу y=1+(x^2/2)+(x^4/4), где x найденное 6 число
0
Модератор
Эксперт по электронике
8477 / 4335 / 1643
Регистрация: 01.02.2015
Сообщений: 13,462
Записей в блоге: 8
15.05.2018, 01:05 6
Лучший ответ Сообщение было отмечено Markontr как решение

Решение

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
.486
.model flat, stdcall
option casemap :none
 
        include \masm32\include\windows.inc
 
        include \masm32\include\user32.inc
        include \masm32\include\kernel32.inc
        include \masm32\include\masm32.inc
 
        includelib \masm32\lib\user32.lib
        includelib \masm32\lib\kernel32.lib
        includelib \masm32\lib\masm32.lib
.data
        aszCrLf         db      0Dh, 0Ah, 0
        aszMsgResult    db      'x=f(6)=%d, y=%d', 0Dh, 0Ah, 0
        aszPressLeftAlt db      0Dh, 0Ah, 0Dh, 0Ah, "Press Left Alt to exit", 0
.data?
        hConsoleOutput  HANDLE  ?
        hConsoleInput   HANDLE  ?
        WordsCount      dd      ?
        BufLen          dd      ?
        Buffer          db      1024 dup(?)
        X               dd      ?
        Y               dd      ?
.code
 
start   proc
 
        ; получение описателей ввода и вывода консоли
        invoke  GetStdHandle,   STD_INPUT_HANDLE
        mov     hConsoleInput,  eax
        invoke  GetStdHandle,   STD_OUTPUT_HANDLE
        mov     hConsoleOutput, eax
        ;очистка экрана
        invoke  ClearScreen
        ;преобразование кодировки символов кириллицы
        invoke  CharToOem,      ADDR aszMsgResult, ADDR aszMsgResult
 
        mov     eax,    1       ;f(1)=1
        mov     ebx,    1       ;f(0)=1
        mov     ecx,    5       ;ещё 5 итераций
        @@for:
                mov     edx,    eax
                add     eax,    ebx
                mov     ebx,    edx
        loop    @@for
        mov     [X],    eax
        ;
        mov     ebx,    1       ;y=1+...
        mul     eax             ;   +(x^2/2)+...
        mov     edx,    eax
        shr     edx,    1
        add     ebx,    edx
        mul     eax             ;           +(x^4/4)
        shr     eax,    2
        add     ebx,    eax
 
        mov     [Y],    ebx
 
        ;
        invoke  wsprintf,       ADDR Buffer, ADDR aszMsgResult, \
                                [X], [Y]
        mov     [BufLen],       eax
        invoke  WriteConsole, hConsoleOutput, ADDR Buffer,\
                BufLen, ADDR BufLen, NULL
 
;ожидание нажатия Left Alt
        invoke  WriteConsole, hConsoleOutput, ADDR aszPressLeftAlt,\
                LENGTHOF aszPressLeftAlt - 1, ADDR BufLen, NULL
        @@WaitForLAlt:
                invoke  GetAsyncKeyState, VK_LMENU
                and     eax,    8000h
        jz      @@WaitForLAlt
        ;завершение программы
        invoke  ExitProcess, 0
start   endp
 
end start
0
1 / 1 / 0
Регистрация: 07.01.2017
Сообщений: 69
15.05.2018, 21:14  [ТС] 7
Спасибо большое!!! Вы круты

Добавлено через 13 часов 58 минут
А как теперь из assemblera получить машинный код?
0
Модератор
Эксперт по электронике
8477 / 4335 / 1643
Регистрация: 01.02.2015
Сообщений: 13,462
Записей в блоге: 8
15.05.2018, 21:52 8
Скомпилировать в редакторе qeditor (из состава masm32).
0
1 / 1 / 0
Регистрация: 07.01.2017
Сообщений: 69
16.05.2018, 09:03  [ТС] 9
видимо я не так настроил, не могли бы вы скомпилировать, у меня не может найти данные библиотеки

Добавлено через 16 минут
скомпилируйте пожалуйста, если вам не трудно
0
Модератор
Эксперт по электронике
8477 / 4335 / 1643
Регистрация: 01.02.2015
Сообщений: 13,462
Записей в блоге: 8
16.05.2018, 20:27 10
exe-шники не принято постить - возможны вирусы.
Попробуйте разобраться.
Ваш asm и masm32 должны быть на одном диске.
0
16.05.2018, 20:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.05.2018, 20:27
Помогаю со студенческими работами здесь

Вычислить значение выражения и определить его тип
1.Записать на языке паскаль выражение: y=3^(1-x) 2. вычислить значение выражения и определить его...

Вычислить значение выражения и определить его тип
Решение должно быть подробным. 1. Записать на языке Паскаль выражение: y=arcctg21 2....

Вычислить значение выражения и определить его тип: frac(20/8)
Вычислить значение выражения и определить его тип: frac(20/8)

Вычислить значение выражения и определить его тип: int(-1.5)
Извиняюсь за слишком простой вопрос, в паскале не разбираюсь Вычислить значение выражения и...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru