Presentation is loading. Please wait.

Presentation is loading. Please wait.

Strings in MIPS. Chapter 2 — Instructions: Language of the Computer — 2 Character Data Byte-encoded character sets – ASCII: 128 characters 95 graphic,

Similar presentations


Presentation on theme: "Strings in MIPS. Chapter 2 — Instructions: Language of the Computer — 2 Character Data Byte-encoded character sets – ASCII: 128 characters 95 graphic,"— Presentation transcript:

1 Strings in MIPS

2 Chapter 2 — Instructions: Language of the Computer — 2 Character Data Byte-encoded character sets – ASCII: 128 characters 95 graphic, 33 control – Latin-1: 256 characters ASCII, +96 more graphic characters Unicode: 32-bit character set – Used in Java, C++ wide characters, … – Most of the world’s alphabets, plus symbols – UTF-8, UTF-16: variable-length encodings §2.9 Communicating with People

3

4 How NOT to do Strings in MIPS Should we try to output a string by putting ASCII values into $a0? This is not correct. Just as in C, you output a string by passing the MEMORY ADDRESS of the beginning of a sequence of characters (bytes). Similarly, if you do a syscall 8 (read_string), the contents of the string read in are not in $a0. How could, say, a 256 byte string fit into a 4 byte quantity?

5 A look at syscodes

6 Hello World # This is a simple program to print hello world.data greet:.asciiz "Hello world\n".text main: li $v0, 4 la $a0, greet syscall# print the string jr $ra# return from main

7 Another example.data theString:.space 64.text main: li $v0, 8 la $a0, theString li $a1, 64 syscall li $v0,4 syscall

8 If you run this program and type this in: Hello!


Download ppt "Strings in MIPS. Chapter 2 — Instructions: Language of the Computer — 2 Character Data Byte-encoded character sets – ASCII: 128 characters 95 graphic,"

Similar presentations


Ads by Google