реклама на сайте
подробности

 
 
3 страниц V  < 1 2 3 >  
Reply to this topicStart new topic
> IAR. Помогите разобраться с настройками
demiurg1978
сообщение Sep 9 2015, 14:59
Сообщение #16


Местный
***

Группа: Участник
Сообщений: 333
Регистрация: 19-12-13
Из: Новосибирск
Пользователь №: 79 709



Что-то диалог в тупик зашел. На ассемблере я могу контролировать. Как я могу изначально контролировать, что мне накомпилирует компилятор си? Уровень оптимизицаии да, вид оптимизации да. Но стек данных?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Sep 9 2015, 15:08
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (demiurg1978 @ Sep 9 2015, 17:59) *
Но стек данных?

Данные, поростите, это компилятор сам себе придумывает, или все-же Вы ему приказываете создать??? Причем в общем даже даже говорите где и кроме всего прочего можете выказывать свое требования и/или предпочтения к размещению переменных через квалификаторы.
QUOTE
Что-то диалог в тупик зашел

И я даже знаю почему - Вы с тупым упорством не желаете заглянуть в листинг в котором видны использования стеков.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
SSerge
сообщение Sep 9 2015, 15:18
Сообщение #18


Профессионал
*****

Группа: Свой
Сообщений: 1 719
Регистрация: 13-09-05
Из: Novosibirsk
Пользователь №: 8 528



На всякий случай уточню: листинг - это файл с расширением .lst
В этом файле, ближе к концу, есть сводная табличка по использованию стеков в функциях:
Код
   Maximum stack usage in bytes:

   CSTACK RSTACK Function
   ------ ------ --------
       8      4  Device::Check_Para()
                   8 2 -> SPI::Set_DAC_Reg(char *)
       0      2  Device::Gen_OFF()
       0      2  Device::Gen_ON()
       8      4  Device::Handler()
                   8 2 -- Indirect call


--------------------
Russia est omnis divisa in partes octo.
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Sep 9 2015, 16:25
Сообщение #19


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(demiurg1978 @ Sep 9 2015, 17:59) *
Но стек данных?

Да при чем тут стеки вообще?!
Банально не хватает памяти, данные в ОЗУ (обычные данные, не стек) заняли столько места, что даже под более чем скромный стек места нет.

Ну найдете 2 байта, дальше что? - программу дальше не увеличить.
Или уж очень криво написана, или контроллер на пределе.

Цитата(zltigo @ Sep 9 2015, 18:08) *
И я даже знаю почему - Вы с тупым упорством не желаете заглянуть в листинг в котором видны использования стеков.

А первичная причина в том, что в ИАРе по умолчанию они не выводятся, нужно галку поставить wink.gif


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
demiurg1978
сообщение Sep 9 2015, 16:27
Сообщение #20


Местный
***

Группа: Участник
Сообщений: 333
Регистрация: 19-12-13
Из: Новосибирск
Пользователь №: 79 709



Цитата(Dog Pawlowa @ Sep 9 2015, 23:25) *
А первичная причина в том, что в ИАРе по умолчанию они не выводятся, нужно галку поставить wink.gif

Не подскажете, что за галочка, и где в настройках?
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Sep 9 2015, 16:29
Сообщение #21


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(demiurg1978 @ Sep 9 2015, 19:27) *
Не подскажете, что за галочка, и где в настройках?

option/C-C++ compiler/list


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
zltigo
сообщение Sep 9 2015, 16:43
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (Dog Pawlowa @ Sep 9 2015, 19:25) *
А первичная причина в том, что в ИАРе по умолчанию они не выводятся, нужно галку поставить wink.gif

Я не в курсе галочек IAR среды, ибо пользуюсь компиляторами, в том числе и IAR, но не всякими дивными недоношенными IDE оболочками раздаваемыми в качестве халявы с компиляторами.
А то-бы я давно с ума сошел от разых IDE.
Так-что ставлю всегда ключик в командной строке выводить листинги.

