|
объявив counter как volatile все, естессно, становится на свои места и работает. но это все равно не значит, что я это когда либо применю.
long int main(){
volatile unsigned long int counter = 0;
unsigned short i = 65536;
do {
counter++;
} while( --i != 0 );return counter;
}
;*******************************************************************************
;* FUNCTION NAME: _main *
;* *
;* Function Uses Regs : AC0,AC0,AR1,SP,BRC0,CARRY,M40,SATA,SATD,RDM,FRCT, *
;* SMUL *
;* Stack Frame : Compact (No Frame Pointer) *
;* Total Frame Size : 4 words *
;* (2 return address/alignment) *
;* (2 local values) *
;*******************************************************************************
_main:
MOV #-1, AR1
MOV AR1, BRC0
AADD #-3, SP
MOV #0, AC0 ; |4|RPTBLOCAL L2-1
|| MOV AC0, dbl(*SP(#0)) ; |4|; loop starts
L1:
MOV dbl(*SP(#0)), AC0 ; |7|
ADD #1, AC0 ; |7|
MOV AC0, dbl(*SP(#0)) ; |7|
; loop ends ; |8|
L2:
MOV dbl(*SP(#0)), AC0 ; |10|
AADD #3, SP ; |10|
RET ; |10|
; return occurs ; |10|
E-mail: info@telesys.ru