Great Cow BASIC

Поклонники продукции Microchip Technology Inc тусуются тут.
Ответить
atc
Встал на лапы
Сообщения: 131
Зарегистрирован: Пн авг 27, 2018 10:36:23

Сообщение atc »

Господа! Вот Вы грустное зрелище тут устроили,две страницы.....
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Сообщение dosikus »

КРАМ, стоит ли отвлекаться на индивидума, именно здесь ты мечешь бисер перед свиньями.
Мурик, это "птенец гнезда" пастера, а его "ученье" не пропьешь не высерешь.

Нарушение правил форума. п 2-3. Fakir. предупреждение.
Реклама
Мудрый кот
Сообщения: 1710
Зарегистрирован: Вт янв 05, 2016 10:14:25
Откуда: поселок Мелеуз

Сообщение Novice user »

Скачал,поставил,опробовал,большое спасибо!буду изучать

Не нашел-там только пиккит поддерживается?мне для авр надо усбасп...
Встал на лапы
Сообщения: 132
Зарегистрирован: Пт окт 19, 2012 05:54:55

Сообщение koms48 »

dosikus!
Не то пальто. Никаких асмовских вставок. Токмо Си.
Реклама
Эиком - электронные компоненты и радиодетали
atc
Встал на лапы
Сообщения: 131
Зарегистрирован: Пн авг 27, 2018 10:36:23

Сообщение atc »

[uquote="Novice user",url="/forum/viewtopic.php?p=3506902#p3506902"]пиккит поддерживается?[/uquote]
Поддерживается, 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 раз.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Сообщение dosikus »

[uquote="koms48",url="/forum/viewtopic.php?p=3506993#p3506993"]dosikus!
Не то пальто. Никаких асмовских вставок. Токмо Си.[/uquote]
Ну где эти вставки?
Укажите, будьте любезны. :)))
Реклама
Встал на лапы
Сообщения: 132
Зарегистрирован: Пт окт 19, 2012 05:54:55

Сообщение koms48 »

Ну вот:
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: {
Друг Кота
Аватара пользователя
Сообщения: 25500
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

Караул, какой ...
Это всего лишь дизасм строки Си.
Сохранение контекста.
А еще шляпу надел. (с)
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

Оба хороши, это просто листинг во что скомпилировался Си- код. Какой на асм/дизасм?
Друг Кота
Аватара пользователя
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Сообщение dosikus »

VladislavS, внимательней предыдущюю страницу изучи.
Смотрим промежуточные асмовские файлы и охереваем с сишных наворотов
Этого же и хотел вопрошающий, ему и было вывалено:
Исходник и листинг асмЪ.


Ждем охреневания...

koms48, вы разницу между исходником и листингом осознаете?
Друг Кота
Аватара пользователя
Сообщения: 25500
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

[uquote="VladislavS",url="/forum/viewtopic.php?p=3507567#p3507567"]это просто листинг[/uquote]
Осталось узнать КАК НАЗЫВАЕТСЯ в IDE этот "просто листинг"...
:))) :))) :)))
Друг Кота
Аватара пользователя
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Сообщение dosikus »

Я ему подскажу картинкой...

Изображение
Друг Кота
Аватара пользователя
Сообщения: 25500
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

Чиорт побьери!!! А я только што такой же скрин приготовил...
:))) :))) :)))
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

Это козни индусских программеров. Дизассемблер это когда берут двоичный файл и из него восстанавливают ассемблерный код.
То что вы показываете это обычный листинг (ассемблерный листинг). В нормальных IDE это так называется.

Keil
Изображение
asm_list3.png
(23.35 КБ) 1340 скачиваний
Iar
Изображение
asm_list.png
(95.43 КБ) 1305 скачиваний
Visual Studio
Изображение
asm2.png
(26.7 КБ) 1309 скачиваний
Eclipse
Изображение
asm_list2.png
(54.11 КБ) 1339 скачиваний
и т.д. и т.п.
Друг Кота
Аватара пользователя
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Сообщение dosikus »

[uquote="VladislavS",url="/forum/viewtopic.php?p=3507631#p3507631"]В нормальных IDE это так называется.[/uquote]

Ну вот такая нелегкая жЫсть у пЫководов.
А некоторые это асмЪ вставками называют...

VladislavS, и счас спугнешь koms48 и мы так и не увидим мастеркласс на ковбойском барсике...
Друг Кота
Аватара пользователя
Сообщения: 25500
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

[uquote="VladislavS",url="/forum/viewtopic.php?p=3507631#p3507631"]Это козни индусских программеров. Дизассемблер это когда берут двоичный файл и из него восстанавливают ассемблерный код.[/uquote]
Существительное disassembly - на пиндосском означает РАЗБОРКА. И ничего более. :P
У Микрочипа это означает РАЗБОРКА кода Си на Ассемблере.
:))) :))) :)))
Индусы тут не причем... :tea:
И дизассемблер (disassembler), как утилита восстановления АСМ кода из бинарника или хекса, никакого отношения к данному случаю не имеет.
Друг Кота
Аватара пользователя
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Сообщение dosikus »

Весьма жаль что мы так и не услышали начальника транспортного отдела ...

Но зато мы можем сами охреневать от выхлопа "бесподобного " протона:

Листинг ( пришлось урезать ибо протон всосал в него всякую свою хрень)

Код: Выделить всё

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%)
Протон


Изображение
Встал на лапы
Сообщения: 132
Зарегистрирован: Пт окт 19, 2012 05:54:55

Сообщение koms48 »

Blink675.hex
(325 байт) 552 скачивания
Blink675.hex
(325 байт) 552 скачивания
Некогда было. Вот исходник протона (мыргалка на 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, но они в любом языке встречаемы.
Попрошу на Сях тоже предоставить. Исходник и длину бина.
Ноне с коровой бодаюсь (по мере времени). Попожжа коровью мыргалку рожу.
Друг Кота
Аватара пользователя
Сообщения: 25500
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

Ранее я все сказал. Это не сравнение языков. Это сравнение реализаций функций задержки.
Если учесть, что сами эти функции могут быть написаны даже на АСМе (в смысле присутствовать в библиотеке как обжект-файлы), то подобные тесты совершенно бепонтовы от слова совсем.
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18783
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

а если функция задержки - часть языка?
что вообще от языка останется, если считать любые его "родные" функции не подлежащими сравнению?
и в конечном итоге каждый компилятор порождает именно машинный код, т.е. "пишет на асме" то же самое. ну или не пишет, а компонует из заранее написанных кусочков, причем заранее написанных именно на асме.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Ответить

Вернуться в «PIC»