Nick Johnson Tuesday Final A: sethi 0x105A90, %r5 ! loads ascii “AjAx” into r5 ! CPU sends the bits to register 5 ! on the data bus 00 00101 100 01 0000 0101 1010 1001 0000 0xA105A90 000000 0 000000 0 000101 1 0 1 0101 000 00000000000 or %r5, 0x178, %r5 ! r5 ← 0x416A4178 10 00101 000010 00101 1 0 0001 0111 1000 0x8A116178 000101 1 000000 0 000101 1 0 1 0110 000 00000000000 B: st %r5, [0x708 + %r0] ! [0x708] ← 0x416A4178 ! register 5 sends the bits to ! address 0x708 on the data bus 11 00101 000100 00000 1 0 0111 0000 1000 0xCA202708 000101 1 000000 0 000000 1 0 1 0101 000 00000000000 C: sethi 0x80808, %r5 ! load four ascii blanks in r5 00 00101 100 00 1000 0000 1000 0000 1000 0xB080808 000000 0 000000 0 000101 1 0 1 0101 000 00000000000 or %r5, 0x20, %r5 ! r5 ← 0x20202020 10 00101 000010 00101 1 0 0000 0010 0000 0x8A116020 000101 1 000000 0 000101 1 0 1 0110 000 00000000000 D: sethi 0x40, %r7 ! add value 0x10203 to [0x708] 00 00111 100 00 0000 0000 0000 0100 0000 0xF000040 or %r7, 0x203, %r7 10 00111 000010 00111 1 0 0010 0000 0011 0x8E11E203 ld [0x708], %r31 11 11111 000000 00000 1 0 0111 0000 1000 0xFE002708 add %r7, %r31, %r7 10 00111 000000 11111 0 00000000 00111 0x8E07C007 st %r3, [0x708] ! [0x708] ← r3 11 00011 000100 00000 1 0 0111 0000 1000 0xC6202708 E: ld [0x708], %r3 ! r3 ← [Ox708] 11 00011 000000 00000 1 0 0111 0000 1000 0xF6002708 F: xor %r5, %r3, %r17 ! xor r5 and r3 and store in r17 10 10001 000011 00011 0 00000000 00111 0xA218C007 st %r17, [0xCCC] ! store r17 into [0xCCC] 11 10001 000100 00000 1 0 1100 1100 1100 0xE2202CCC