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
| ;; Ce programme lit deux séquences de nombres triées par ordre croissant et
;; renvoie la combinaison de ces deux séquences, elle aussi triée par ordre croissant.
premierInput (IN) ;; On entre la première séquence de nombres.
(BRZ triageLoop)
storePremier (DAT 380) ;; On store la première séquence.
(LDA storePremier)
(ADD incrémenter)
(STO storePremier)
(LDA compteur)
(ADD incrémenter)
(STO compteur)
(BR premierInput)
triageLoop (IN) ;; On commence le triage avec la 2e séquence ici.
(BRZ affichageLoop)
(STO temp)
(LDA 80)
(SUB temp)
(BRP décalage)
(BR triageLoop)
décalage (BR étiquette) ;; On décale la première séquence si on trouve une valeur plus petite.
(LDA étiquette)
(ADD incrémenter)
affichageLoop (DAT 380) ;; On affiche les résultats.
(OUT)
(LDA affichageLoop)
(ADD incrémenter)
(STO affichageLoop)
(LDA compteur)
(SUB incrémenter)
(STA compteur)
(BRZ fin)
(BR affichageLoop)
fin (HLT)
étiquette (LDA storePremier) ;; Étiquette afin de connaître la position du dernier input.
(ADD compteur)
(STO étiquette)
(BR décalage)
compteur (DAT 000)
incrémenter (DAT 001)
temp (DAT 000) |
Partager