Но вообще-то Автор утверждал следущее :"Листинги модулей есть." Так-что разговор и пошел про просмотреть их.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
demiurg1978
сообщение Sep 9 2015, 16:43
Сообщение #23


Местный
***

Группа: Участник
Сообщений: 333
Регистрация: 19-12-13
Из: Новосибирск
Пользователь №: 79 709



Цитата(Dog Pawlowa @ Sep 9 2015, 23:25) *
Банально не хватает памяти, данные в ОЗУ (обычные данные, не стек) заняли столько места, что даже под более чем скромный стек места нет.

А первичная причина в том, что в ИАРе по умолчанию они не выводятся, нужно галку поставить wink.gif

Памяти хватает. Есть 64 байт. Компилятор пишет что занято 61 байт. Учитываем глубину вложений, прерывания. Я поставил 8 байт. Хватает. Гонял программу в симуляторе на всю глубину вложений+прерывания. Остается стек данных.

Листинг включен. Показаны CSTACK и RSTACK. Если смотреть по каждому файлу листинга криминала не вижу.

Осталось понять, как компилятор подсчитывает память. И на какие цифры в будущем смотреть, чтобы выявить проблему.

Сообщение отредактировал demiurg1978 - Sep 9 2015, 20:00
Go to the top of the page
 
+Quote Post
zltigo
сообщение Sep 9 2015, 16:49
Сообщение #24


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (demiurg1978 @ Sep 9 2015, 19:43) *
Осталось понять, как компилятор подсчитывает память.

Вообще-то осталось понять, что компилятор НЕ ПОДСЧИТЫВАЕТ ПАМЯТЬ выделемую для стеков!


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
demiurg1978
сообщение Sep 9 2015, 16:55
Сообщение #25


Местный
***

Группа: Участник
Сообщений: 333
Регистрация: 19-12-13
Из: Новосибирск
Пользователь №: 79 709



Цитата(zltigo @ Sep 9 2015, 23:49) *
Вообще-то осталось понять, что компилятор НЕ ПОДСЧИТЫВАЕТ ПАМЯТЬ выделемую для стеков!

Вот что вы нервничаете? Мы знакомы? Ни я вам ни вы мне ничего не сделали, чтобы вы позволяли себе такую резкость. Я на си пишу не так давно. До этого писал на асме. Ессно, некоторые вещи представляют для меня некоторую трудность. Терминология опять же. Для вас-то что-то можеть быть уже пройденный вдоль и поперек этап. А мне пока некоторые вещи еще в новинку. Скажите спасибо, что не на ардуине или CVAVR проекты пишу...
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Sep 9 2015, 17:43
Сообщение #26


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(demiurg1978 @ Sep 9 2015, 19:55) *
Вот что вы нервничаете?
Да ладно. Вы тоже не переживайте))) Это у него стиль общения такой. Без zltigo на форуме последние пару лет было даже как-то пусто...


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
zltigo
сообщение Sep 9 2015, 19:06
Сообщение #27


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (demiurg1978 @ Sep 9 2015, 19:55) *
Вот что вы нервничаете?

Зачем?
QUOTE
чтобы вы позволяли себе такую резкость.

Это Вы себе позволяете НЕ читать и НЕ понимать того, что Вам пишут, причем неоднократно.
QUOTE
Я на си пишу не так давно. До этого писал на асме.

Вынужден Вам сообщить, что стеки это не Си и не ACM, это контроллер. И память под эти стеки должна быть выделена, и указатели проинициализированы, хоть на чем пишите, хоть в кодах, хоть на суахили. Так-что как Вы "писали" на АСМ, сейчас видно как Вы пишите на Си sad.gif
QUOTE
Скажите спасибо, что не на ардуине или CVAVR проекты пишу...

Спасибо. Спасибо мне ничего не стоит, в отличие от затрат времени на объяснения и повторения.




QUOTE (demiurg_spb @ Sep 9 2015, 20:43) *
Без zltigo на форуме последние пару лет было даже как-то пусто...

