Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jul 10th, 2012  |  syntax: None  |  size: 1.07 KB  |  hits: 16  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. #include "asm_regnames.h"
  2.         .text
  3.         .globl entry
  4.  
  5. entry:
  6.         jal     readdec
  7.         add     s0,zero,v0
  8.         jal     readdec
  9.         add     a0,zero,v0
  10.  
  11. schleife:
  12.         beq     a0,s0,ausgabe
  13.         beqz    a0,ausgabe
  14.  
  15. schleifeA:
  16.         sub     s1,s0,a0
  17.         bltz    s1,schleifeB
  18.         sub     s0,s0,a0
  19.         b       schleife
  20.  
  21. schleifeB:
  22.         sub     a0,a0,s0
  23.         b       schleife
  24.  
  25. ausgabe:
  26.         add     a0,zero,s0
  27.         jal     writedec       
  28. --------------------------------------------------------------
  29. #include "asm_regnames.h"
  30.  
  31.         .text
  32.         .globl  entry
  33.  
  34. entry:
  35.         li      s0,5            #s0 gibt aktuelle zahl an, (hier 5)
  36.                                  die multipliziert werden soll, bzw.
  37.                                  als abbruchbed.
  38.         addi    t1,zero,1
  39.         # link vorbereiten
  40.         sub     sp,sp,8
  41.         sw      ra,8(sp)
  42.         sw      s0,4(sp)
  43.  
  44.         jal     sum
  45.  
  46.         # wiederherstellen
  47.         lw      ra,8(sp)
  48.         lw      s0,4(sp)
  49.         addi    sp,sp,8
  50.  
  51.         add     t0,s0,t0        #in t0 gespeichert
  52.         jr      ra
  53.  
  54. sum:
  55.         beq     t1,s0,exit
  56.  
  57.         sub     s0,s0,1
  58.  
  59.         # Prepare link
  60.         sub     sp,sp,8
  61.         sw      ra,8(sp)
  62.         sw      s0,4(sp)
  63.  
  64.         jal     sum
  65.  
  66. exit:
  67.         # wiederherstellen
  68.         lw      ra,8(sp)
  69.         lw      s0,4(sp)
  70.         addi    sp,sp,8
  71.  
  72.         add     t0,t0,s0   # hier mul (lenz)
  73.         jr      ra