First of all, we need to make some tiny corrections to the dates (months are specified by their number). We are interested in the number of days since January 1 until the first day of a month. The easiest and fastest way to perform such correction would be using a small table with 12 entries, containing the number of days between January 1 and the first day of a month. The table is called monthtab and is located in the data section.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Entry point;;-----------------------------------------------------_start: mov ecx, 20 ; Length of biorhythm data to ; produce mov eax, [bmonth] ; Load birth month dec eax ; Decrement it in order to address ; 0-based array mov eax, ...