Autor Thema: Kennt jemand diese Proggsprache?  (Gelesen 18743 mal)

joachim_neu

  • Beiträge: 1 228
    • Profil anzeigen
    • http://www.joachim-neu.de
Gespeichert
« am: 03. July 2004, 17:14 »
Codeausschnitt:

.data
sEingabe: .asciiz "\nAusdruck:"
.text
main:
#Kommentar
la $a0, sEingabe
li $v0, 4
syscall
das war mal ein Codebeispiel... Sieht aus wie ASM, ist es aber nicht... Addiert wird nähmlich so:

add $t3,$t2,$t1
den Code hab ich in der LMU bei Tag der Mathematik auf einem Zettel auf dem Boden gefunden und mitgenommen...
http://www.joachim-neu.de | http://www.orbitalpirates.de | http://www.middleageworld.de

System: 256 RAM, GeForce 2 MX 400, AMD Athlon XP 1600+, Windows XP, 1x Diskette, 1x DVD-ROM, 1x CD-R(W) Brenner,...

chr15

  • Beiträge: 279
    • Profil anzeigen
    • http://www.clinux.de.vu
Gespeichert
« Antwort #1 am: 03. July 2004, 17:19 »
Es muss ja nicht x86er Assembler sein, es kann ja auch ein Assembler für eine andere Architektur sein.

Another Stupid Coder

  • Beiträge: 749
    • Profil anzeigen
Gespeichert
« Antwort #2 am: 03. July 2004, 18:50 »
Ist ja nichtmal der Intel-Syntax...sieht also wirklich nach einer anderen Arch. aus wenn ihr mich fragt...

The-Programmerfish

  • Beiträge: 434
    • Profil anzeigen
Gespeichert
« Antwort #3 am: 03. July 2004, 20:11 »
<- Verhasst, Verdammt, Vergöttert

Wacky

  • Beiträge: 2
    • Profil anzeigen
    • http://www.flachsos.net
Gespeichert
« Antwort #4 am: 03. July 2004, 21:50 »
Das ist Assembler (PPC). Das besondere daran: AT&T Syntax.

The-Programmerfish

  • Beiträge: 434
    • Profil anzeigen
Gespeichert
« Antwort #5 am: 03. July 2004, 21:53 »
Aaaahaaaa. :? Hat AT&T nicht zufällig auch was mit Unix zu tun?
<- Verhasst, Verdammt, Vergöttert

joachim_neu

  • Beiträge: 1 228
    • Profil anzeigen
    • http://www.joachim-neu.de
Gespeichert
« Antwort #6 am: 03. July 2004, 22:00 »
aso, also doch ein Assembler... thx.
http://www.joachim-neu.de | http://www.orbitalpirates.de | http://www.middleageworld.de

System: 256 RAM, GeForce 2 MX 400, AMD Athlon XP 1600+, Windows XP, 1x Diskette, 1x DVD-ROM, 1x CD-R(W) Brenner,...

Another Stupid Coder

  • Beiträge: 749
    • Profil anzeigen
Gespeichert
« Antwort #7 am: 04. July 2004, 13:10 »
Naja, da sowohl Unix als auch C (und ich glaube sogar C++), soweit ich informiert bin, aus den AT&T Labs (existieren nichtmehr) stammen hat er ein wenig mit Unix zu tun. Zum Beispiel benutzt der Gnu Assembler diesen Syntax und somit wird er auch für GCC-Inline-Asm benutzt. AT&T Syntax wird halt auf fast jeder Plattform von irgendeinem Assembler verwendet während der Intelsyntax halt speziell für die Intel-Prozessoren verwendet wird obwohl man natürlich jeden Synax für jeden Assembler auf jeder Plattform verwenden könnte soweit ich weiß...

Another Stupid Coder

  • Beiträge: 749
    • Profil anzeigen
Gespeichert
« Antwort #8 am: 04. July 2004, 13:11 »
Und "syscall" weißt doch auch auf Unix hin oder nicht?

mastermesh

  • Beiträge: 341
    • Profil anzeigen
    • http://www.kostenloser-laptop.de/
Gespeichert
« Antwort #9 am: 04. July 2004, 15:18 »
Meines Wissens nach könnte das auch Assembler für den Motorola 68k sein...

Another Stupid Coder

  • Beiträge: 749
    • Profil anzeigen
Gespeichert
« Antwort #10 am: 04. July 2004, 16:56 »
Naja, das wäre was für eine Google-Suche nach Assembly Motorola 68k damit findet man vielleicht code zum vergleichen...ansonsten kannst du ja noch nach anderen Architekturen wie SPARC und so schauen...

chr15

  • Beiträge: 279
    • Profil anzeigen
    • http://www.clinux.de.vu
Gespeichert
« Antwort #11 am: 04. July 2004, 19:16 »
@Another Stupid Coder: Syscall muss doch nicht gleich Unix sein. Das kann ja auf einem 68k z.B. auch das gleiche sein, wie int beim 8086er. Das heißt ja nur, dass man eine Systemroutine aufruft.

