; *************************************************************************************** ; Programme: NEWMD1.TXT version PEP813 sous Windows ; ; Version Multiplication/Division: modifiez le nom des mnémoniques: ; NOP0 -> BONJOUR ; NOP1 -> FINAL ; NOP2 -> MULT ; NOP3 -> DIV ; NOP -> LETTRE ; DECI -> LIRENB ; ; Pour implanter ces nouveaux noms, on doit utiliser l'option "Redefine Mnemonics" ; sous l'onglet "System" de PEP/8. ; ; Le nombre lu avec LIRENB doit être numériquement valide, sinon l'utilisateur ; devra le réentrer. Ce nombre doit être compris entre -32768 et 32767. ; ; La multiplication et la division se font par les registres A et X. ; ; auteur: Bernard Martin ; code permanent: non applicable ; courriel: martin.bernard@uqam.ca ; date: été 2020 ; cours: INF2171 ; ; Remarque: On doit d'abord installer NEWMD.TXT pour utiliser ces fonctionnalités. ; ************************************************************************************** ; NEWMD1: BONJOUR ; Affiche "Bonjour " LETTRE 1,i ; Affiche la 1ère lettre de l'alphabet "A" LETTRE 13,i ; Affiche la 13e lettre de l'alphabet "M" LETTRE 9,i ; Affiche la 9e lettre de l'alphabet "I" STRO bienvenu,d ; ; Pour utiliser MULT: ; ; IN: A=multiplicande ; X=multiplicateur ; OUT: A=produit ; X=0 ; X=-1 si débordement ; LIRENB temp,d ; LDA temp,d ; multiplicande STRO demande2,d LIRENB temp,d LDX temp,d ; multiplicateur MULT STRO résulta1,d STA temp,d ; produit DECO temp,d ; ; Pour utiliser DIV: ; ; IN: A=dividende ; X=diviseur ; OUT: A=reste ; X=quotient ; STRO demande3,d LIRENB temp,d LDA temp,d ; dividende STRO demande4,d LIRENB temp,d LDX temp,d ; diviseur DIV STRO résulta2,d STX temp,d ; quotient DECO temp,d STRO résulta3,d STA temp,d ; reste DECO temp,d FINAL ; affiche le message de terminaison STOP ; bienvenu:.ASCII "\n\nBienvenue à ce programme de multiplication/division." demande1:.ASCII "\n\nEntrez le multiplicande: \x00" demande2:.ASCII "\nEntrez le multiplicateur: \x00" résulta1:.ASCII "\nLe produit est: \x00" résulta2:.ASCII "\nLe quotient est: \x00" résulta3:.ASCII " et le reste est: \x00" demande3:.ASCII "\n\nEntrez le dividende: \x00" demande4:.ASCII "\nEntrez le diviseur: \x00" temp: .BLOCK 2 .END