ASM to BAS

Rendszerközeli nyelv(ek) tippjei, alkalmazásai
Válasz küldése
Avatar
szovhoz
Bitfaragó
Hozzászólások: 608
Csatlakozott: 2007. április 7. szombat, 6:00

ASM to BAS

Hozzászólás Szerző: szovhoz »

Létezik rá program ami asm-ből basicet csinál?

Mert kaptam egy progit és asmben van kéra benne módosítani ezt azt de nem értem az asm-et.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Nem.
ASM csak ASM-ben lesz....

Nekem is volt ilyen.
2 nap, mire felfogtam az ASM mit akar csinálni.
Újabb 1 nap, átírtam Bascomba :).
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

Most ezt, hogyan kel értelmezni?

Kód: Egész kijelölése

|Port		|	Function		|Port-Address	|RAM-Address |
|EEARL/H	|EEPROM Address Register	|0x1E/0x1F	|0x3E/0x3F       |
A 2 „EEPROM Address Register” 4 címen is elérhető, vagy ez 4 külön regiszter?

http://www.avr-asm-tutorial.net/avr_en/ ... index.html
Ports/EEPROM
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Azonos a regisztercím....
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

Bascomban Kellene értékeket átadni ASM rutinnak!
Így működik:

Kód: Egész kijelölése

' Hardveres Kurzor pozició állítása.
' Set Text Cursor Pozicio
Dim Cursor_x As Byte
Dim Cursor_y As Byte
Cursor_x = 0
Cursor_y = 0
Sub Setcursorpoz()
'Cursor_x As Byte 0 - H4F Oszlopok, Cursor_y  0 - H0F Sorok száma
$asm
   push r24
*  Lds R24,{Cursor_x}
   !call _GWrite_Data
*  Lds R24,{Cursor_y}
   !call _GWrite_Data
   ldi r24,&H21
   !call _GWrite_Cmd
   pop r24
   $end Asm
End Sub
Viszont ez miért nem jó?:

Kód: Egész kijelölése

' Hardveres Kurzor pozició állítása.
' Set Text Cursor Pozicio
Sub Setcursorpoz(cursor_x As Byte , Cursor_y As Byte)
'Cursor_x As Byte 0 - H4F Oszlopok, Cursor_y  0 - H0F Sorok száma
$asm
   push r24
*  Lds R24,{Cursor_x}      '<Nem kapjameg az értékeket
   !call _GWrite_Data
*  Lds R24,{Cursor_y}     '<Nem kapjameg az értékeket
   !call _GWrite_Data
   ldi r24,&H21
   !call _GWrite_Cmd
   pop r24
   $end Asm
End Sub
Valaki erre tudna megoldást?

:roll:
A hozzászólást 1 alkalommal szerkesztették, utoljára kapu48 2012. június 24. vasárnap, 10:15-kor.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Memóriából _közvetlenül_ nem tudsz adatot asmben átvenni...
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

Akkor csak az első, nehezebben kezelhető módszer létezik?
:cry:
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

szerintem igen....
ASMben kellene tudni az adat közvetlen címét:(
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

Az sajnos rejtve marad a Bascomban, nem publikus!
A Címek változnak, ahogy a program is.
Viszont át kellene neki adnia a címet!
:?:
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

Meg találtam!
Az Előző problémám kulcsát.

http://avrhelp.mcselec.com/index.html?config_timer1.htm
Search: ADR

Action
Create label address.
Syntax
ADR label
ADR2 labe

Kód: Egész kijelölése

....
Dim Menupointer As Word

Dim Actionpointer As Word



Dim Entries As Byte

Dim Dummy As Byte

Dim Message As String * 32



Dim Local1 As Byte

Dim Local_loop1 As Byte



Const Menu_id = &HAA                                        ' sub-menu ID byte

Const Routine_id = &H55                                     ' service routine ID byte



'-------------------------------------------------------------------------------



 Restore Main_menu                                          ' point to the start of the 'main' menu

 sts {MenuPointer}, R8                                      ' }

 sts {MenuPointer + 1}, R9                                  ' } store the pointer to the start of the menu



Display_new_menu:



 lds R8, {MenuPointer}                                      ' }

 lds R9, {MenuPointer + 1}                                  ' } restore the pointer to the start of the menu
....
:lol: :wink: :arrow:

Olvassátok a: BASCOM-AVR HELP-et!
Tanuljatok!
8)

Még a fenti oldalakon erre is érdemes rákeresni: Mixing ASM and BASIC
:)
A hozzászólást 1 alkalommal szerkesztették, utoljára kapu48 2012. június 26. kedd, 16:13-kor.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Kérnék fordítást :), had tanuljak....
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

Fordítást nem vállalok! Mert kiröhögnétek!
Abban te vagy a menő!

AVR HELP: -#- -től, -X—ig. Jó sok oldal lehet?
Nagy munka lenne lefordítani!
Már láttam rá példát, hogy összefogtak érdeklődök és összedobták a fordítás költségét!
Én benne lennék a mókában! Ha lenne rá elég jelentkező?
:?: :?: :?: :idea:
Kinek menyit érmeg? :wink:
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

A memóriaérték olvasás regiszterbe tényleg benne van:)
Így jár az aki inkább kérdez, mint olvas (nyelvöltés magamra ikon)

"Mixing ASM and BASIC" a kulcs a súgóban....

Változó is kezelhető így ASMban (bit/byte/word javasolt, a többi inkább ne:) )
Mióta kerestem.....
Válasz küldése