Au programme:
- Les comparaisons
- Les instructions de branchement
Un branchement s'effectue depuis le flow de votre code vers des symboles ou des adresses définies directement (fortement déconseillé, à la moindre modification du code source, les adresses deviennent invalides).
On va travailler avec les structures de contrôle de flow que vous connaissez des langages de programmation de plus haut niveau avec des variables de types primitifs pour plus de facilité à la traduction en assembleur.
Chaque exercice prendra un morceau de pseudo-code qui sera ensuite traduit en PEP-8.
Traduisez ce pseudo-code en assembleur
var x = deci
if x > 10 then
print "> 10"
else
print "<= 10"
end
Traduisez ce pseudo-code en assembleur
var x = deci
if x < 10 then
print "< 10"
else
print ">= 10"
end
Traduisez ce pseudo-code en assembleur
var min = deci
var max = deci
var nb = deci
if nb >= min and nb <= max then
print "In bounds"
else if nb < min then
print "Too low"
else
print "Too high"
end
Traduisez ce pseudo-code en assembleur
var chr = chari
if (chr >= 'a' and chr <= 'z') or (chr >= 'A' and chr <= 'Z') then
print "It is a letter"
else
print "Not a letter"
end
Traduisez ce pseudo-code en assembleur
var chr1 = chari
var chr2 = chari
if chr1 > chr2 then
print "chr1 > chr2"
else if chr1 < chr2 then
print "chr1 < chr2"
else
print "chr1 == chr2"
end
Traduisez ce pseudo-code en assembleur
var loops = deci
var i = 0
while i < loops do
print "Iteration " + i
i += 1
end
Traduisez ce pseudo-code en assembleur
var loops = deci
for i in [0 .. loops] do
print "Iteration " + i
end
Traduisez ce pseudo-code en assembleur
var c = chari
while c != '\n' do
if str[pos] < 'A' or if str[pos] > 'z' then print "There was a non-letter character in the string"
if str[pos] > 'Z' and str[i] < 'a' then print "There was a non-letter character in the string"
c = chari
end
print "The string contained letters only"