16bit Multiplikation in Assembler

Es gibt 80 Antworten in diesem Thema, welches 9.373 mal aufgerufen wurde. Der letzte Beitrag (2. Januar 2022 um 21:00) ist von kinzi.

  • Ich habe mir gerade dieses Video angesehen und fand das echt spannend und vor allem gut erklärt.

    Bitte melde dich an, um dieses Medienelement zu sehen.

    Vor einiger Zeit habe ihc mal eine Funktion gesucht mit der man 16 bit Werte multiplizieren kann und bin dabei auf diesen hier gestossen: Bitte melde dich an, um diesen Link zu sehen.

    Den Algorithmus habe ich mir nicht genauer angesehen weil ich ihn eh nicht so wirklich verstanden habe und keine Lust hatte dafür zuviel Zeit zu investieren, solange er funktioniert. :D

    Als ich jetzt das Video gesehen habe dachte ich mr, das klingt so einfach, das sollte ich mal implementieren und dann vergleichen. Dabei bin ich draufgekommen, dass das im Prinzip schon genau dieser Algorithmus ist. :)

    Jetzt verstehe ich wenigstens wie diese Funktion arbeitet. Das fand ich schon recht spannend und interessant.

  • Den Algorithmus habe ich mir nicht genauer angesehen weil ich ihn eh nicht so wirklich verstanden habe und keine Lust hatte dafür zuviel Zeit zu investieren, solange er funktioniert.

    Naja, das ist die Standardroutine, wie man eben in Assembler multipliziert. Eigentlich das gleiche, wie man es in der Schule lernt, nur statt im Dezimalsystem eben mit binären Ziffern. So viel Magie, finde ich, steckt da gar nicht dahinter.
    Aber das Video, wie das konkret früher oder sogar im Altertum umgesetzt wurde, ist wirklich interessant. :)

  • Naja, das ist die Standardroutine, wie man eben in Assembler multipliziert.

    Also normalerweise multipliziere ich in Assembler so :D

    Code
    move.w #10,d0
    move.w #32.d1
    multu d0,d1

    Ich fand das Video halt auch deshalb interessant weil der beschriebene Algorithmus, vor allem die altägyptische Version, sich relativ unkompliziert in Assembler umsetzen lässt, was bei der Variante die man normalerweise in der Schule lernt, nicht ganz so einfach ist.

  • Also normalerweise multipliziere ich in Assembler so

    Sorry fürs Offtopic, aber welche Assemblersprache ist das? (Sieht ein wenig aus wie 68000, kann es aber nicht sein wegen "mov" anstelle von "move" und "mult" anstelle von "mulu" oder "muls".)

  • Sorry fürs Offtopic, aber welche Assemblersprache ist das? (Sieht ein wenig aus wie 68000, kann es aber nicht sein wegen "mov" anstelle von "move" und "mult" anstelle von "mulu" oder "muls".)

    Ja, stimmt. :D Habe das eben schnell aus dem Kopf runtergetippt. Ist jetzt korrigiert. Kam mir eh etwas komisch vor. :D

  • Sorry fürs Offtopic, aber welche Assemblersprache ist das?

    Das wurde kurz im Video erwähnt. Das ist RAMSES2, der altägyptische Assembler für den SPHINX-404. Für die damalige Zeit schon recht komfortabel, wenn man bedenkt, dass es damals noch gar keinen Strom gab. ;)

  • Und obwohl das so ein kluger alter Mann ist, verwechselt er digital mit binär. Aber egal, der Zug ist wohl abgefahren...

    Das muss keine Verwechslung sein. In meinen Jugendjahren (Mitte der 80er) hat man beide Begriffe tatsächlich noch synonym benutzt.

  • Sorry fürs Offtopic, aber welche Assemblersprache ist das?

    Das wurde kurz im Video erwähnt. Das ist RAMSES2, der altägyptische Assembler für den SPHINX-404. Für die damalige Zeit schon recht komfortabel, wenn man bedenkt, dass es damals noch gar keinen Strom gab. ;)

    Lüge!

    Bitte melde dich an, um diesen Anhang zu sehen.

    und die passende 'Taschenlampe' dazu:

    Bitte melde dich an, um diesen Anhang zu sehen.

  • Bitte melde dich an, um diesen Link zu sehen.

  • Dieser Artikel passt tatsächlich zum Ursprungsthema: :)

    Bitte melde dich an, um diesen Link zu sehen.

    Zitat

    Nun mag dieser Methodenvergleich ziemlich müßig erscheinen: Für einen menschlichen jedenfalls sind ja beide Verfahren etwa gleich umständlich. Für eine Maschine hingegen - vor allem für einen digitalen Rechner - ist die "ägyptische" Multiplikation der "normalen" haushoch überlegen. Das liegt daran, daß im Computer, wo die Zahlen im binären Zweiersystem dargestellt werden, Verdoppelungen besonders einfach sind: Die Maschine braucht bloß die zugehörigen Bits um eine Position nach links zu schieben.


  • Das muss keine Verwechslung sein. In meinen Jugendjahren (Mitte der 80er) hat man beide Begriffe tatsächlich noch synonym benutzt.

    Das Problem war und ist, daß 99,99% aller Menschen, die den Begriff "digital" verwenden, ihn nicht wirklich verstanden haben. Und bloß weil Digitaltechnik in aller Regel mit binär operierenden Schaltungen implementiert ist, haben "digital" und "binär" noch lange nicht die gleiche Bedeutung. Bloß weil der Papst immer ein Mann ist, sind ja noch lange nicht alle Männer Päpste.

    Allerdings ist es erst in den letzten Jahren so richtig schlimm geworden, seitdem die Umstellung von Behörden usw. auf Internetangebote "Digitalisierung" genannt wird, was in der ursprünglichen Wortbedeutung überhaupt rein gar keinen Sinn ergibt. Aber nachdem heute ja jeder denkt, "Cyber" hätte irgendwas mit Internet oder Hacking zu tun, ist ja eh alle Hoffnung verloren.

    Aber OK, ist "off topic" und ich bin dann mal raus.

  • Sorry fürs Offtopic, aber welche Assemblersprache ist das?

    Das wurde kurz im Video erwähnt. Das ist RAMSES2, der altägyptische Assembler für den SPHINX-404. Für die damalige Zeit schon recht komfortabel, wenn man bedenkt, dass es damals noch gar keinen Strom gab. ;)

    Ja, damals mussten noch Sklaven die steinernen Bits durch die Gegend tragen. Die Clock wurde durch die Peitsche des Aufsehers vorgegeben. ^^

    ────────────────────────────────────────────────────────────
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.
    ────────────────────────────────────────────────────────────

  • Das Problem war und ist, daß 99,99% aller Menschen, die den Begriff "digital" verwenden, ihn nicht wirklich verstanden haben.

    Ich auch nicht. Was ist denn nun der Unterschied zwischen "digital" und "binär"? War bisher auch für mich das gleiche.

    Bitte melde dich an, um diesen Link zu sehen. (Bitte melde dich an, um diesen Link zu sehen.)Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.
  • Das Problem war und ist, daß 99,99% aller Menschen, die den Begriff "digital" verwenden, ihn nicht wirklich verstanden haben.

    Ich auch nicht. Was ist denn nun der Unterschied zwischen "digital" und "binär"? War bisher auch für mich das gleiche.

    Digital ist das Gegenteil von Analog. Bei Analog hat man beliebig viele (kontinuierliche) Werte zur Verfügung (also theoretisch, praktisch gibt's da natürlich auch immer Grenzen). Bei Digital hat man nur eine begrenzte Anzahl von diskreten Werten. Das müssen aber nicht zwei sein. Können auch mehr sein.

    Binär ist eine Sonderform von Digital, wo man nur zwei Werte zu Verfügung hat.

    Die Unterscheidung ist eher was für Akademiker. Ob Daten z.B. Digital oder Binär übertragen oder aufgezeichnet werden, ist im normalen Sprachgebrauch völlig schnurz. Und zum Teil sogar Definitionssache.

    Bitte melde dich an, um diesen Link zu sehen.

    Einmal editiert, zuletzt von detlef (3. Dezember 2021 um 16:59)

  • [Video]

    Vielen Dank; sparhawk. Es ist wirklich interessant, was die alten Völker schon konnten und sich ausgedacht haben. Wir neigen ja dazu, etwas arrogant auf diese Menschen herabzublicken. In Wirklichkeit waren die genauso intelligent wie wir, nur hatten sie das Wissen noch nicht. Genauso verhält es sich wahrscheinlich mit den Menschen, die noch viel früher gelebt haben.

    Bitte melde dich an, um diesen Link zu sehen. (Bitte melde dich an, um diesen Link zu sehen.)Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.
  • Digital ist das Gegenteil von Analog. Bei Analog hat man beliebig viele Werte zur Verfügung (also theoretisch, praktisch gibt's da natürlich auch immer Grenzen). Bei Digital hat man nur eine begrenzte Anzahl von diskreten Werten. Das müssen aber nicht zwei sein. Können auch mehr sein.

    Interessant. Das kenne ich als "diskret". So nennen wir Mathematiker das jedenfalls. Diskret und digital sind also das gleiche. Interessant.

    Bitte melde dich an, um diesen Link zu sehen. (Bitte melde dich an, um diesen Link zu sehen.)Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.