Увы, не могу обещать, что надолго вернулся sm.gif


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
demiurg1978
сообщение Sep 9 2015, 19:44
Сообщение #28


Местный
***

Группа: Участник
Сообщений: 333
Регистрация: 19-12-13
Из: Новосибирск
Пользователь №: 79 709



Цитата(zltigo @ Sep 10 2015, 02:06) *
Так-что как Вы "писали" на АСМ, сейчас видно как Вы пишите на Си

Не собираюсь вам что-то доказывать.
Позволили себе фи в мою сторону, хлебайте теперь. Покажите делом. Поступим просто. Я собрал проект из единственного модуля. Покажите здесь криминал. Исходные данные: ATTINY13. 64 байта ОЗУ. Настройки CSTACK 0x20. RSTACK 8. Найдите криминал в листинге:
CODE

###############################################################################
# #
# IAR C/C++ Compiler V6.12.1.50500 for Atmel AVR 10/Sep/2015 01:38:52 #
# Copyright 1996-2012 IAR Systems AB. #
# #
# Source file = F:\Work\Projects\ATMEL\IAR\C\TIMER_EASY\sys_timer.c #
# Command line = F:\Work\Projects\ATMEL\IAR\C\TIMER_EASY\sys_timer.c #
# --cpu=tiny13 -mt -o F:\Work\Projects\ATMEL\IAR\C\TIMER_E #
# ASY\Debug\Obj\ -lC F:\Work\Projects\ATMEL\IAR\C\TIMER_EA #
# SY\Debug\List\ -lA F:\Work\Projects\ATMEL\IAR\C\TIMER_EA #
# SY\Debug\List\ --initializers_in_flash --debug #
# -DENABLE_BIT_DEFINITIONS -e --eeprom_size 64 --clib -Ohz #
# List file = F:\Work\Projects\ATMEL\IAR\C\TIMER_EASY\Debug\List\sys_t #
# imer.lst #
# Object file = F:\Work\Projects\ATMEL\IAR\C\TIMER_EASY\Debug\Obj\sys_ti #
# mer.r90 #
# #
# #
###############################################################################

F:\Work\Projects\ATMEL\IAR\C\TIMER_EASY\sys_timer.c
1 //========================================================================
2 #include "sys_timer.h"

\ In segment ABSOLUTE, at 0x59
\ union <unnamed> volatile __io _A_TIMSK0
\ _A_TIMSK0:
\ 00000000 DS8 1

\ In segment ABSOLUTE, at 0x56
\ union <unnamed> volatile __io _A_OCR0A
\ _A_OCR0A:
\ 00000000 DS8 1

\ In segment ABSOLUTE, at 0x53
\ union <unnamed> volatile __io _A_TCCR0B
\ _A_TCCR0B:
\ 00000000 DS8 1

\ In segment ABSOLUTE, at 0x52
\ union <unnamed> volatile __io _A_TCNT0
\ _A_TCNT0:
\ 00000000 DS8 1
3 //========================================================================
4
5 //========================================================================
6 u08 sys_tick;
7 //========================================================================
8
9 //========================================================================
10 #pragma vector = TIM0_COMPA_vect

\ In segment CODE, align 2, keep-with-next
11 __interrupt void Timer0Comp(void)
\ Timer0Comp:
12 {
\ 00000000 93EA ST -Y, R30
\ 00000002 931A ST -Y, R17
\ 00000004 930A ST -Y, R16
\ 00000006 B71F IN R17, 0x3F
13 ST_OCR += SYS_TIME;
\ 00000008 B706 IN R16, 0x36
\ 0000000A 560A SUBI R16, 106
\ 0000000C BF06 OUT 0x36, R16
14 set_bit (sys_tick, SYS_TICK);
\ 0000000E .... LDI R30, Timers_Queue
\ 00000010 8904 LDD R16, Z+20
\ 00000012 6001 ORI R16, 0x01
\ 00000014 8B04 STD Z+20, R16
15 }
\ 00000016 BF1F OUT 0x3F, R17
\ 00000018 9109 LD R16, Y+
\ 0000001A 9119 LD R17, Y+
\ 0000001C 91E9 LD R30, Y+
\ 0000001E 9518 RETI
\ 00000020 REQUIRE _A_OCR0A
16 //========================================================================
17
18 //========================================================================

