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

Цикл с использованием сопроцессоров

12.12.2023, 16:22. Показов 1759. Ответов 14

Студворк — интернет-сервис помощи студентам
Нужно подключить сопроцессор на Turbo Assembler и вычислить значение выражения y=5x^4-3x^3+x-1 на отрезке a=0.5, b=1.
Код написан, но не выполняется цикл, он просто выдает ошибку Relative jump out of range by 0027h bytes. Почитала об этой ошибке, перенесла сравнение поближе, чтобы не было такого скачка, но он просто пропускает сравнение и идет дальше по программе. Программа вот

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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
CODE SEGMENT    ; сегмент команд        
 ASSUME CS:CODE, SS:STAC
    ORG 100H
    a dd 0.5    ; ?????? ?????? ???????
    b dd 1.0                ; ??????? ?????? ???????
    f dd 0.125            ; ??? ??? ????????
    result dd 0.0
    result1 dd 0.0    ; ?????????? ??? ???????? ???????? ???????
    x dd 0.5
    y dd 4.0
    five dd 5.0
    fin dd 0.0
    three dd 3.0; ????????? ?????????? five ?????
    ;x dw 1
    ;b dw 5
    SW DW ? 
START:
 
               ; ????????? ?????? ?????? ??????? ? ????
    ;MOV AX, x
    ;MOV BX, x
    ;IMUL BX
    ;IMUL BX
    ;IMUL BX
    ;MOV CX, b
    ;IMUL CX
    fld dword ptr [a]
    fld dword ptr [b]
    fld dword ptr [y]
loop_cycle:
    
    fld dword ptr[x]
     
    fyl2x      ;  
    fld1
    fscale     ;  
    fxch
    fld1
    fxch
    fprem      ;  
    fmul
    f2xm1      ;  
    fld1
    fadd       ;  
    fmul 
    fst dword ptr [result]
    fmul dword ptr [five]; ????????? ?????????? ?? x 
    fld dword ptr[y]
    fld1
    fsub st(1), st(0)
    fstp dword ptr[y]
    fld dword ptr[x]
     
    fyl2x      ;  
    fld1
    fscale     ;  
    fxch
    fld1
    fxch
    fprem      ;  
    fmul
    f2xm1      ;  
    fld1
    fadd       ;  
    fmul 
    fst dword ptr [result]
    fmul dword ptr [three]
    fsub st(1), st(0)
    fld dword ptr[x]
    Fadd  st(0), st(2)
    fld1
    fsub st(1), st(0)
    fld dword  [f]
    fadd st(0), st(6)
    fst dword ptr[x] 
    fld1
    fcom st(1) ; сравниваем x с 1 ; копируем флаги из регистра AH в стековые флаги
    jbe loop_cycle ; если x <= 1, продолжаем цикл
    jmp done
    ; ???????? ???????? ????????? ? ?????????? SW
    ; ?????????? ??????? ???????? x ? ??????? ???????? ???????
 
    
    
  
done:    ; ?????????? ?????????? ? ??????                   ; ????? ?????????? DOS ??? ?????? ??????
fst dword ptr [fin] 
MOV AX, 4C00h
int 21h
CODE ENDS
STAC SEGMENT PARA STACK     ; сегмент стека         
                  ; область памяти под стек 
STAC ENDS
 
     END START
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.12.2023, 16:22
Ответы с готовыми решениями:

Взаимодействие сопроцессоров с центральным процессором
Какие есть сопроцессоры?(линейки), в чём различие между ними при взаимодействии с ЦП? Посоветуйте книги, где такое может быть.

