Seite 1 von 2
Long in ASM an Variable übergeben ?
Verfasst: Fr 1. Aug 2014, 18:35
von funkheld
Hallo, guten Tag.
Ich kann mit dem ASM fast alles anstellen wenn es um die Pins 0-28 , Timer usw geht.
Aber eine Long Addieren und direkt an eine Variable übergeben klappt nicht.
Danke.
Gruss
Code: Alles auswählen
CON
_10us = 1_000_000 / 10 ' Divisor for 10 us
_1ms = 1_000_000 / 1_000 ' Divisor for 1 ms
_1s = 1_000_000 / 1_000_000 ' Divisor for 1 s
_clkmode = xtal1 + pll16x
_clkfreq = 80_000_000
VAR
long share
OBJ
serial : "FullDuplexSerial"
PUB Main
serial.Start(31, 30, %0000, 19_200)
cognew(@entry,0)
waitcnt(cnt + (clkfreq /_1ms*100))
serial.Dec(share)
serial.Tx($0D)
serial.Str(STRING("Fertig!"))
waitcnt(cnt + (clkfreq /_1ms*100))
serial.Stop
DAT
entry
ORG
add pshare, #123456 ' wie kann ich hier auch 123456 addieren, klappt nicht.
wrlong pshare,...... ' wie wird der Wert von pshare direkt an share übergeben?
pshare long 567678
Re: Long in ASM an Variable übergeben ?
Verfasst: Fr 1. Aug 2014, 20:14
von PIC18F2550
Code: Alles auswählen
add pshare, #123456 ' wie kann ich hier auch 123456 addieren, klappt nicht.
123456 ist zu groß für directwerte da stehen nur 9 bit zur verfügung.
Das musst Du in eine Variable packen.
Re: Long in ASM an Variable übergeben ?
Verfasst: Fr 1. Aug 2014, 21:03
von funkheld
Jup, danke.
Wie geht das in ASM, in eine Variable mit MOV oder Add oder... einen Wert größer 9 Bit zuzuweisen?
Wie kann ich eine Variable aus "VAR" etwas übergeben ohne dieses "par" in ASM?
Danke.
Gruss
Re: Long in ASM an Variable übergeben ?
Verfasst: Fr 1. Aug 2014, 21:27
von PIC18F2550
mittels constanten / berechnungen können Startwerrte Übergebenwerden.
Code: Alles auswählen
sync long $0200 ' locked to %00 {%hv}
slow_pixels long $001FFFE0 ' 5/16/11 (LSB first)
slow long 4 << 12 | 128 ' 4/128
hvis long 1 << 12 | 8 ' 1/8
vcfg_norm long %0_01_0_00_000 << 23 | 2 << 9 | $0FF
vcfg_sync long %0_01_0_00_000 << 23 | 3 << 9 | %11
mask long $0FF << (2 * 8) | %11 << (3 * 8)
hide long $40000000 ' no colour fetch
do_v long pointer ' task index (vertical)
do_h long fetch_c ' task index (horizontal)
dst1 long 1 << 9 ' dst +/-= 1
dst2 long 2 << 9 ' dst +/-= 2
' V H
' bbgggrrr_bbgggrrr
plte long NEGX | %00111111_11000000 ' default colour
vier long NEGX ' hidden
zero long $1F0 ' par (dst only)
res_y long 300 ' |
scrn long @scrnE-33 '????? offset 33
font long @font1+16 '????? offset 16
scan long height1
Wenn du nur einen Wert oder einen Zeiger auf ein Array übergeben willst (par) <<<< Zu deinem Problem
Code: Alles auswählen
CON
VAR
long array[größe]
PUB init
cognew(@code, 0) ' 0 kann durch einen wert $0..$FFFFFFFF oder @array
Eine weitere möglichkeit währe vor dem Start des COG-Codes diesen zu Modifizieren.
Code: Alles auswählen
PUB Spinroutine
scan := $100
DAT ' COG-CODE
....
' Variabeln oder CODE
scan long height1
Re: Long in ASM an Variable übergeben ?
Verfasst: Fr 1. Aug 2014, 22:32
von funkheld
Jup danke.
Das hat mir weitergeholfen.
Gruss
Re: Long in ASM an Variable übergeben ?
Verfasst: Mo 23. Feb 2015, 08:40
von Adhore Khwaab
Wie kann ich eine Variable aus "VAR" etwas übergeben ohne dieses "par" in ASM?
Re: Long in ASM an Variable übergeben ?
Verfasst: Mo 23. Feb 2015, 10:42
von TuxFan
???????????
Dieser Satz :
Adhore Khwaab hat geschrieben:Wie kann ich eine Variable aus "VAR" etwas übergeben ohne dieses "par" in ASM?
kam hier :
funkheld hat geschrieben:Jup, danke.
Wie geht das in ASM, in eine Variable mit MOV oder Add oder... einen Wert größer 9 Bit zuzuweisen?
Wie kann ich eine Variable aus "VAR" etwas übergeben ohne dieses "par" in ASM?
Danke.
Gruss
schon mal vor.
Ähnliche Aufwallungen von Trolligkeit hatten wir ja schon in anderen Threads............nur der Name ist jetzt noch exotischer.........
Gruß
TuxFan
Re: Long in ASM an Variable übergeben ?
Verfasst: Mo 23. Feb 2015, 11:59
von BorgKönig
durchaus möglch tuxfan... intern gibts aber keine auffälligkeiten... werden die bots "inteligenter"...? sobald da was rumzickt, schmeiss ich den raus...
Re: Long in ASM an Variable übergeben ?
Verfasst: Mo 23. Feb 2015, 13:17
von TuxFan
BorgKönig hat geschrieben:durchaus möglch tuxfan... intern gibts aber keine auffälligkeiten... werden die bots "inteligenter"...? sobald da was rumzickt, schmeiss ich den raus...
An anderer Stelle hatte ich mal erwähnt, daß dieser Bot ein humanoides Wesen sein könnte, dessen Adresse ich wegen seiner Internetumtriebigkeit kenne. Schade, daß er seine Intelligenz mit solchen Kindereien unterfordert.
Re: Long in ASM an Variable übergeben ?
Verfasst: Mo 23. Feb 2015, 17:51
von yeti
TuxFan hat geschrieben:An anderer Stelle hatte ich mal erwähnt, daß dieser Bot ein humanoides Wesen sein könnte, dessen Adresse ich wegen seiner Internetumtriebigkeit kenne. Schade, daß er seine Intelligenz mit solchen Kindereien unterfordert.
Ich musste dabei an...
...denken.