.
This commit is contained in:
29
bac1/q2/fonctio/tp1/algo_q21.py
Normal file
29
bac1/q2/fonctio/tp1/algo_q21.py
Normal file
@ -0,0 +1,29 @@
|
||||
#!/bin/python
|
||||
|
||||
def toBinaryString(user_i:int):
|
||||
squares = [2**i for i in range(32)]
|
||||
squares.reverse()
|
||||
|
||||
ret = ''
|
||||
show = False
|
||||
|
||||
for s in squares:
|
||||
if user_i & s:
|
||||
ret += '1'
|
||||
show=True
|
||||
else:
|
||||
if show:
|
||||
ret += '0'
|
||||
return ret
|
||||
|
||||
|
||||
def main():
|
||||
"""
|
||||
Ask the user for an input
|
||||
"""
|
||||
user_in = input("entrez un nombre :")
|
||||
print(toBinaryString(int(user_in)))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
85
bac1/q2/fonctio/tp1/exercices.md
Normal file
85
bac1/q2/fonctio/tp1/exercices.md
Normal file
@ -0,0 +1,85 @@
|
||||
# Exercices
|
||||
|
||||
## Binary
|
||||
|
||||
1) \\( \\)
|
||||
|
||||
2) 4095
|
||||
|
||||
3) 100000 (2) = 32 (10)
|
||||
4) 000010 (2) = 2 (10)
|
||||
5) 111111 (2) = 63 (10)
|
||||
6) 010101 (2) = 21 (10)
|
||||
|
||||
7) 64 (10) = 0100 0000 (2)
|
||||
8) 7 (10) = 0000 0100 (2)
|
||||
9) 192 (10) = 1100 0000 (2)
|
||||
10) 3073 (10) = 0110 0000 0001 (2)
|
||||
|
||||
11) 0x1010 = 4112
|
||||
12) 0x10A0 = 4256
|
||||
13) 0xBABE = 47806
|
||||
|
||||
14) 020 = 16
|
||||
15) 072 = 58
|
||||
|
||||
16) sur papier = 0xCAFE
|
||||
17) sur papier = 02001
|
||||
|
||||
18) 0xCAFE = 1100 1010 1111 1110
|
||||
19) 0xCAFE = 0145376
|
||||
20) 072 = 111010
|
||||
|
||||
21) > ./algo_q21.py
|
||||
|
||||
## Complement a 2
|
||||
|
||||
22)
|
||||
23) \\( -2^11 → 2^11-1 \\)
|
||||
|
||||
24) 17 = 0001 0001
|
||||
25) -17 = 1110 1101
|
||||
26) 255 = 1111 1111 (Imposible car pas dans l'interval)
|
||||
27) -128 = 1000 0000
|
||||
28) -73 = 10110111
|
||||
|
||||
29) 01001111
|
||||
+ 00000001
|
||||
= 01010000
|
||||
|
||||
30) - 10010110 = 01101010
|
||||
|
||||
31) 01001111
|
||||
+ 01000001
|
||||
---------
|
||||
= 10010000 (Overflow, le nombre n'est pas dans la range de nombre accesible sur 8 bits en ca2)
|
||||
|
||||
32) 00000001
|
||||
- 00000010
|
||||
----------
|
||||
= 11111111
|
||||
|
||||
33) 00001001
|
||||
x 00000110
|
||||
----------
|
||||
000010010
|
||||
+ 0000100100
|
||||
------------
|
||||
= 0000110110
|
||||
|
||||
34) 10000001
|
||||
- 10000010
|
||||
----------
|
||||
= 11111111
|
||||
35) - 10000000 = 011111111 (Imposible a representer sur 8 bits)
|
||||
|
||||
36) 00010100
|
||||
/ 00000101
|
||||
----------
|
||||
00000100
|
||||
|
||||
37) 00010111
|
||||
/ 00001001
|
||||
----------
|
||||
00000010 (reste 101)
|
||||
38)
|
BIN
bac1/q2/fonctio/tp1/fonct-ordis-tp1-integers.pdf
Normal file
BIN
bac1/q2/fonctio/tp1/fonct-ordis-tp1-integers.pdf
Normal file
Binary file not shown.
BIN
bac1/q2/fonctio/tp2/MIPS_Green_Sheet.pdf
Normal file
BIN
bac1/q2/fonctio/tp2/MIPS_Green_Sheet.pdf
Normal file
Binary file not shown.
BIN
bac1/q2/fonctio/tp2/fonct-ordis-tp2-spim.pdf
Normal file
BIN
bac1/q2/fonctio/tp2/fonct-ordis-tp2-spim.pdf
Normal file
Binary file not shown.
32
bac1/q2/fonctio/tp2/spim-add-int.s
Normal file
32
bac1/q2/fonctio/tp2/spim-add-int.s
Normal file
@ -0,0 +1,32 @@
|
||||
.data
|
||||
txt1: .asciiz "Entrez un premier nombre:"
|
||||
txt2: .asciiz "Entrez un second nombre:"
|
||||
|
||||
.text
|
||||
main:
|
||||
# print txt1
|
||||
la $a0, txt1
|
||||
li $v0, 4
|
||||
syscall
|
||||
|
||||
#read t0
|
||||
li $v0, 5
|
||||
syscall
|
||||
move $t0, $v0
|
||||
|
||||
# print txt2
|
||||
li $v0, 4
|
||||
la $a0, txt2
|
||||
syscall
|
||||
|
||||
#read t1
|
||||
li $v0, 5
|
||||
syscall
|
||||
move $t1, $v0
|
||||
|
||||
# a0 = t0 + t1
|
||||
add $a0, $t1, $t0
|
||||
|
||||
li $v0, 1
|
||||
syscall
|
||||
jr $ra
|
20
bac1/q2/fonctio/tp2/spim-fonction-call.s
Normal file
20
bac1/q2/fonctio/tp2/spim-fonction-call.s
Normal file
@ -0,0 +1,20 @@
|
||||
.data
|
||||
text: .asciiz "Hello I'm in my fct"
|
||||
|
||||
.text
|
||||
main:
|
||||
|
||||
# Appel Fonction
|
||||
or $t0 $zero $ra
|
||||
jal fct
|
||||
or $ra $zero $t0
|
||||
jr $ra
|
||||
|
||||
fct:
|
||||
|
||||
li $v0, 4
|
||||
la $a0, text
|
||||
syscall
|
||||
jr $ra
|
||||
|
||||
|
12
bac1/q2/fonctio/tp2/spim-loop-5-write.s
Normal file
12
bac1/q2/fonctio/tp2/spim-loop-5-write.s
Normal file
@ -0,0 +1,12 @@
|
||||
main:
|
||||
li $a0, 5
|
||||
li $a1, 0
|
||||
li $v0, 1
|
||||
j loop
|
||||
|
||||
loop:
|
||||
syscall
|
||||
addiu $a0, -1
|
||||
bne $a0, $a1, loop
|
||||
# bgtz $a0, loop
|
||||
jr $ra
|
10
bac1/q2/fonctio/tp2/spim-loop-5.s
Normal file
10
bac1/q2/fonctio/tp2/spim-loop-5.s
Normal file
@ -0,0 +1,10 @@
|
||||
main:
|
||||
li $a0, 5
|
||||
li $a1, 0
|
||||
j loop
|
||||
|
||||
loop:
|
||||
addiu $a0, -1
|
||||
bne $a0, $a1, loop
|
||||
# bgtz $a0, loop
|
||||
jr $ra
|
3
bac1/q2/fonctio/tp2/spim-loop.s
Normal file
3
bac1/q2/fonctio/tp2/spim-loop.s
Normal file
@ -0,0 +1,3 @@
|
||||
main:
|
||||
nop
|
||||
j main
|
9
bac1/q2/fonctio/tp2/spim-print-str.s
Normal file
9
bac1/q2/fonctio/tp2/spim-print-str.s
Normal file
@ -0,0 +1,9 @@
|
||||
.data
|
||||
mystr: .asciiz "The answer to live, universe and everything else is.... 42"
|
||||
|
||||
.text
|
||||
main:
|
||||
la $a0, mystr
|
||||
li $v0, 4
|
||||
syscall
|
||||
jr $ra
|
33
bac1/q2/fonctio/tp2/spim-read-int.s
Normal file
33
bac1/q2/fonctio/tp2/spim-read-int.s
Normal file
@ -0,0 +1,33 @@
|
||||
.data
|
||||
question: .asciiz "Entrez un nombre: "
|
||||
gr: .asciiz "Trop Grand!\n"
|
||||
pe: .asciiz "Valeur acceptee\n"
|
||||
|
||||
.text
|
||||
main:
|
||||
la $a0, question
|
||||
li $v0, 4
|
||||
syscall
|
||||
|
||||
li $v0, 5
|
||||
syscall
|
||||
|
||||
bgt $v0, 10, grand
|
||||
bgt $v0, 0, petit
|
||||
jr $ra
|
||||
|
||||
grand:
|
||||
la $a0, gr
|
||||
li $v0, 4
|
||||
syscall
|
||||
j main
|
||||
|
||||
petit:
|
||||
la $a0, pe
|
||||
li $v0, 4
|
||||
syscall
|
||||
|
||||
lr $a0,
|
||||
li $v0, 4
|
||||
syscall
|
||||
j main
|
27
bac1/q2/fonctio/tp2/spim-to-binary.s
Normal file
27
bac1/q2/fonctio/tp2/spim-to-binary.s
Normal file
@ -0,0 +1,27 @@
|
||||
.data
|
||||
ask: .ascii "Entrez un nombre:"
|
||||
|
||||
.text
|
||||
main:
|
||||
|
||||
# Print(ask)
|
||||
li $v0 4
|
||||
la $a0 ask
|
||||
syscall
|
||||
|
||||
# read()
|
||||
li $v0 5
|
||||
syscall
|
||||
|
||||
li $t0 2 #base
|
||||
|
||||
divi:
|
||||
|
||||
div $v0, $t0
|
||||
li $v0, 1
|
||||
mfhi $a0
|
||||
syscall
|
||||
mflo $v0
|
||||
bne $v0, 0, divi
|
||||
|
||||
jr $ra
|
27
bac1/q2/fonctio/tp2/spim-to-hex.s
Normal file
27
bac1/q2/fonctio/tp2/spim-to-hex.s
Normal file
@ -0,0 +1,27 @@
|
||||
.data
|
||||
hex: .asciiz "0123456789ABCDEF"
|
||||
q1: .asciiz "Entrez un nombre"
|
||||
.text
|
||||
main:
|
||||
li $v0, 4
|
||||
la $a0, q1
|
||||
syscall
|
||||
|
||||
li $v0, 5
|
||||
syscall
|
||||
|
||||
li $t0 16 #base
|
||||
|
||||
divi:
|
||||
div $v0, $t0
|
||||
mfhi $t2
|
||||
la $t9, hex
|
||||
addu $t9, $t9, $t2
|
||||
lb $a0 0($t9)
|
||||
li $v0, 11
|
||||
syscall
|
||||
|
||||
mflo $v0
|
||||
bne $v0, 0, divi
|
||||
|
||||
jr $ra
|
63
bac1/q2/fonctio/tp2/switch-table.s
Normal file
63
bac1/q2/fonctio/tp2/switch-table.s
Normal file
@ -0,0 +1,63 @@
|
||||
.data
|
||||
tab: .word case5, case6, case7, case8
|
||||
q1: .asciiz "Entrez un nombre entre 5 et 8:"
|
||||
r5: .asciiz "case 5"
|
||||
r6: .asciiz "case 6"
|
||||
r7: .asciiz "case 7"
|
||||
r8: .asciiz "case 8"
|
||||
|
||||
.text
|
||||
main:
|
||||
# ask a number
|
||||
li $v0, 4
|
||||
la $a0, q1
|
||||
syscall
|
||||
|
||||
# read the number
|
||||
li $v0, 5
|
||||
syscall
|
||||
|
||||
li $t5, 5
|
||||
li $t4, 4
|
||||
|
||||
sub $t1, $v0, $t5
|
||||
|
||||
mult $t1, $t4
|
||||
mflo $t2
|
||||
|
||||
# Load addr : tab
|
||||
la $t1, tab
|
||||
addu $t1, $t2, $t1
|
||||
lw $t0,0($t1)
|
||||
jr $t0
|
||||
|
||||
case5:
|
||||
li $v0, 4
|
||||
la $a0, r5
|
||||
syscall
|
||||
|
||||
j end_case
|
||||
|
||||
case6:
|
||||
li $v0, 4
|
||||
la $a0, r6
|
||||
syscall
|
||||
|
||||
j end_case
|
||||
|
||||
case7:
|
||||
li $v0, 4
|
||||
la $a0, r7
|
||||
syscall
|
||||
|
||||
j end_case
|
||||
|
||||
case8:
|
||||
li $v0, 4
|
||||
la $a0, r8
|
||||
syscall
|
||||
|
||||
j end_case
|
||||
|
||||
end_case:
|
||||
jr $ra
|
5
bac1/q2/fonctio/tp3/reponses.md
Normal file
5
bac1/q2/fonctio/tp3/reponses.md
Normal file
@ -0,0 +1,5 @@
|
||||
# TP3
|
||||
|
||||
1) Car c'est un exposant de 2.
|
||||
La memoire fonctionnant en binaire, pour chaques bits ajoutes, nous obtenons une capacites deux fois plus grande
|
||||
|
BIN
bac1/q2/fonctio/tp3/tp3-cache.pdf
Normal file
BIN
bac1/q2/fonctio/tp3/tp3-cache.pdf
Normal file
Binary file not shown.
Reference in New Issue
Block a user