aboutsummaryrefslogtreecommitdiff
path: root/semestre 3/architecture des ordinateurs/td/25-10-22.md
blob: 59d07751fd5fd57174e07a009172d79e1ee3716b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
---
tags:
  - sorbonne
  - informatique
  - architecture-des-ordinateurs
  - td
semestre: 3
---
```asm
# prologue
addiu $29, $29, -8
ori $8, $0, 12
sw $8, 0($29)
ori $8, $0, 3
sw $8, 4($29)
ori $8, $0, 5
sw $8, 6($29)

# épilogue
addiu $29, $29, 8

# @a = 0($29)
# @b = 4($29)
# @c = 6($29)
```

`"AaBb" = 0x41 0x61 0x42 0x62`
`"0123456789" = 0x30 ... 0x39`
`"1024" = 0x31 0x30 0x32 0x34`

```asm
.data
ch:	.asciiz "1234"
.text
#main
	lui $8, $0, 0x1001
	ori $12, $0, 10
while:
	lbu $9, 0($8)
	beq $9, $0, while_end
	andiu $9, $9, 0x0F
	mult $10, $12
	mflo $10
	addu $10, $9
	addiu $11, 1
	addiu $8, 1
	j while
while_end:

```