ASM to BAS

Rendszerközeli nyelv(ek) tippjei, alkalmazásai
Avatar
szovhoz
Bitfaragó
Hozzászólások: 608
Csatlakozott: 2007. április 7. szombat, 6:00
Kapcsolat:

ASM to BAS

HozzászólásSzerző: szovhoz » 2009. május 20. szerda, 17:54

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: 9812
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2009. május 20. szerda, 18:11

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: 3215
Csatlakozott: 2008. augusztus 29. péntek, 6:00
Tartózkodási hely: Újkígyós

HozzászólásSzerző: kapu48 » 2009. június 24. szerda, 7:25

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: 9812
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2009. június 24. szerda, 9:17

Azonos a regisztercím....

Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3215
Csatlakozott: 2008. augusztus 29. péntek, 6:00
Tartózkodási hely: Újkígyós

HozzászólásSzerző: kapu48 » 2012. június 24. vasárnap, 10:08

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: 9812
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2012. június 24. vasárnap, 10:15

Memóriából _közvetlenül_ nem tudsz adatot asmben átvenni...

Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3215
Csatlakozott: 2008. augusztus 29. péntek, 6:00
Tartózkodási hely: Újkígyós

HozzászólásSzerző: kapu48 » 2012. június 24. vasárnap, 10:20

Akkor csak az első, nehezebben kezelhető módszer létezik?
:cry:

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9812
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2012. június 24. vasárnap, 10:22

szerintem igen....
ASMben kellene tudni az adat közvetlen címét:(

Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3215
Csatlakozott: 2008. augusztus 29. péntek, 6:00
Tartózkodási hely: Újkígyós

HozzászólásSzerző: kapu48 » 2012. június 24. vasárnap, 10:33

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: 3215
Csatlakozott: 2008. augusztus 29. péntek, 6:00
Tartózkodási hely: Újkígyós

HozzászólásSzerző: kapu48 » 2012. június 26. kedd, 12:23

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: 9812
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2012. június 26. kedd, 13:43

Kérnék fordítást :), had tanuljak....

Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3215
Csatlakozott: 2008. augusztus 29. péntek, 6:00
Tartózkodási hely: Újkígyós

HozzászólásSzerző: kapu48 » 2012. június 26. kedd, 15:24

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: 9812
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2012. június 26. kedd, 16:44

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.....


Vissza: “ASM programozás”

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 1 vendég