Форум РадиоКот • Просмотр темы - Great Cow BASIC
Сообщения без ответов | Активные темы
Страница 3 из 5
[ Сообщений: 87 ]
, , , ,
Автор
Сообщение
atc
Заголовок сообщения: Re: Great Cow BASIC
Добавлено: Сб ноя 17, 2018 20:10:14
Карма: 5
Рейтинг сообщений: 9
Зарегистрирован: Пн авг 27, 2018 10:36:23Сообщений: 131
Рейтинг сообщения: 0
Господа! Вот Вы грустное зрелище тут устроили,две страницы.....
Вернуться наверх
Реклама
dosikus
Заголовок сообщения: Re: Great Cow BASIC
Добавлено: Сб ноя 17, 2018 20:48:44
Друг Кота
Карма: 30
Рейтинг сообщений: 156
Зарегистрирован: Пн июл 28, 2008 22:12:01Сообщений: 3604
Рейтинг сообщения: -3
КРАМ , стоит ли отвлекаться на индивидума, именно здесь ты мечешь бисер перед свиньями. Мурик, это "птенец гнезда" пастера, а его "ученье" не пропьешь не высерешь.Нарушение правил форума. п 2-3. Fakir. предупреждение.
Вернуться наверх
Реклама
Novice user
Заголовок сообщения: Re: Great Cow BASIC
Добавлено: Сб ноя 17, 2018 21:46:13
Карма: 11
Рейтинг сообщений: 97
Зарегистрирован: Вт янв 05, 2016 10:14:25Сообщений: 1683Откуда: поселок Мелеуз
Рейтинг сообщения: 0
Скачал,поставил,опробовал,большое спасибо!буду изучать Не нашел-там только пиккит поддерживается?мне для авр надо усбасп...
Вернуться наверх
koms48
Заголовок сообщения: Re: Great Cow BASIC
Добавлено: Вс ноя 18, 2018 02:19:56
Карма: 1
Рейтинг сообщений: 12
Зарегистрирован: Пт окт 19, 2012 05:54:55Сообщений: 132
Рейтинг сообщения: 0
dosikus! Не то пальто. Никаких асмовских вставок. Токмо Си.
Вернуться наверх
Реклама
atc
Заголовок сообщения: Re: Great Cow BASIC
Добавлено: Вс ноя 18, 2018 07:21:04
Карма: 5
Рейтинг сообщений: 9
Зарегистрирован: Пн авг 27, 2018 10:36:23Сообщений: 131
Рейтинг сообщения: 0
пиккит поддерживается?
Поддерживается, PicKit 2 и 3
Included programmer software is :
— Avrdude for AVR,
— PICPgm for PIC,
— PicKit2 and PicKit3
— TinyBootLoader+
— Microchip Xpress Board and many, many more
Последний раз редактировалось atc Вс ноя 18, 2018 12:59:29, всего редактировалось 1 раз.
Вернуться наверх
Реклама
dosikus
Заголовок сообщения: Re: Great Cow BASIC
Добавлено: Вс ноя 18, 2018 13:36:14
Друг Кота
Карма: 30
Рейтинг сообщений: 156
Зарегистрирован: Пн июл 28, 2008 22:12:01Сообщений: 3604
Рейтинг сообщения: 0
dosikus! Не то пальто. Никаких асмовских вставок. Токмо Си.
Ну где эти вставки?
Укажите, будьте любезны.
Вернуться наверх
Реклама
koms48
Заголовок сообщения: Re: Great Cow BASIC
Добавлено: Пн ноя 19, 2018 00:45:30
Карма: 1
Рейтинг сообщений: 12
Зарегистрирован: Пт окт 19, 2012 05:54:55Сообщений: 132
Рейтинг сообщения: 0
Ну вот: 70: void interrupt tc_int(void) :Это вроде Си 0004 00DE MOVWF 0x5E: Отсель и далее асм 0005 0E03 SWAPF STATUS, W 0006 1283 BCF STATUS, 0x5 0007 00A2 MOVWF 0x22 0008 080A MOVF PCLATH, W 0009 00A3 MOVWF 0x23 000A 2822 GOTO 0x22 000B 280C GOTO 0xC 71: {
Вернуться наверх
КРАМ
Заголовок сообщения: Re: Great Cow BASIC
Добавлено: Пн ноя 19, 2018 03:54:25
Друг Кота
Карма: 139
Рейтинг сообщений: 2973
Зарегистрирован: Чт янв 10, 2008 22:01:02Сообщений: 24866Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Караул, какой ... Это всего лишь дизасм строки Си. Сохранение контекста. А еще шляпу надел. (с)
Вернуться наверх
VladislavS
Заголовок сообщения: Re: Great Cow BASIC
Добавлено: Пн ноя 19, 2018 06:16:15
Собутыльник Кота
Карма: 18
Рейтинг сообщений: 432
Зарегистрирован: Вт май 01, 2018 19:44:47Сообщений: 2562
Рейтинг сообщения: 0
Оба хороши, это просто листинг во что скомпилировался Си- код. Какой на асм/дизасм?
Вернуться наверх
Реклама
dosikus
Заголовок сообщения: Re: Great Cow BASIC
Добавлено: Пн ноя 19, 2018 06:24:28
Друг Кота
Карма: 30
Рейтинг сообщений: 156
Зарегистрирован: Пн июл 28, 2008 22:12:01Сообщений: 3604
Рейтинг сообщения: 0
VladislavS , внимательней предыдущюю страницу изучи.
Цитата:
Смотрим промежуточные асмовские файлы и охереваем с сишных наворотов
Этого же и хотел вопрошающий, ему и было вывалено:
Исходник и листинг асмЪ.
Ждем охреневания...
koms48 , вы разницу между исходником и листингом осознаете?
Вернуться наверх
КРАМ
Заголовок сообщения: Re: Great Cow BASIC
Добавлено: Пн ноя 19, 2018 08:28:49
Друг Кота
Карма: 139
Рейтинг сообщений: 2973
Зарегистрирован: Чт янв 10, 2008 22:01:02Сообщений: 24866Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
это просто листинг
Осталось узнать КАК НАЗЫВАЕТСЯ в IDE этот "просто листинг"...
Вернуться наверх
dosikus
Заголовок сообщения: Re: Great Cow BASIC
Добавлено: Пн ноя 19, 2018 08:36:08
Друг Кота
Карма: 30
Рейтинг сообщений: 156
Зарегистрирован: Пн июл 28, 2008 22:12:01Сообщений: 3604
Рейтинг сообщения: 0
Я ему подскажу картинкой...
Вернуться наверх
КРАМ
Заголовок сообщения: Re: Great Cow BASIC
Добавлено: Пн ноя 19, 2018 08:48:55
Друг Кота
Карма: 139
Рейтинг сообщений: 2973
Зарегистрирован: Чт янв 10, 2008 22:01:02Сообщений: 24866Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Вернуться наверх
VladislavS
Заголовок сообщения: Re: Great Cow BASIC
Добавлено: Пн ноя 19, 2018 09:08:25
Собутыльник Кота
Карма: 18
Рейтинг сообщений: 432
Зарегистрирован: Вт май 01, 2018 19:44:47Сообщений: 2562
Рейтинг сообщения: 0
Это козни индусских программеров. Дизассемблер это когда берут двоичный файл и из него восстанавливают ассемблерный код.
То что вы показываете это обычный листинг (ассемблерный листинг). В нормальных IDE это так называется.
Keil
Вложение:
asm_list3.png [23.35 KiB]
Скачиваний: 1313
Iar
Вложение:
asm_list.png [95.43 KiB]
Скачиваний: 1278
Visual Studio
Вложение:
asm2.png [26.7 KiB]
Скачиваний: 1283
Eclipse
Вложение:
asm_list2.png [54.11 KiB]
Скачиваний: 1315
и т.д. и т.п.
Вернуться наверх
dosikus
Заголовок сообщения: Re: Great Cow BASIC
Добавлено: Пн ноя 19, 2018 09:19:59
Друг Кота
Карма: 30
Рейтинг сообщений: 156
Зарегистрирован: Пн июл 28, 2008 22:12:01Сообщений: 3604
Рейтинг сообщения: 0
В нормальных IDE это так называется.
Ну вот такая нелегкая жЫсть у пЫководов.
А некоторые это асмЪ вставками называют...
VladislavS , и счас спугнешь
koms48 и мы так и не увидим мастеркласс на ковбойском барсике...
Вернуться наверх
КРАМ
Заголовок сообщения: Re: Great Cow BASIC
Добавлено: Пн ноя 19, 2018 09:41:38
Друг Кота
Карма: 139
Рейтинг сообщений: 2973
Зарегистрирован: Чт янв 10, 2008 22:01:02Сообщений: 24866Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Это козни индусских программеров. Дизассемблер это когда берут двоичный файл и из него восстанавливают ассемблерный код.
Существительное
disassembly - на пиндосском означает
РАЗБОРКА . И ничего более.
У Микрочипа это означает РАЗБОРКА кода Си на Ассемблере.
Индусы тут не причем...
И дизассемблер (
disassembler ), как утилита восстановления АСМ кода из бинарника или хекса, никакого отношения к данному случаю не имеет.
Вернуться наверх
dosikus
Заголовок сообщения: Re: Great Cow BASIC
Добавлено: Вт ноя 20, 2018 07:54:15
Друг Кота
Карма: 30
Рейтинг сообщений: 156
Зарегистрирован: Пн июл 28, 2008 22:12:01Сообщений: 3604
Рейтинг сообщения: 0
Весьма жаль что мы так и не услышали
начальника транспортного отдела ...
Но зато мы можем сами охреневать от выхлопа "бесподобного " протона:
Листинг ( пришлось урезать ибо протон всосал в него всякую свою хрень)
Код:
proton#code#start org 0 goto proton#main#start org 4 movwf WSAVE movf STATUS,W clrf STATUS movwf SSAVE movf FSR,W movwf FSRSAVE goto ISR_Handler proton#main#start clrf STATUS F1_SOF equ $ ; TUTORIAL1.BAS F1_000044 equ $ ; IN [TUTORIAL1.BAS] GOTO MAIN goto MAIN ISR_Handler ram_bank = 0 F1_000046 equ $ ; IN [TUTORIAL1.BAS] CONTEXT SAVE movf PP7,W movwf _High__Context_Store#0 movf PP7H,W movwf _High__Context_Store#1 F1_000047 equ $ ; IN [TUTORIAL1.BAS] IF INTCON.2 = 1 THEN btfss INTCON,2 goto _LBL__3 F1_000048 equ $ ; IN [TUTORIAL1.BAS] INTCON.2 = 0 bcf INTCON,2 F1_000049 equ $ ; IN [TUTORIAL1.BAS] TICK_COUNT=TICK_COUNT+1 incf tick_count,F btfsc STATUS,2 incf tick_countH,F F1_000050 equ $ ; IN [TUTORIAL1.BAS] GPIO=GPIO^(0X01 |0X02 ) clrf PP7H movlw 3 movwf PP7 movf PP7,W xorwf GPIO,F F1_000051 equ $ ; IN [TUTORIAL1.BAS] ENDIF _LBL__3 F1_000052 equ $ ; IN [TUTORIAL1.BAS] CONTEXT RESTORE movf _High__Context_Store#0,W movwf PP7 movf _High__Context_Store#1,W movwf PP7H movf FSRSAVE,W movwf FSR movf SSAVE,W movwf STATUS swapf WSAVE,F swapf WSAVE,W retfie MAIN F1_000057 equ $ ; IN [TUTORIAL1.BAS] OPTION_REG =OPTION_REG&( ~(0X20 |0X07 )) clrf PP7H movlw 39 movwf PP7 comf PP7,F comf PP7H,F movf PP7,W bsf STATUS,5 ram_bank = 1 andwf OPTION_REG,F F1_000058 equ $ ; IN [TUTORIAL1.BAS] TRISIO =TRISIO & (~(0X01 |0X02 )) bcf STATUS,5 ram_bank = 0 clrf PP7H movlw 3 movwf PP7 comf PP7,F comf PP7H,F movf PP7,W bsf STATUS,5 ram_bank = 1 andwf TRISIO,F F1_000059 equ $ ; IN [TUTORIAL1.BAS] ANSEL=0 clrf ANSEL F1_000060 equ $ ; IN [TUTORIAL1.BAS] INTCON = INTCON |(0X20 |0X80 ) bcf STATUS,5 ram_bank = 0 clrf PP7H movlw 160 movwf PP7 movf PP7,W iorwf INTCON,F F1_000061 equ $ ; IN [TUTORIAL1.BAS] CMCON =0X07 movlw 7 movwf CMCON F1_000062 equ $ ; IN [TUTORIAL1.BAS] GPIO = 0X01 movlw 1 movwf GPIO LOOP F1_000063 equ $ ; IN [TUTORIAL1.BAS] LOOP: GOTO LOOP goto LOOP F1_EOF equ $ ; TUTORIAL1.BAS _PBLB__4 goto _PBLB__4 __EOF __config XT_OSC & WDT_OFF & PWRTE_ON & CP_OFF & MCLRE_ON end
Исходник , максимально приведен к Сишному...
Код:
Device=12F675 $define INTCON_T0IE 0x20 $define INTCON_GIE 0x80 $define INTCON_T0IF 0x04 $define INTCON_PEIE 0x40 $define OPTION_GPPU 0x80 $define OPTION_INTDEG 0x40 $define OPTION_T0CS 0x20 $define OPTION_T0SE 0x10 $define OPTION_PSA 0x08 $define OPTION_PS0 0x04 $define OPTION_PS1 0x02 $define OPTION_PS2 0x01 $define TMR0_PSC 0x07 $define ALL_DIGIT 0x07 $define GPIO_0 0x01 $define GPIO_1 0x02 $define GPIO_2 0x04 $define GPIO_3 0x08 $define GPIO_4 0x10 $define GPIO_5 0x20 $define GPIO_6 0x40 $define GPIO_7 0x80 $define TRIS_0 0x01 $define TRIS_1 0x02 $define TRIS_2 0x04 $define TRIS_3 0x08 $define TRIS_4 0x10 $define TRIS_5 0x20 $define TRIS_6 0x40 $define TRIS_7 0x80 Dim tick_count As Word $define LED GPIO_0 $define LED1 GPIO_1 On_Hardware_Interrupt GoTo ISR_Handler GoTo MAIN ISR_Handler: Context Save ' Save any variables or SFRs used If INTCONbits_T0IF = 1 Then ' Is it Timer0 that caused the interrupt? INTCONbits_T0IF = 0 ' Clear the Timer0 overflow flag tick_count=tick_count+1 GPIO=GPIO^(LED|LED1) EndIf Context Restore ' Restore any variables or SFRs used and exit MAIN: OPTION_REG =OPTION_REG&( ~(OPTION_T0CS |TMR0_PSC)) TRISIO =TRISIO & (~(LED|LED1)) ANSEL=0; INTCON = INTCON |(INTCON_T0IE|INTCON_GIE) CMCON =ALL_DIGIT GPIO = LED LOOP: GoTo LOOP
И я еще не уверен что эта протоновская хрень вообще будет работать...
Ну и о главном...
xc8
Цитата:
Memory Summary: Program space used 2Bh ( 43) of 400h words ( 4.2%) Data space used 6h ( 6) of 40h bytes ( 9.4%) EEPROM space used 0h ( 0) of 80h bytes ( 0.0%) Data stack space used 0h ( 0) of 3Ah bytes ( 0.0%) Configuration bits used 1h ( 1) of 1h word (100.0%) ID Location space used 0h ( 0) of 4h bytes ( 0.0%)
Протон
Вернуться наверх
koms48
Заголовок сообщения: Re: Great Cow BASIC
Добавлено: Пт ноя 23, 2018 09:26:26
Карма: 1
Рейтинг сообщений: 12
Зарегистрирован: Пт окт 19, 2012 05:54:55Сообщений: 132
Рейтинг сообщения: 0
Вложение:
Blink675.hex [325 байт]
Скачиваний: 543
Вложение:
Blink675.hex [325 байт]
Скачиваний: 543
Некогда было. Вот исходник протона (мыргалка на 100 mS):
Config MCLREOFF
Device = 12F675
Declare Xtal = 4
TRISIO = 0
m1:
PORTB.0 = 1
DelayMS 100
PORTB.0 = 0
DelayMS 100
GoTo m1
51 ячейка в bin-виде.
Вот рабочий hex добавлю
Но прошу заметить, ни одной асмы, кроме goto, но они в любом языке встречаемы.
Попрошу на Сях тоже предоставить. Исходник и длину бина.
Ноне с коровой бодаюсь (по мере времени). Попожжа коровью мыргалку рожу.
Вернуться наверх
КРАМ
Заголовок сообщения: Re: Great Cow BASIC
Добавлено: Пт ноя 23, 2018 09:47:04
Друг Кота
Карма: 139
Рейтинг сообщений: 2973
Зарегистрирован: Чт янв 10, 2008 22:01:02Сообщений: 24866Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Ранее я все сказал. Это не сравнение языков. Это сравнение реализаций функций задержки. Если учесть, что сами эти функции могут быть написаны даже на АСМе (в смысле присутствовать в библиотеке как обжект-файлы), то подобные тесты совершенно бепонтовы от слова совсем.
Вернуться наверх
ARV
Заголовок сообщения: Re: Great Cow BASIC
Добавлено: Пт ноя 23, 2018 09:54:32
Ум, честь и совесть. И скромность.
Карма: 98
Рейтинг сообщений: 2121
Зарегистрирован: Чт дек 28, 2006 08:19:56Сообщений: 18478Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
а если функция задержки - часть языка? что вообще от языка останется, если считать любые его "родные" функции не подлежащими сравнению? и в конечном итоге каждый компилятор порождает именно машинный код, т.е. "пишет на асме" то же самое. ну или не пишет, а компонует из заранее написанных кусочков, причем заранее написанных именно на асме.
_________________если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...Мой уютный бложик ... заходите!
Вернуться наверх
Страница 3 из 5
[ Сообщений: 87 ]
, , , ,
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения