Instructieset en assembly

Welke relatie tussen assembleertaal en machinecode is juist?

  1. AAssembleerinstructies worden door de assembler vrijwel één-op-één omgezet in machinecode-instructies
  2. BAssembleertaal is voor alle CPU-soorten gelijk en werkt op elke CPU ongewijzigd
  3. CMachinecode is een interpreter die assembleertaal tijdens uitvoering regel voor regel interpreteert
Antwoord en toelichting tonen

Antwoord: A. Assembleerinstructies worden door de assembler vrijwel één-op-één omgezet in machinecode-instructies

Assembleertaal schrijft machinecode-instructies als voor mensen leesbare symbolen (mnemonics) zoals „add a0, a0, a1”, die de assembler omzet in bitreeksen van instructies. Omdat het vrijwel één-op-één met instructies overeenkomt, verschilt de assembleertaal als de ISA verschilt. Pseudo-instructies zoals „li” en „mv” worden echter door de assembler vervangen door een of meer echte instructies. Het omzetten van labels in adressen is ook het werk van de assembler.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Instructieset en assembly

  1. Door welke instructie vervangt de assembler in werkelijkheid de RISC-V-pseudo-instructie „nop” (doe niets)?
  2. Wat is het juiste verschil tussen de RISC-V-instructies „add” en „addi”?
  3. Wat is de waarde van register a2 na uitvoering van de bovenstaande RISC-V-code?
  4. Welke werking van de RISC-V-instructie „lw t0, 8(sp)” is juist?
  5. Hoe wordt het sprongdoel label weergegeven in de RISC-V-voorwaardelijke sprong-instructie „beq a0, a1, label”?