Составить программу с использованием циклов For (цикл с параметром) и Repeat (цикл с постусловием)
Вывести на экран все простые числа от 1 до n.(Число является простым, если оно делится только на себя и на единицу, например, простыми...

Определить количество математических сопроцессоров
Используя команду cpuid, определить наличие поддержки процессором технологии MMX. Используя RegOpenKey, RegQueryValueEx, RegCloseKey,...

14
Модератор
1245 / 676 / 292
Регистрация: 10.11.2019
Сообщений: 1,406
12.12.2023, 16:31
Assembler
78
79
    ja done ; если x >1, то выход
    jmp loop_cycle
1
0 / 0 / 0
Регистрация: 07.11.2022
Сообщений: 23
12.12.2023, 16:46  [ТС]
qbfan, получилось, спасибо, немного переделала смысл, но оно заработало
Assembler
1
2
3
4
 fld1
    fcom  ;
    jb done  ; 
    jmp loop_cycle
.


Но появилась другая проблема, теперь вместо Х загружается NAN
Миниатюры
Цикл с использованием сопроцессоров  
0
Модератор
1245 / 676 / 292
Регистрация: 10.11.2019
Сообщений: 1,406
12.12.2023, 17:05
Assembler
17
18
19
start: mov ax,cs
         mov ds,ax
         mov es,ax
Или переделайте программу в .com версию

Добавлено через 5 минут
Или на втором цикле загружается NAN ? Где именно ?
0
0 / 0 / 0
Регистрация: 07.11.2022
Сообщений: 23
12.12.2023, 17:49  [ТС]
qbfan, NAN загружался на втором цикле при загрузке x и y, но вставила в начало эти 3 команды и вроде заработало, но почему-то значение у =1, когда начинается второй цикл, хотя по логике должно быть 3

Добавлено через 27 минут
Если что, у изначально y=4, потом я его значение меняю на 3, и оно должно таким и оставаться. потому что оно не меняется дальше, но уже во второй итерации оно почему-то =1
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8659 / 4494 / 1669
Регистрация: 01.02.2015
Сообщений: 13,907
Записей в блоге: 12
12.12.2023, 18:09
weewew, Вы напрасно используете возведение в степень при помощи логарифма+экспоненты, ведь в формуле обычный полином, который на раз вычисляется по схеме Горнера.
C
1
2
3
4
5
6
7
single a[5] = {-1, 1, 0, -3, 5};
single result = 0;
single x = 123.4;
for (int i = 4; i >= 0; i--)
{
  result = result * x + a[i];
}
Или без цикла
C
1
2
3
4
5
6
7
8
9
10
11
result = 0;
 
result = 5;
 
result = result * x + (-3);
 
result = result * x;
 
result = result * x + 1;
 
result = result * x + (-1);
Попробуйте этот алгоритм. Он много короче в реализации и позволит проще вычислять.

Добавлено через 9 минут
И ещё.
Когда решал подобные задачки перед началом цикла в комментариях делал роспись содержимого регистров сопроцессора (конечно, по мере вычислений регистры смещаются, но хоть какая-то опора есть).
0
0 / 0 / 0
Регистрация: 07.11.2022
Сообщений: 23
12.12.2023, 23:07  [ТС]
ФедосеевПавел, к сожалению, это часть задания, которую нельзя выкинуть

И сейчас самой большой проблемой является передача значений х и у, которые почему-то не только сбрасываются, но и у = 1
Миниатюры
Цикл с использованием сопроцессоров  
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8659 / 4494 / 1669
Регистрация: 01.02.2015
Сообщений: 13,907
Записей в блоге: 12
13.12.2023, 07:38
Предлагаю пойти по пути постепенного наращивания функционала.

Пусть y(x)=2x - потом нарастим или перенесём вычисления y(x) в подпрограмму.

Не понимаю задание "вычислить значение выражения y=5x^4-3x^3+x-1 на отрезке a=0.5, b=1" - это сколько раз нужно
вычислять и для каких значений x?

Ну, предположим, что вычислять для x от a=0.5 до b=1.0 с шагом 0.1.
Тогда определим
Assembler
1
2
3
4
a dd 0.5
b dd 1.0
step dd 0.1
result dd 10 dup (?)
Значение a нет смысла хранить в стеке (регистров) FPU, а значения b и step можно и загрузить (для будущих вычислений).

Получим код цикла с постусловием
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
lea si, [result]
fld [b]
fld [step]
fld [a]
@@do:
  ...
  тут вычисление функции
  ...
  fstp dword ptr [si]   ;сохранение результата в массиве
  add si, 4
  ;в этом месте st(0)=x, st(1)=step, st(2)=b
  fadd st(0), st(1)
  fcom st(2)
  fstsw   ax
  sahf
jb  @@do
0
0 / 0 / 0
Регистрация: 07.11.2022
Сообщений: 23
13.12.2023, 11:18  [ТС]
ФедосеевПавел, я ночью покопалась ещё сама в коде, и получилось передавать значения х и у. Но почему-то, когда проходит второй цикл программа без проблем выполняет вычисление 5*х^4, но после, когда я пытаюсь вывести х, оно выводит NAN. Вот исправленный код

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
80
81
82
83
84
85
86
87
88
89
90
CODE SEGMENT       
 ASSUME CS:CODE, SS:STAC
    ORG 100H  
    b dd 1.0                
    f dd 0.125           
    result dd 0.0
    result1 dd 0.0    
    x dd 0.5
    y dd 4.0
    five dd 5.0
    three dd 3.0 
    one dd 1.0
START:
    finit
    mov ax,cs
    mov ds,ax
    mov es,ax
 
loop_cycle:
    fld dword ptr [y]
    fld dword ptr[x]     
    fyl2x       
    fld1
    fscale      
    fxch
    fld1
    fxch
    fprem      
    fmul
    f2xm1       
    fld1
    fadd        
    fmul 
    fst dword ptr [result]
    fmul dword ptr [five]
    fld dword ptr[y]
    fld dword ptr [one]
    fsub st(1), st(0)
    fxch st(1)
    ffree st(1)
    fstp dword ptr[y]
    fxch st(1)
    fld dword ptr[y]
    fld dword ptr[x]
    
     
    fyl2x     
    fld1
    fscale     
    fxch
    fld1
    fxch
    fprem       
    fmul
    f2xm1       
    fld1
    fadd        
    fmul 
    fst dword ptr [result]
    fmul dword ptr [three]
    fsub st(1), st(0)
    fld dword ptr[x]
    Fadd  st(0), st(2)
    fld1
    fsub st(1), st(0)
    fstp dword ptr [result]
    fld dword ptr [x]
    fadd dword ptr [f] 
    fst dword ptr [x]
    fcom dword ptr [b]
    ;fstsw [tempWord]
    ;sahf
    fld dword ptr [y] 
    fadd dword ptr [one] 
    fstp dword ptr [y] 
    jl done 
    jmp loop_cycle  
 
 
    
  
done:    
 
MOV AX, 4C00h
int 21h
CODE ENDS
STAC SEGMENT PARA STACK
STAC ENDS
 
     END START
Миниатюры
Цикл с использованием сопроцессоров  
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8659 / 4494 / 1669
Регистрация: 01.02.2015
Сообщений: 13,907
Записей в блоге: 12
13.12.2023, 21:02
Если всё же воспользоваться схемой Горнера, то получится совсем короткая программа
Кликните здесь для просмотра всего текста
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
DATA SEGMENT
        a       dd      0.5
        b       dd      1.0
        step    dd      0.1
        result  dd      10 dup(?)
        ; y=5x^4-3x^3+x-1
        K       dd      5.0, -3.0, 0.0, 1.0, -1.0
DATA ENDS
 
TEXT SEGMENT
.386
 ASSUME CS:TEXT, SS:STAC, DS:DATA
START:
        mov     ax,     DATA
        mov     ds,     ax
        mov     es,     ax
        finit
 
        lea     si,     [result]
        fld     [b]
        fld     [step]
        fld     [a]
        @@do:
                ;в этом месте st(0)=x, st(1)=step, st(2)=b
                ;вычислим полином по схеме Горнера
                fldz
                mov     cx,     5
                lea     di,     [K]
                calc_polynome:
                        fmul    st(0),  st(1)
                        fld     dword ptr [di]
                        faddp   st(1),  st(0)
                        add     di,     TYPE K
                loop    calc_polynome
                fstp    dword ptr [si]   ;сохранение результата в массиве
                add     si,     4
                ;в этом месте st(0)=x, st(1)=step, st(2)=b
                fadd st(0), st(1)
                fcom st(2)
                fstsw   ax;
                sahf
        jb  @@do
 
        mov     ax,     4C00h
        int     21h
TEXT    ENDS
 
STAC    SEGMENT PARA    STACK
        db      200h dup(?)
STAC    ENDS
 
        END     START


В Вашей программе вижу ошибку - переход по результатам сравнения должен быть как для чисел без знака - jb, jbe, je, ja, jae. Это такая особенность fcom - не выставляет значение флага знака и jl, jg работать не будут.

Добавлено через 18 минут
Для сравнения - нужно объявить переменную и сравнивать с её помощью
Assembler
1
2
3
4
5
6
7
8
fpu_sw dw ?
..............
 
fcom st(2)
fastw [fpu_sw]
mov ax, [fpu_sw]
sahf
jb @@do
или после объявления сегмента кода разрешить использование более новых инструкций
Assembler
1
2
3
4
TEXT SEGMENT
.386
 ASSUME CS:TEXT, SS:STAC, DS:DATA
START:
0
0 / 0 / 0
Регистрация: 07.11.2022
Сообщений: 23
17.12.2023, 22:52  [ТС]
ФедосеевПавел, Простите за отсутствие, ваша программа и правда работает, спасибо, но, к сожалению, по условию курсовой необходимо реализовать именно метод, скинутый выше.
Я попробовала ваше исправление, но, он не заработало, почему-то Х все равно равен NAN
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8659 / 4494 / 1669
Регистрация: 01.02.2015
Сообщений: 13,907
Записей в блоге: 12
18.12.2023, 06:17
weewew, показывайте попытку - я же не обо всём могу догадаться.

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

Добавлено через 4 минуты
Я как-то делал вычисление показательной функции в отдельной подпрограмме - такой вариант подойдёт?

Т.е.
Assembler
1
2
3
4
5
6
7
8
...какая-то инициализация
@@do:
  ...какие-то манипуляции для подготовки параметров вызова показательной функции x^4
  call func
  ...подготовка для следующих вычислений показательной функции x^3
  call func
  ...вычисления
jb @@do
Добавлено через 20 секунд
Такой вариант приемлем?
0
0 / 0 / 0
Регистрация: 07.11.2022
Сообщений: 23
18.12.2023, 21:08  [ТС]
ФедосеевПавел, вот код моей программы, пока тоже нерабочий. И по поводу вашего предложения, т.е. вы предлагаете ов отдельную функция поместить вычисления?

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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
STAC SEGMENT PARA STACK
DB 528 DUP (?)
 
CODE SEGMENT       
 ASSUME CS:CODE, SS:STAC
    ORG 100H  
    b dd 1.0                
    f dd 0.125           
    result dd 0.0
    result1 dd 0.0    
    x dd 0.5
    y dd 4.0
    five dd 5.0
    three dd 3.0 
    one dd 1.0
    tempWord dw 0
START:
    finit
    mov ax,cs
    mov ds,ax
    mov es,ax
 
loop_cycle:
    ffree
    ffree
    ffree
    ffree
    fld dword ptr [y]
    fld dword ptr[x]     
    fyl2x       
    fld1
    fscale      
    fxch
    fld1
    fxch
    fprem      
    fmul
    f2xm1       
    fld1
    fadd        
    fmul 
    fst dword ptr [result]
    fmul dword ptr [five]
    fld dword ptr[y]
    fld dword ptr [one]
    fsub st(1), st(0)
    fxch st(1)
    ffree st(1)
    fstp dword ptr[y]
    fxch st(1)
    fld dword ptr[y]
    fld dword ptr[x]
    
     
    fyl2x     
    fld1
    fscale     
    fxch
    fld1
    fxch
    fprem       
    fmul
    f2xm1       
    fld1
    fadd        
    fmul 
    fst dword ptr [result]
    fmul dword ptr [three]
    fsub st(1), st(0)
    fld dword ptr[x]
    Fadd  st(0), st(2)
    fld1
    fsub st(1), st(0)
    fstp dword ptr [result]
    fld dword ptr [x]
    fadd dword ptr [f] 
    fst dword ptr [x]
    fcom dword ptr [b]
    fstsw [tempWord]
    sahf
    fld dword ptr [y] 
    fadd dword ptr [one] 
    fstp dword ptr [y] 
    jb done 
    jmp loop_cycle  
 
 
    
  
done:    
 
MOV AX, 4C00h
int 21h
CODE ENDS
 
STAC ENDS
 
     END START
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8659 / 4494 / 1669
Регистрация: 01.02.2015
Сообщений: 13,907
Записей в блоге: 12
19.12.2023, 06:16
Лучший ответ Сообщение было отмечено weewew как решение

Решение

Цитата Сообщение от weewew Посмотреть сообщение
предлагаете ов отдельную функция поместить вычисления?
Да

Кликните здесь для просмотра всего текста
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
DATA SEGMENT
        a       dd      0.5
        b       dd      1.0
        step    dd      0.1
        result  dd      10 dup(?)
        ; y=5x^4-3x^3+x-1
        K       dd      5.0, -3.0, 0.0, 1.0, -1.0
DATA ENDS
 
TEXT SEGMENT
.386
 ASSUME CS:TEXT, SS:STAC, DS:DATA
START:
        mov     ax,     DATA
        mov     ds,     ax
        mov     es,     ax
        finit
 
        lea     si,     [result]
        fld     [b]
        fld     [step]
        fld     [a]
        @@do:
                ;в этом месте st(0)=x, st(1)=step, st(2)=b
                ;вычислим функцию
                lea     di,     [K]
 
                ;x^4
                fld     st(0)
                fld1
                fadd    st(0),  st(0)
                fadd    st(0),  st(0)
                ;в этом месте st(0)=4, st(1)=x, st(2)=x, st(3)=step, st(4)=b
                call    pow
                fld     dword ptr [di]
                fmulp   st(1),  st(0)
                add     di,     4
                ;в этом месте st(0)=5x^4, st(1)=x, st(3)=step, st(4)=b
                fld     st(1)
                fld1
                fadd    st(0),  st(0)
                fld1
                faddp   st(1),  st(0)
                call    pow
                fld     dword ptr [di]
                fmulp   st(1),  st(0)
                add     di,     4
                faddp   st(1),  st(0)
                ;в этом месте st(0)=5x^4-3x^3, st(1)=x, st(3)=step, st(4)=b
                fld     st(1)
                fld1
                fadd    st(0),  st(0)
                call    pow
                fld     dword ptr [di]
                fmulp   st(1),  st(0)
                add     di,     4
                faddp   st(1),  st(0)
                ;в этом месте st(0)=5x^4-3x^3+0, st(1)=x, st(3)=step, st(4)=b
                fld     st(1)
                fld1
                call    pow
                fld     dword ptr [di]
                fmulp   st(1),  st(0)
                add     di,     4
                faddp   st(1),  st(0)
                ;в этом месте st(0)=5x^4-3x^3+0+x, st(1)=x, st(3)=step, st(4)=b
                fld     dword ptr [di]
                faddp   st(1),  st(0)
                ;сохранение результата в массив
                fstp    dword ptr [si]
                add     si,     4
                ;в этом месте st(0)=x, st(1)=step, st(2)=b
                fadd st(0), st(1)
                fcom st(2)
                fstsw   ax;
                sahf
        jb  @@do
 
        mov     ax,     4C00h
        int     21h
 
 
 
;Показательная функция f=a^x
;на входе:
;  st(0) - значение аргумента x
;  st(1) - значение аргумента a
;на выходе:
;  st(0) - значение показательной функции
;Способ вычисления
;f=a^x=exp(ln(a^x))=exp(x*ln(a))
pow     proc
        LOCAL   @StateFPU[108]:byte     ;108 use32, 94 use16
        LOCAL   @X:QWord
        LOCAL   @A:QWord
        LOCAL   @Result:QWord
        ;перед очисткой стека FPU сохраним:
        fstp    [@X]            ; вершину стека (аргумент функции)
        fstp    [@A]            ; вершину стека (аргумент функции)
        fsave   [@StateFPU]     ; состояние FPU
        ;перед началом работы очищаем стек FPU
        finit
        ;в вершину стека помещаем аргумент функции
        fld     [@A]
        fld     [@X]
        ;вычисление функции
        fxch    st(1)           ; st(0)=a       st(1)=x
 
        fldln2                  ; st(0)=ln(2)   st(1)=a         st(2)=x
        fxch    st(1)           ; st(0)=a       st(1)=ln(2)     st(2)=x
        fyl2x                   ; st(0)=log2(a)*ln(2)=ln(a)     st(1)=x
 
        fmulp   st(1),  st(0)   ; st(0)=x*ln(a)=B
 
        fldl2e                  ;st(0)=1/ln(2)=log2(e)
        fmul                    ;st(0)=B/ln(2)=B*log2(e)
        fld     st
        frndint
        fsub    st(1), st
        fxch    st(1)
        f2xm1
        fld1
        fadd
        fscale
        fstp    st(1)
 
        ;перед восстановлением состояния FPU сохраним результат функции
        fst     [@Result]
        ;восстановление состояния FPU
        frstor  [@StateFPU]
        ;результат вычислений на вершину стека
        fld     [@Result]
 
        ret
pow     endp
 
TEXT    ENDS
 
STAC    SEGMENT PARA    STACK
        db      200h dup(?)
STAC    ENDS
 
        END     START


Вашу программу вечером посмотрю - думаю, что при вычислениях полностью заполняется стек сопроцессора и это приводит к ошибке.
1
0 / 0 / 0
Регистрация: 07.11.2022
Сообщений: 23
19.12.2023, 15:35  [ТС]
ФедосеевПавел, Спасибо большое, попробовала вашу программу, она тоже заработала.
Немного покопалась в своей программе, решила в начале просто очистить все поля, чтобы освободить и всё заработало
Assembler
1
2
3
4
5
6
7
8
ffree st(0)
    ffree st(1)
    ffree st(2)
    ffree st(3)
    ffree st(4)
    ffree st(5)
    ffree st(6)
    ffree st(7)
Спасибо ещё раз, что помогали разобраться с программой
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.12.2023, 15:35
Помогаю со студенческими работами здесь

Intel опубликовала спецификации новых сопроцессоров серии Xeon Phi
Корпорация Intel опубликовала спецификации новых сопроцессоров серии Xeon Phi бюджетной серии 3100 (3120A и 3120P), серии 5100 (5120D) для...

цикл с использованием while
Покупатель должен заплатить в кассу S р.У него имеются 1, 5, ,10, 50, 100, 500, 1000 и 10000р.Сколько купюр разного достоинства отдаст...

Переписать цикл с одним использованием for
for(m = 0; m &lt; q; m++) { for(n = 0; n &lt; q; n++) { for(o = 0; o &lt; e; o++) { mas3 += a*b;...

с использованием массивов (ЦИКЛ-ДЛЯ)
Мастеру выданы два графика наладки имеющихся в цехе стан¬ков и только что прибывших в цех, где указано время наладки каж¬дого станка. 1)...

Цикл с использованием DOM дерева
Цикл должен делать смещение с суммой, происходит что-то невообразимое, подскажите в чём проблема. Ошибок никаких нет, у DIVов есть атрибуты...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
[В процессе разработки] SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru