Untitled
asm
posted: Jan, 31st 2012 | jump to bottom
#define N0 10 #define Ampl 0.5r #define Amplmstep 0.1r #define Argstep 0.2r #define Iter 10 /* переменные */ .section/dm data1; .var interval; .var argsin; .var samplecount; .var samplecount2; .var percount; .var widthcount; .var amplm; .var argstepv; .var iterv; .section/pm pm_da; .section/pm seg_code2; .global DataInit, Proc; .extern sin; DataInit: ar = 0; dm(interval) = ar; ar = Argstep; dm(argstepv) = ar; dm(argsin) = ar; ar = N0; dm(samplecount) = ar; dm(samplecount2) = ar; ar = Iter; dm(iterv) = ar; rts; DataInit.end: Proc: ax0 = dm(interval); af = ax0 - 1; if lt jump sinesignal; jump nulevoysignal; sinesignal: ax0 = dm(argsin); call sin; my0 = ar; ar = Ampl; mr = ar * my0(ss); sr1 = mr1; ay0 = dm(argstepv); ar = ax0 + ay0; dm(argsin) = ar; ar = dm(samplecount); ar = ar - 1; dm(samplecount) = ar; if ne rts; ar = 1; dm(interval) = ar; ar = N0; dm(samplecount) = ar; rts; nulevoysignal: sr1 = 0; ar = dm(samplecount); ar = ar - 1; dm(samplecount) = ar; if ne rts; ar = 0; dm(interval) = ar; ar = dm(samplecount2); ay0 = N0; ar = ar + ay0; dm(samplecount2) = ar; dm(samplecount) = ar; ar = dm(iterv); ar = ar - 1; dm(iterv) = ar; if ne rts; call DataInit; rts; Proc.end:
71 views




