In MIPS instruction set, we have instructions like "LB R1, 0(R2)", which means "load one byte from the memory address whose base address is stored in R2 register and plus an offset of 0, load this byte to register R1". I am not an English native speaker and would like to learn the English way to pronounce this instruction. Is it correct to pronounce it as "load byte R one zero R two"?
How to read/pronounce a MIPS load-byte instruction in English?
98 Views Asked by AudioBubble At
1
There are 1 best solutions below
Related Questions in ASSEMBLY
- Is there some way to use printf to print a horizontal list of decrementing hex digits in NASM assembly on Linux
- How to call a C language function from x86 assembly code?
- Binary Bomb Phase 2 - Decoding Assembly
- AVR Assembly Clock Cycle
- Understanding the differences between mov and lea instructions in x86 assembly
- ARM Assembly code is not executing in Vitis IDE
- Which version of ARM does the M1 chip run on?
- Why would %rbp not be equal to the value of %rsp, which is 0x28?
- Move immediate 8-bit value into RSI, RDI, RSP or RBP
- Unable to run get .exe file from assembly NASM
- DOSbox automatically freezes and crashes without any prompt warnings
- Load function written in amd64 assembly into memory and call it
- link.exe unresolved external symbol _mainCRTStartup
- x86 Wrote a boot loader that prints a message to the screen but the characters are completely different to what I expected
- running an imf file using dosbox in parallel to a game
Related Questions in MIPS
- My prompt message not working in mips program
- How do I extract ints from an array using MIPS Assembly?
- MIPS Aiken to Binary
- Can anyone help me understand why my MIPS assembly code isn't adding or subtracting correctly?
- MIPS runtime error "line 31: Runtime exception at 0x00400038: address out of range 0x7fbffffc Go: execution terminated with errors."
- Getting the error "Error in : invalid program counter value: 0x00000000 Go: execution terminated with errors. " in MIPS assembly
- MIPS $a_ and $v_ registers producing incorrect output
- MIPS pipeline forwarding
- -- program is finished running (dropped off bottom) --
- Implementing beq instruction to a simple control unit in logisim
- MIPS Assembly Language invalid program counter value error
- Code wont stop running in MIPS assembly simulation
- How to read controle signals from the opcode for a single-clock processor
- "Illegal instruction" appear when try to get PRID by mfc0 instruction on Loongson-3A R4 (MIPS64)?
- Seeking Verification: MIPS Cache Set Update Analysis
Related Questions in TERMINOLOGY
- Precise definitions of promotion and lifting
- Usage of the Term 'directive' for Control Flow Statements
- Is the SQL in brackets a scalar subquery?
- Common name for index for lexicographical sorting
- Is there a common name for variables which are not local and not global?
- What is a "Scalar" in PowerShell
- What is the difference between C++ "data member" and "field"?
- What is the term for a function/operation that is reversible by using the same function again?
- Can I rightfully name my opened file a stream if at some point I move its file-pointer backward?
- Definition of "operator", and by extension "operand", in Python terminology
- What do these terms "L0+", "L0" and "L+" stand for with respect to memory pool?
- What is the technical name for, "Unrelated asynchronous call stacks?" I want to say, "How do I wait until an unrelated ___ completes?"
- What are the generic terms for HTTP Pipelines and HTTP Modules, which seem to be .Net-specific terminology
- How would call the process of roughening Data to make it more realistic?
- What is the term for a function that can resume from error?
Related Questions in INSTRUCTION-SET
- Set value of register to 64-bit integer in RISC-V
- ARMv7A instruction
- Find common minimum CPU features to expect when targeting a certain macOS deployment target
- Why can't we do arithmetic on an operand in x86 asm?
- Arm cortex m0 LDR instruction
- Why is the "mov" with complex addressing faster than the corresponding "lea"?
- Jump (jmp) in microcode with fetch, decode, execute and writeback
- How to decide minimum pmp region for an architecture?
- Does RISCV SBI refers a hardware implementation or a software standard?
- In 6502 assembler, trying to output integers after log statement
- How to compile for riscv zicond extension in gcc?
- Why there is different register address for sstatus an mstatus although they are different view of same register?
- How data dependency handled at cpu instructions pipeline parallelism
- How does RESW in SIC machine works
- VM detection mechanisms for ARM
Related Questions in ADDRESSING-MODE
- Need clarification on the dummy read in absolute X indexed
- In MASM what is array[4]
- Struggling to understand 'Zero-Page Indirect Address Indexed by Y' for the 6502 Assembly Language
- How is address arithmetic handled in NASM for x86 in hardware
- Why do parentheses do different things based on context in AT&T syntax?
- 32-bit registers in addressing modes in 64-bit assembly not allowed?
- How to interpret memory reference on right side of assembly equation?
- Is there a way to dereference a pointer stored in memory?
- Confusion about addressing modes - how does a register by itself outside () work as an ADDRESS_OR_OFFSET constant?
- Is "strb w0, [x2, w3, uxtw]" the same as "strb w0, [x2, w3, uxtw #0]"?
- How to read/pronounce a MIPS load-byte instruction in English?
- How to decode or encode cmp instruction in x86 (ATT syntax)? R/M =100?
- String length calculation and print in emu8086
- Load Word in MIPS, using register instead of immediate offset from another register
- Invalid effective address - subtracting two registers
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
When speaking aloud to other humans, you normally wouldn't just read the pronounceable parts of the asm syntax. "R one zero R two" could be mixed up with
r10, (r2).The
0in the0(r2)addressing mode is just a placeholder that some people like to include, perhaps because the machine code always has a 16-bit immediate displacement. Speaking out loud, the zero is pure clutter in something that already non-trivial for a listener to "parse" back into an asm instruction.Reading to myself in my head, I'd say "ell bee into arr one from arr two". And I'm looking at the text syntax and I know that
lb r1, r2is nonsense, so I don't need to mentally add "from memory at arr two". If I was speaking semi-casually to another human who I knew was familiar with MIPS, I might say it that way out loud, e.g. if I was suggesting a possible instruction to be added to some code we were talking about.(I'm spelling out the phonetic pronunciation of English letter names, like arr for R, ell for L, bee for B.)
If we were looking at some existing code for context, I might just say "the ell bee" if there was only one in a loop or block, or "the LB into arr one".
Another way of reading it is "ell bee from arr two into arr one". Semantically, I tend to think of loads that way, despite finding it more natural to read asm with the destination on the left, like an assignment. (Some asm syntaxes put the destination last, like PDP-11 or m68k. Or more strangely, AT&T syntax for x86 despite the vendor's syntax being the opposite.)
You could also read it as "R one is loaded with a sign-extended byte from (memory at) R two", converting prefix to infix order, like R1 = (R2).
(Recall that in MIPS, the default is sign-extension.
lbuis a zero-extending load.)If you did have a non-zero displacement like
lhu r1, 4(r2), I might say:"ell aich you into arr one from four plus arr two".
Or "load unsigned half-word from four plus arr two into arr one".
"plus" is a good short word that unambiguously indicates an offset, vs. "from" as in "4 bytes away from" - just "from" is already being used to talk about where we load from, and "away from" is unnecessarily long.