Sida 6 av 9
Re: Var är det lämpligt att diskutera .asm kod?
Postat: 22 oktober 2012, 03:45:16
av 1802
gkar: Kommentera varje rad i ditt program, inte för du måste utan för att jag skall bli glad

. Jag hittar inte move i AVR assembler.
Swech: Jag har lärt mig mycket på att få "de lärde att tvista". Jag själv är inte ens student. Grasshopper kanske. Hacka på mcgyver, nu har du nog öppnat en burk mask...
Gillar inte alla förkortningen av set execute på RCA1802?
Jag har ett gäng handenheter med RCA1802. Liten display och många tangenter. Avsedd för lager inv. Men den tar jag i en annan tråd. Låg prioriterat.
Re: Var är det lämpligt att diskutera .asm kod?
Postat: 22 oktober 2012, 11:07:28
av maDa
Känns som mycket förvirring i denna tråd. Nu var det inga större kodstycken så [ code ] duger ju fint. Är det större stycken är ju
http://www.pastebin.com/ trevligt.
Jag kan också räkna ut 2+2 i assembler efter en stunds letande efter instruktioner och labbande, men personligen föredrar jag använda "
return 2+2" för jag har viktigare saker att lösa.
Re: Var är det lämpligt att diskutera .asm kod?
Postat: 22 oktober 2012, 14:00:28
av 1802
TomasL: Du får ha din tro, trots att alla tydligen inte delar den. Är sparande av register och flaggor i stacken helt obekant för dig? Finns ju kommandon avsedda för just detta. Tex PUSH.
Re: Var är det lämpligt att diskutera .asm kod?
Postat: 22 oktober 2012, 14:10:25
av TomasL
Vilken tro, jag är ateist, så jag har ingen tro.
För övrigt undrar jag fortfarande:
Trycka upp register och flaggor i stacken. För att sedan återställa dem. Kan det vara något?
Vara till vadå?
Re: Var är det lämpligt att diskutera .asm kod?
Postat: 22 oktober 2012, 14:15:29
av stekern
Hur har ett icke-ämne lyckats generera sex sidor inlägg???
(Jaja, jag vet jag drar mitt strå till stacken)
1802, försök och få lite struktur på dina experiment, samt hur du lägger fram
dina frågor, man blir ju svettig när man läser hur du yrar runt
Ditt sista inlägg var väl det enda som det var något vettigt i.
ja, om registrerna tar slut så är det brukligt att spara undan värdet
i registret på stacken för att kunna använda registret till något annat.
Re: Var är det lämpligt att diskutera .asm kod?
Postat: 22 oktober 2012, 14:42:12
av 1802
stekern: Kan det inte vara bra att spara undan registerna, och återlämna dem orörda? Kan ju vara en annan del som är beroende av värdena i registerna.
Varför är det så hemskt att anv 1980 talas kod teknik på tex en PC från ca 2000(mina är inte nya)?
Ett stort tack till er som bidrar med nått positivt på detta forum.
Jag har inget emot er andra heller. Kör på bara.
Re: Var är det lämpligt att diskutera .asm kod?
Postat: 22 oktober 2012, 15:19:54
av sodjan
"1980" nämndes i samband med att du (två gånger) frågade
om att köra självmodifierande kod på en modern processor
med flash för programminnet. Är inte det utrett ?
> Kan det inte vara bra att spara undan registerna, och återlämna dem orörda?
Det är standard vid t.ex interrupt. Vissa processorer gör det med automatik
i fallet med interrupt för vissa register, övriga får man spara själv.
Inte alla processorer har en stack som man själv kan pusha/poppa data
mot, på vissa används den enbart av CALL/RETURN för adresserna.
Re: Var är det lämpligt att diskutera .asm kod?
Postat: 22 oktober 2012, 16:01:24
av Icecap
Hur man gör med registerna beror på arkitektur. Vissa saknar PUSH/POP (t.ex. PIC, iaf. äldre modeller), andra kan göra det enkelt vid att bara ändra en pekare för vilken registerbank som ska användas (t.ex. Fujitsu FFMC-16 LX). Z80 har en "skugg"sektion som växlar mellan 2 olika registerbankar osv. Allt beror på arkitektur, tillverkare och vad som var modern då den blev designad.
Re: Var är det lämpligt att diskutera .asm kod?
Postat: 22 oktober 2012, 16:02:11
av 1802
sodjan: För AVR utrett ja. Men inte för tex x86. Tack för svaret på push frågan. Precis det jag ville veta.
Klarnar det nu TomasL: ?
Re: Var är det lämpligt att diskutera .asm kod?
Postat: 22 oktober 2012, 17:19:11
av sodjan
> sodjan: För AVR utrett ja. Men inte för tex x86.
Det är utrett för den arkitektur (AVR) som du frågade om.
Men visst, självmodifierande kod är inget underligt i sig.
Jag kör en databas som inte bara modiferar utan även *skapar*
ny maskinkod on-the-fly från SQL kommandon. Denna kod
anropas sedan för att köra själva SQL queryn. Detta är på
IA64 (Intel Itanium) maskiner.
EDIT:
För den som är intresserad av komplex generering av maskinkod i runtime kan kolla :
http://h71000.www7.hp.com/openvms/journ ... ompile.pdf.
Det hela liknar lite Javas JIT kompilator.
Re: Var är det lämpligt att diskutera .asm kod?
Postat: 22 oktober 2012, 17:38:59
av 1802
sodjan: Tack så mycket.
Re: Var är det lämpligt att diskutera .asm kod?
Postat: 22 oktober 2012, 18:00:27
av TomasL
1802 skrev:sodjan: För AVR utrett ja. Men inte för tex x86. Tack för svaret på push frågan. Precis det jag ville veta.
Klarnar det nu TomasL: ?
Klarnar vad, inte ditt allmänna ostrukturerade svammel i alla fall.som tidigare nämnts, beror det helt på vilken arkitektur man använder hur saker löses, som sagt PIC har inga Push/Pop instruktioner, PIC18F använder helt andra instruktioner, beroende på vilken av de tre stackarna man vill använda, det finns en hårdvaru och två mjukvarustackar, PIC32, det är en helt annan sak med bl.a. alternativa registeruppsättningar mm.
Re: Var är det lämpligt att diskutera .asm kod?
Postat: 22 oktober 2012, 19:16:59
av SeniorLemuren
TomasL skrev:Vilken tro, jag är ateist, så jag har ingen tro.
För övrigt undrar jag fortfarande:
Trycka upp register och flaggor i stacken. För att sedan återställa dem. Kan det vara något?
Vara till vadå?
Här verkar det då precis som om du anser att det inte finns behov överhuvudtaget att spara undan något som helst av register för att senare återställa. I nästa inlägg glider och slinter du som vanligt och försöker skyla över att du hade otur när du tänkte, när du faktiskt får det skrivet på näsan.

