I personally find reading this a little confusing but it says it's a super simple machine language program. However, this is what I'm saying about how confusing all this would be when you don't have all the rules written down in this format and all you might be finding is zeros and ones. So, the structure of what someone is doing would be completely missing and only the computers would know because the language would be missing (computer language). So, the effect without some kind of human translating device would be something as alien as a UFO language in some ways.
begin quote from:
https://courses.cs.washington.edu/courses/cse378/02sp/sections/section2-2.html
An Example Super Simple Machine Program
An Example Super Simple Machine Program
Problem
Write a machine code program to write zeros into memory. The start address is given at address 0x80 and the number of words to write is given at address 0x84. We assume the start address is word aligned and the number of words to write is greater than zero.Pseudocode (optional)
Write out each step your assembly language program needs to do. You can skip this if you find yourself writing assembly code.R0 = 0x80 (address of start address) R0 = memory[R0] (current address) R1 = 0x84 (address of number of words) R1 = memory[R1] (number of words) R2 = 0x0 (constant 0) R3 = 0x4 (constant 4) R4 = 0x0 (number of words written to) R5 = 0x1 (constant 1) store R2 in memory[R0] R0 = R0 + R3 R4 = R4 + R5 if (R4 != R1) branch to the store instruction (address 0x20)
Assembly Code
Translate the pseudocode from above if necessary into assembly code.IMM R0, 0x80 LOAD R0, R0 IMM R1, 0x84 LOAD R1, R1 IMM R2, 0x0 IMM R3, 0x4 IMM R4, 0x0 IMM R5, 0x1 STORE R0, R2 ADD R0, R0, R3 ADD R4, R4, R5 BNE 0x20, R4, R1
Machine Code
Translate the assembly code into machine code using this chart:Operation | Opcode | Meaning of other bytes | ||
---|---|---|---|---|
ADD | 0x20 | Dest. reg. | Reg. 1 | Reg. 2 |
IMM | 0x60 | Dest. reg. | Unused | Value |
BNE | 0x11 | Dest. address | Reg. 1 | Reg. 2 |
LOAD | 0xA4 | Dest. reg. | Reg. with address | Unused |
STORE | 0x08 | Unused | Reg. with dest. address | Source reg. |
0x 60 00 00 80 0x A4 00 00 00 0x 60 01 00 84 0x A4 01 01 00 0x 60 02 00 00 0x 60 03 00 04 0x 60 04 00 00 0x 60 05 00 01 0x 08 00 00 02 0x 20 00 00 03 0x 20 04 04 05 0x 11 20 04 01
First | Previous | Page 2 | Next | Last |
---|
No comments:
Post a Comment