Another Stupid Coder

  • Beiträge: 749
    • Profil anzeigen
Gespeichert
« Antwort #12 am: 04. July 2004, 19:30 »
Hm...aber es _könnte_ Unix sein :)

chr15

  • Beiträge: 279
    • Profil anzeigen
    • http://www.clinux.de.vu
Gespeichert
« Antwort #13 am: 04. July 2004, 19:32 »
Ist ja auch egal: Wenn wir selber OSes Proggen, dann brauchen wir weder Unix noch irgendein MAcOS oder sowas.

Eine Frage: Programmiert hier jemand ein OS für eine andere Architektur als di x86er Familie?

The-Programmerfish

  • Beiträge: 434
    • Profil anzeigen
Gespeichert
« Antwort #14 am: 04. July 2004, 20:26 »
Naja, ich hab mal drüber nachgedacht mein OS auf den GameBoy Advance zu portieren was ich aber mangels richtiger Tastatur (Ein Steuerkreuz, Start, Select, A, B, L und R und sonst nichts) und sinnvoller Eingabemöglichkeiten wieder aufgegeben habe. Wer sich doch dafür interessiert -> http://devgba.snowcristals.net/ (An der Seite wird allerdings nicht mehr weitergearbeitet)
<- Verhasst, Verdammt, Vergöttert

mastermesh

  • Beiträge: 341
    • Profil anzeigen
    • http://www.kostenloser-laptop.de/
Gespeichert
« Antwort #15 am: 04. July 2004, 21:19 »
Ich hab mit Onkel Phil (einem Ex-Kolumnisten von Lowlevel) das Betriebssystem "Radiation" für Nokia's Mediamaster-Plattform (=> Motorola 68k) geschrieben. War sehr interessant, aber auch schwierig, mit einem solchen Embedded Device zu arbeiten...

Achja: hier ein wenig 68k-Code, den ich ausgegraben habe:

*******************************************************
*                                                     *
* SBR example with 'Hello World' on screen/display    *
*      This is only running with Radiation 0.3!       *
*                                                     *
*******************************************************

    org $1060000

    bra start

Str1    dc.b '        '
Str2    dc.b 'Hello world     +++     '
Str3    dc.b 'Good Bye...          +++         ',0
    even

* little pause
pause    subi.l #1,D5
        bne pause
    rts

*********** Main ****************
start
    movem.l A0-A7/D0-D7,-(A7)   *save all registers
* set display luminance
        move.l #0,D0
    dc.w $A001        *Line Trap 1
    lea.l Str1,A0
* show Str1 on screen
    lea.l Str2,A1           *'Hello world'
    dc.w $A002              *Line Trap 2 (show on screen)
    moveq #38,D4            *numbers of scrolls
loop2    move.l A0,A1
    dc.w $A003              *Line Trap 3 (show on display)
        move.l #$10000,D5
        bsr pause
    add.l #1,A0    
    subi.b #1,D4
        bne loop2

* show Str2 on screen
    lea.l Str3,A1           *'Good bye...'
    dc.w $A002              *Line Trap 2 (show on screen)
        move.l #$60000,D5
        bsr pause

    moveq #20,D4            *numbers of scrolls
loop3    move.l A0,A1
    dc.w $A003              *Line Trap 3 (show on display)
        move.l #$10000,D5
        bsr pause
    add.l #1,A0    
    subi.b #1,D4
        bne loop3

* end, restore all registers and SR
    movem.l (A7)+,A7-A0/D7-D0
        rts


lobmann

  • Beiträge: 243
    • Profil anzeigen
    • http://www.fallek.de.vu
Gespeichert
« Antwort #16 am: 05. July 2004, 10:53 »
@mastermesh

Sag ma meinste die D-BOX hat die nen 68k ?
Man kann doch nem alten Mann nicht in den Bart spucken und sagen es hat geschneit

mastermesh

  • Beiträge: 341
    • Profil anzeigen
    • http://www.kostenloser-laptop.de/
Gespeichert
« Antwort #17 am: 05. July 2004, 13:46 »
Jepp, die D-Box (der ersten Generation) hat nen Motorola 68k mit 16 (?) MHz. Bei der D-Box 2 bin ich mir nicht sicher... da ist irgendein 32 Bit-RISC-Prozessor drin, wenn ich mich nicht irre. Läuft ja auch Linux drauf.

kleiner

  • Beiträge: 131
    • Profil anzeigen
Gespeichert
« Antwort #18 am: 13. July 2004, 18:49 »
Zitat
Another Stupid Coder postete
Und "syscall" weißt doch auch auf Unix hin oder nicht?
Syscall würde in einem C-Programm auf Linux/Unix/BSD hinweisen.
Hier würde ich syscall eher wie int verstehen(Nur ein Tipp), weil linux ja nicht neue Assembler, ergo Prozessorbefehle, hinzufügt.
Im 2.6er Kernel erlaubt es Linux jetzt auch auf der x86-Architektur syscalls nicht mehr nur mit int, sondern auch mit dem neuen Intelbefehl aufzurufen.

 

Einloggen