Invalid karakter assembly

Invalid karakter assembly
2017-11-20T15:30:45+01:00
2017-11-20T17:03:30+01:00
2022-08-18T19:15:34+02:00
r!cs!
Sziasztok! 

Nemrég kezdtem az assembly programozást és lenne egy kis problémám, amit nem értek, hogy miért csinál a MiniRisc. 

Vannak nekem ilyen kódrészleteim: 

mov r0, #DIGIT_CODE[00] ... jmp bit_loop[05] ... Próbáltam keresgélni interneten, de sajna nem túl sok anyagot találtam hozzá.
Mutasd a teljes hozzászólást!
Van itt egy BME-s laboranyag, ami vagy erről szól, vagy nem: http://home.mit.bme.hu/~rtamas/DigitalDesign/MiniRISC_CPU.pdf
Ha erről szól, akkor a 27-es dia szerint

– Operands of the MiniRISC instructions can be:
• Register: r0 – r15
• Constant: #0 – #255 (for ALU operations)
• Memory address: 0 – 255 (constant for memory addressing)
• Register for indirect addressing: (r0) – (r15)

Szóval a # numerikus konstanst jelöl, ahogy PolyJoe is utal rá (ez elég sok assembly-re igaz).
Ha a DIGIT code valami DB-DW-stb. cucc a memória elején, valószínűleg # nélkül az assembler majd kiszámolja neked a címet.
Meg is van: a 74-es diától mesél az assemblerről. A változatosság kedvéért a fentieket meg is ismétli (77-es dia). Bár ez a tömbindexelés-szerű szintaxis elég szokásos, ránézésre nem említi sehol. Szóval lehet, hogy nem támogatott.
Most látom, hogy te mind a DIGIT_CODE, mind a bit_loop után odaírtál valami számot. Szóval amit a diasor utolsó diáján látsz, az egy kimenő, generált kód, ahol a szögletes zárójelek között az adott cím v. konstans tényleges értéke van, amit a fordító kiszámolt, és mintegy magyarázatként ki is írta. Ha megnézed az utolsó előtti diát, ott nincsenek ilyen szögletes zárójelek, és neked olyan kódot kéne írnod.
Mutasd a teljes hozzászólást!

  • Esetleg a # nélkül?
    Mutasd a teljes hozzászólást!
  • Konkrétan valamilyen CPU-hoz szeretnéd, vagy csak úgy általában?
    Mutasd a teljes hozzászólást!
  • Van itt egy BME-s laboranyag, ami vagy erről szól, vagy nem: http://home.mit.bme.hu/~rtamas/DigitalDesign/MiniRISC_CPU.pdf
    Ha erről szól, akkor a 27-es dia szerint

    – Operands of the MiniRISC instructions can be:
    • Register: r0 – r15
    • Constant: #0 – #255 (for ALU operations)
    • Memory address: 0 – 255 (constant for memory addressing)
    • Register for indirect addressing: (r0) – (r15)

    Szóval a # numerikus konstanst jelöl, ahogy PolyJoe is utal rá (ez elég sok assembly-re igaz).
    Ha a DIGIT code valami DB-DW-stb. cucc a memória elején, valószínűleg # nélkül az assembler majd kiszámolja neked a címet.
    Meg is van: a 74-es diától mesél az assemblerről. A változatosság kedvéért a fentieket meg is ismétli (77-es dia). Bár ez a tömbindexelés-szerű szintaxis elég szokásos, ránézésre nem említi sehol. Szóval lehet, hogy nem támogatott.
    Most látom, hogy te mind a DIGIT_CODE, mind a bit_loop után odaírtál valami számot. Szóval amit a diasor utolsó diáján látsz, az egy kimenő, generált kód, ahol a szögletes zárójelek között az adott cím v. konstans tényleges értéke van, amit a fordító kiszámolt, és mintegy magyarázatként ki is írta. Ha megnézed az utolsó előtti diát, ott nincsenek ilyen szögletes zárójelek, és neked olyan kódot kéne írnod.
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd