不同的情形,KEIL编译器反汇编不同,有些地方甚至显得费解;
情形0:
RSEG ?PR?main?MAIN
main:
USING 0
; SOURCE LINE # 131
; {
; SOURCE LINE # 132
; char i,j;
; for(i=8;i>0;i--);
; SOURCE LINE # 134
;---- Variable 'i?741' assigned to Register 'R7' ----
MOV R7,#08H
?C0025:
DJNZ R7,?C0025
?C0026:
; for(j=8;j>0;j--);
; SOURCE LINE # 135
;---- Variable 'j?742' assigned to Register 'R7' ----
MOV R7,#08H
?C0028:
DJNZ R7,?C0028
i,j都分配给了R7;
情形1:
RSEG ?PR?main?MAIN
main:
USING 0
; SOURCE LINE # 131
; {
; SOURCE LINE # 132
; char i;
; for(i=8;i>0;i--);
; SOURCE LINE # 134
;---- Variable 'i?742' assigned to Register 'R7' ----
MOV R7,#08H
?C0025:
DJNZ R7,?C0025
?C0026:
; // for(j=8;j>0;j--);
; /*
; {
; char i;
; for(i=8;i>0;i--);
; }
; */
; {
; SOURCE LINE # 142
; char j;
; for(j=8;j>0;j--);
; SOURCE LINE # 144
MOV j?741,#08H
?C0028:
DJNZ j?741,?C0028
i,分配给了R7,j分配了地址空间
情形2:
RSEG ?PR?main?MAIN
main:
USING 0
; SOURCE LINE # 131
; {
; SOURCE LINE # 132
; // char ij;
; // for(i=8;i>0;i--);
; // for(j=8;j>0;j--);
;
; {
; SOURCE LINE # 137
; char i;
; for(i=8;i>0;i--);
; SOURCE LINE # 139
MOV i?741,#08H
?C0025:
DJNZ i?741,?C0025
?C0026:
; }
; SOURCE LINE # 140
;
; {
; SOURCE LINE # 142
; char j;
; for(j=8;j>0;j--);
; SOURCE LINE # 144
MOV j?742,#08H
?C0028:
DJNZ j?742,?C0028
i,j都分配地址空间
|