Zkouška 11.2.2020 Assembler by Zavoral

WhoamiHF at 2020-02-11 18:56:51

Dnešní zkouška byla zadána panem Zavoralem. Oproti ostatním nebyla příliš těžká akorát byla poměrně rozsáhlá. Asi všichni odevzdávali až v posledních pár minutách a i proto si zadávající vzal čas do konce týdne na opravu (bylo nás tam 11). Hodně štěstí.

85058232_209049876936411_2920104198185943040_n.jpg

86178041_1015892728796300_6510067425889746944_n.jpg

85252734_183070289708957_5643576770562097152_n.jpg

Attachments:

spulkam at 2020-02-12 11:17:52

Vstupní soubory:

Factorial

; parameters
  LDC R0 10    ; R0 = parameter/counter
; initialization 
  LDC R1 1     ; R1 = 1 (constant)
  LDC R2 1     ; R2 = result
; loop
  LE  R0 R1    ; counter <= 1 ?
  JF  3        ; goto output
  MUL R2 R0    ; R2 *= R0
  SUB R0 R1    ; R0 -= 1
  JMP -5       ; goto test
; output
  OUT R2       ; print result

Fill-in and print of the array:

; parameters
  LDC R0 10    ; input - count of numbers
; initialization
  LDC R1 1
  LDC R2 10    ; the first index of the 'array'
  LDC R3 0     ; number counter
  MOV R4 R2    ; index counter
; fill-in the array
  LE  R3 R0    ; counter <= input ?
  JNF 4        ; if not goto output
  ST  R4 R3    ; [R4]=R3
  ADD R3 R1
  ADD R4 R1
  JMP -6       ; goto test
; output
  LDC R3 0     ; reinitialization
  MOV R4 R2
  LE  R3 R0    ; counter <= input ?
  JNF 5        ; if not goto end
  LD  R5 R4    ; R5=[R4]
  OUT R5       ; print
  ADD R3 R1
  ADD R4 R1
  JMP -7
; end