\ In segment CODE, align 2, keep-with-next
19 void init_sys_timer (void)
\ init_sys_timer:
20 {
21 sys_tick = 0;
\ 00000000 E000 LDI R16, 0
\ 00000002 .... LDI R30, Timers_Queue
\ 00000004 8B04 STD Z+20, R16
22 ST_TCNT = 0;
\ 00000006 BF02 OUT 0x32, R16
23 set_bit (ST_TIMSK, ST_OCIE);
\ 00000008 B709 IN R16, 0x39
\ 0000000A 6004 ORI R16, 0x04
\ 0000000C BF09 OUT 0x39, R16
24 ST_OCR = SYS_TIME;
\ 0000000E E906 LDI R16, 150
\ 00000010 BF06 OUT 0x36, R16
25 ST_TCCR |= ((1<<CS0) | (1<<CS1));
\ 00000012 B703 IN R16, 0x33
\ 00000014 6003 ORI R16, 0x03
\ 00000016 BF03 OUT 0x33, R16
26 }
\ 00000018 9508 RET
\ 0000001A REQUIRE _A_TCNT0
\ 0000001A REQUIRE _A_TIMSK0
\ 0000001A REQUIRE _A_OCR0A
\ 0000001A REQUIRE _A_TCCR0B

\ In segment TINY_Z, align 1, keep-with-next
\ 00000000 REQUIRE `?<Segment init: TINY_Z>`
27 //------------------------------------------------------------------------
28
29 //------------------------------------------------------------------------
30 struct tmrs_queue Timers_Queue [TMRS_QUANTITY];
\ Timers_Queue:
\ 00000000 DS8 20
\ sys_tick:
\ 00000014 DS8 1
31

\ In segment CODE, align 2, keep-with-next
32 void service_timers(void)
\ service_timers:
33 {
34 if (sys_tick & (1<<SYS_TICK))
\ 00000000 .... LDI R30, Timers_Queue
\ 00000002 8904 LDD R16, Z+20
\ 00000004 FF00 SBRS R16, 0
\ 00000006 C01A RJMP ??service_timers_0
35 {
36 clr_bit (sys_tick, SYS_TICK);
\ 00000008 7F0E ANDI R16, 0xFE
\ 0000000A 8B04 STD Z+20, R16
37
38 u08 i;
39
40 for (i = 0; i < TMRS_QUANTITY; i++)
\ 0000000C E000 LDI R16, 0
41 {
42 if (Timers_Queue [i]. tmr_flags & (1<<TMR_UNLOCK))
\ ??service_timers_1:
\ 0000000E 2F10 MOV R17, R16
\ 00000010 0F11 LSL R17
\ 00000012 0F11 LSL R17
\ 00000014 0F10 ADD R17, R16
\ 00000016 .... LDI R30, Timers_Queue
\ 00000018 0FE1 ADD R30, R17
\ 0000001A 8110 LD R17, Z
\ 0000001C FF10 SBRS R17, 0
\ 0000001E C00B RJMP ??service_timers_2
43 {
44 Timers_Queue [i]. tmr_cnt--;
\ 00000020 8121 LDD R18, Z+1
\ 00000022 8132 LDD R19, Z+2
\ 00000024 5021 SUBI R18, 1
\ 00000026 4030 SBCI R19, 0
\ 00000028 8321 STD Z+1, R18
\ 0000002A 8332 STD Z+2, R19
45
46 if (Timers_Queue[i]. tmr_cnt == 0)
\ 0000002C 8121 LDD R18, Z+1
\ 0000002E 2B23 OR R18, R19
\ 00000030 F411 BRNE ??service_timers_2
47 set_bit (Timers_Queue[i]. tmr_flags, TIME_OUT);
\ 00000032 6012 ORI R17, 0x02
\ 00000034 8310 ST Z, R17
48 }
49 }
\ ??service_timers_2:
\ 00000036 9503 INC R16
\ 00000038 3004 CPI R16, 4
\ 0000003A F348 BRCS ??service_timers_1
50 }
51 }
\ ??service_timers_0:
\ 0000003C 9508 RET
52
53 //------------------------------------------------------------------------
54
55 //------------------------------------------------------------------------