Re: Var är det lämpligt att diskutera .asm kod?
Postat: 22 oktober 2012, 19:41:54
av TomasL
Senioren, det vore bra om du faktiskt läste först.
Ts skrev
Trycka upp register och flaggor i stacken. För att sedan återställa dem. Kan det vara något?
Då undrar jag vara till vaddå.
Det finns mängder av olika metoder, helt beroende på vad man vill uppnå.
En sådan generell fråga som TS ställde, går inte att svara på helt enkelt.
Man kan naturligtvis använda en stack, om det finns någon för att spara temporära variabler och register vid ett subrutinhopp eller interrupt (vilket är det normala vid dessa tillfällen), man kan också spara undan dessa direkt i RAMet, vilket också kan vara normalt vid andra tillfällen.
Dessutom beror det ju på vilken processor man använder, vissa saker kan ske automatiskt och vissa måste man göra manuellt.
Att spara undan saker i stacken, bara för att man har ont om register är nog ingen bra ide, då stacken främst är tänkt för just subrutinhopp, funktionsanrop och interrupt, dessutom tar det oftast mer tid att hålla på att manipulera stacken fram och tillbaka.
Re: Var är det lämpligt att diskutera .asm kod?
Postat: 22 oktober 2012, 19:52:28
av SeniorLemuren
Jorå, jag läser dina svar. Det svar du angav nu, var klart bättre än den intetsägande kommentar du lämnade först.
Man kan naturligtvis använda en stack, om det finns någon för att spara temporära variabler och register vid ett subrutinhopp eller interrupt (vilket är det normala vid dessa tillfällen), man kan också spara undan dessa direkt i RAMet, vilket också kan vara normalt vid andra tillfällen........
Vad är det som gör att du ofta öppnar med att ge ett totalt intetsägande svar först, för att sedan när andra kommer med mer konkreta förklaringar, vaknar till. Du kan ju om du bara försöker. Eller kanske det var när sodjan presenterade en bra förklaring som du tyckte du att du nog måste hänga på för att inte verka okunnig.