Pl2 EXOS 4.DOC
------------------------ EXERCISES on programs under INTERRUPTION ----------------------- 1) Exercise no.1: -------------- a) If TACR is %100 and the data register is 42, what will be the calling frequency of a program on this TIMER? Will the program be installed on TIMER A or TIMER B? b) How to stop an interrupt-driven program installed under TIMER A? (In 1 line!) c) We want to install an interrupt-driven program that should execute approximately 245 times per second, give a possible value of the control and data registers to achieve this effect. d) Can we install multiple interrupt-driven programs in the same TIMER? (A bit of common sense is enough to find the answer...) e) An interrupt-driven program must necessarily execute in SUPERVISOR MODE. Find a reason for this ... (Very simple) 1) Exercise no.2: -------------- Since the operations of installing a routine on TIMER A or on TIMER B are quite repetitive, you are going to create two MACRO INSTRUCTIONS (TIMERA and TIMERB) which will take care of installing a program respectively on TIMER A and TIMER B. Indications: ------------ .Use the masking operations AND.B #BBB,$address and BCLR #BBB,$address to modify the values of the different MFP registers. .Use the XBTIMER function of the XBIOS to simplify your work... 2) Exercise no.3: -------------- Create 2 MACRO INSTRUCTIONS: STOPTIMEA and STOPTIMEB which must respectively stop TIMER A and TIMER B. 3) Exercise no.3: -------------- Create a program that, after being loaded, returns to the DESKTOP and changes the color palette at regular intervals. Indications: ------------ .As you can guess, this program will be an interrupt-driven program! .Use your TIMERA and TIMERB macros to install the program. .Attention! to return to the DESKTOP, do not use the PTERM function of gemdos (Macro 'TERM'), but the function of code $31 of gemdos: KEEP PROCESS (Macro 'KEEP') so that the prg under interruption is not erased! .For the change of the palette, use the system variable 'colorptr' as the GEMDOS function uses SP... 4) Exercise no.4: -------------- Create a program whose main part runs in a loop and displays (Macro HEXA) the value of an L-M from the BSS segment and another part, an interrupt-driven routine, increments the L-M which is displayed by the main program. -------------------- PIECHOCKI Laurent 8, Impasse Bellevue Corrected in the file:CORRIG_4.DOC 57980 TENTELING ------------
Back to ASM_Tutorial