\ In segment CODE, align 2, keep-with-next
56 void set_timer(u08 num_tmr, u16 time)
\ set_timer:
57 {
58 set_bit (Timers_Queue [num_tmr]. tmr_flags, TMR_UNLOCK);
\ 00000000 .... RCALL ?Subroutine1
\ ??CrossCallReturnLabel_5:
\ 00000002 6001 ORI R16, 0x01
\ 00000004 8300 ST Z, R16
59 Timers_Queue [num_tmr]. tmr_cnt = time;
\ 00000006 8321 STD Z+1, R18
\ 00000008 8332 STD Z+2, R19
60 }
\ 0000000A 9508 RET

\ In segment CODE, align 2, keep-with-next
\ ?Subroutine1:
\ 00000000 .... RCALL ?Subroutine2
\ ??CrossCallReturnLabel_1:
\ 00000002 .... LDI R30, Timers_Queue
\ 00000004 0FE0 ADD R30, R16
\ 00000006 REQUIRE ?Subroutine3
\ 00000006 ; // Fall through to label ?Subroutine3

\ In segment CODE, align 2, keep-with-next
\ ?Subroutine3:
\ 00000000 8100 LD R16, Z
\ 00000002 9508 RET

\ In segment CODE, align 2, keep-with-next
\ ?Subroutine2:
\ 00000000 2F10 MOV R17, R16
\ 00000002 0F00 LSL R16
\ 00000004 0F00 LSL R16
\ 00000006 0F01 ADD R16, R17
\ 00000008 9508 RET
61 //------------------------------------------------------------------------
62
63 //------------------------------------------------------------------------

\ In segment CODE, align 2, keep-with-next
64 u08 wait(u08 num_tmr)
\ wait:
65
66 {
67 if(Timers_Queue [num_tmr]. tmr_flags & (1<<TIME_OUT))
\ 00000000 .... RCALL ?Subroutine1
\ ??CrossCallReturnLabel_6:
\ 00000002 FF01 SBRS R16, 1
\ 00000004 C004 RJMP ??wait_0
68 {
69 clr_bit (Timers_Queue [num_tmr]. tmr_flags, TIME_OUT);
\ 00000006 7F0D ANDI R16, 0xFD
\ 00000008 8300 ST Z, R16
70 return 1;
\ 0000000A E001 LDI R16, 1
\ 0000000C 9508 RET
71 }
72 else
73 return 0;
\ ??wait_0:
\ 0000000E E000 LDI R16, 0
\ 00000010 9508 RET
74 }
75 //========================================================================
76

\ In segment CODE, align 2, keep-with-next
77 void set_timer_time_out (u08 a)
\ set_timer_time_out:
78 {
79 set_bit (Timers_Queue [a] .tmr_flags, TIME_OUT);
\ 00000000 .... RCALL ?Subroutine0
\ ??CrossCallReturnLabel_2:
\ 00000002 6002 ORI R16, 0x02
\ 00000004 REQUIRE ?Subroutine4
\ 00000004 ; // Fall through to label ?Subroutine4
80 }

\ In segment CODE, align 2, keep-with-next
\ ?Subroutine4:
\ 00000000 8300 ST Z, R16
\ 00000002 9508 RET

\ In segment CODE, align 2, keep-with-next
\ ?Subroutine0:
\ 00000000 .... RCALL ?Subroutine2
\ ??CrossCallReturnLabel_0:
\ 00000002 2FE0 MOV R30, R16
\ 00000004 .... SUBI R30, (-(Timers_Queue) & 0xFF)
\ 00000006 .... RJMP ?Subroutine3
81

\ In segment CODE, align 2, keep-with-next
82 void set_timer_active (u08 a)
\ set_timer_active:
83 {
84 set_bit (Timers_Queue [a] .tmr_flags, TMR_UNLOCK);
\ 00000000 .... RCALL ?Subroutine0
\ ??CrossCallReturnLabel_3:
\ 00000002 6001 ORI R16, 0x01
\ 00000004 .... RJMP ?Subroutine4
85 }
86

\ In segment CODE, align 2, keep-with-next
87 void set_timer_no_active (u08 a)
\ set_timer_no_active:
88 {
89 clr_bit (Timers_Queue [a] .tmr_flags, TMR_UNLOCK);
\ 00000000 .... RCALL ?Subroutine0
\ ??CrossCallReturnLabel_4:
\ 00000002 7F0E ANDI R16, 0xFE
\ 00000004 .... RJMP ?Subroutine4
90 }

\ In segment INTVEC, offset 0xc, root
\ `??Timer0Comp??INTVEC 12`:
\ 0000000C .... RJMP Timer0Comp

Maximum stack usage in bytes:

CSTACK RSTACK Function
------ ------ --------
3 2 Timer0Comp
0 2 init_sys_timer
0 2 service_timers
0 2 set_timer
0 2 set_timer_active
0 2 set_timer_no_active
0 2 set_timer_time_out
0 2 wait


Segment part sizes:

Bytes Function/Label
----- --------------
2 ??Timer0Comp??INTVEC 12
8 ?Subroutine0
6 ?Subroutine1
10 ?Subroutine2
4 ?Subroutine3
4 ?Subroutine4
32 Timer0Comp
21 Timers_Queue
sys_tick
1 _A_OCR0A
1 _A_TCCR0B
1 _A_TCNT0
1 _A_TIMSK0
26 init_sys_timer
62 service_timers
12 set_timer
6 set_timer_active
6 set_timer_no_active
4 set_timer_time_out
18 wait
4 -- Other


4 bytes in segment ABSOLUTE
198 bytes in segment CODE
4 bytes in segment INITTAB
2 bytes in segment INTVEC
21 bytes in segment TINY_Z

198 bytes of CODE memory (+ 6 bytes shared)
21 bytes of DATA memory (+ 4 bytes shared)

Errors: none
Warnings: none



Сообщение отредактировал demiurg1978 - Sep 9 2015, 19:48
Go to the top of the page
 
+Quote Post
zltigo
сообщение Sep 9 2015, 20:23
Сообщение #29


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (demiurg1978 @ Sep 9 2015, 22:44) *
Не собираюсь вам что-то доказывать.

А я и не спрашивал от Вас "доказательств" чего-либо по причине нахренненужности.
QUOTE
Позволили себе фи в мою сторону

Это констатация факта, так-что включайте мозг, а не эмоции.
QUOTE
Покажите здесь криминал.

Криминал Вам уже ПОКАЗАЛ линкер, кторый сказал, что RAM затребованной Вами при написании этой программы замного будет.
http://electronix.ru/forum/index.php?showt...t&p=1363816


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
demiurg1978
сообщение Sep 9 2015, 20:37
Сообщение #30


Местный
***

Группа: Участник
Сообщений: 333
Регистрация: 19-12-13
Из: Новосибирск
Пользователь №: 79 709



Цитата(zltigo @ Sep 10 2015, 03:23) *
...

Без эмоций уже не получится, вы пришли, на две страницы затроллили нахер тему, информации до сих пор я не получил. Хорошо, вы вытрепнулись. Я вам выложил листинг. Покажите мне пальцем, ткните носом, в каком месте не хватает ОЗУ. Если вы мне не ответите на этот вопрос, идите мимо, по хорошему вас прошу.

Сообщение отредактировал demiurg1978 - Sep 9 2015, 20:43
Go to the top of the page
 
+Quote Post

3 страниц V  < 1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 07:39
Рейтинг@Mail.ru


Страница сгенерированна за 0.01547 секунд с 7
ELECTRONIX ©2004-2016