Vous êtes sur la page 1sur 5

ASSEMBLY CODE

HLL OPERANDS COMMENTS


SECTION LABEL MNEMO
OP1 OP2
.code
Loop LDI R3 i R3Dir i
LD R1 R3 R1 Val i
LDI R0 0x03 R0 Val 03
SUB R1 R0 R1 Val i- Val 03
LDI R0 DoLoop R0Dir EndLoop2
JN R0 Haga loop2 si i<3
LDI R0 EndLoop R0Dir DoLoop2
JMP R0 Sino, salga de loop
DoLoop LD R1 R3 R1Val i
INC R1 R1 R1 I+1
LDI R0 0XFD R0Dir ESW
ST R1 R0 R0 I+1
LDI R0 0XFF R0Dir Puerto Din
ST R0 R0 R0Valor Din
LD R0 R0 R0Valor Din
LD R1 R3 R1Val i
LDI R2 X R0Dir x
ADD R2 R1 R0Dir x [ I ]
ST R0 R2
INC R1 R1 R1i+1
ST R1 R3 R3I+1
LDI R0 Loop
JMP R0
EndLoop LDI R3 i R3Val 00
LDI R0 0X00 R0Val 00
ST R0 R3 R3 i=0
LDI R0 Loop1
For(int i=0;i<3;i++){ Loop1 LDI R3 i R3Dir i
LDI R2 0X03 R2Val 03
LD R1 R3 R1Val i
INC R1 R1 R1I +1;
LDI R0 J r0Dir j
ST R1 R0 Dir j Valor i+ 1;
LD R1 R3 R1 Valor de i
SUB R1 R2 R1Val i Val 03
LDI R0 DoLoop1 R0Dir DoLoop1
JN R0 Haga si i<3, sino
LDI R0 EndLoop1 R0 Dir EndLoop1
JMP R0 Vaya a EndLoop1
DoLoop1 LDI R1 J R1Dir j
For (int j=i+1;j<3;j++){ LD R0 R1 R0 Val j
LDI R2 0X03 R2Val 0x03
SUB R0 R2 R1 Val j- Val 03
LDI R0 DoLoop2 R0Dir DoLoop2
JN R0
LDI R0 EndLoop2 R0Dir EndLoop2
JMP R0
DoLoop2 LDI R1 X R1Dir X
LDI R0 j R0 Dir j
LDI R2 i R2 Dir i
LD R0 R0 R0Valor j
LD R2 R2 R2 Valor i
ADD R0 R1 R0 Dir x+ J
ADD R2 R1 R2Dir x + i
LD R1 R0 R1 Val x [ J ]
LD R3 R2 R3 Val X [ I ]
If(x[i] < x[ j ]){ SUB R1 R3 R1 Val x [ j ] Val x [ I ]
LDI R0 DoIf R0Dir DoIf
JN R0
LDI R0 EndIf R0Dir EndIf
JMP R0
LDI R3 I
DoIf LDI R2 X R2Dir x
LDI R0 I R0Dir i
LDI R1 J R1Dir j
LD R0 R0 R0Val i
LD R1 R1 R1 Val j
ADD R0 R2 R0Dir x[i]
ADD R1 R2 R1Dir x[ j ]
LD R3 R0 R3Val x[i]
LDI R2 A R2Dir A
Aux= X[ I ] ; ST R3 R2 R2Val x[i]
LD R3 R1 R3 Val x[j ]
X[ I ]= x [ j ]; ST R3 R0 R0 VAL X[ J ]
LD R2 R2 R2Val A
X[ j ] =aux; ST R2 R1 R1 Val A
LDI R0 EndIf R0Dir EndIf
JMP R0
} EndIf LDI R3 i R3 Dir i
LDI R2 J R2Dir J
LD R1 R2 R1Val j
INC R1 R1 R1 Val j +1
ST R1 R2 R2 J=J++;
LDI R0 DoLoop1 R0Dir DoLoop1
JMP R0
} EndLoop2 LDI R3 i
LD R1 R3 R1Val I
INC R1 R1 R1 Val I +1
ST R1 R3 R3 Val I +1
LDI R0 Loop1 R0Dir Loop1
JMP R0
} EndLoop1 LDI R3 i R3Val 00
LDI R0 0X00 R0Val 00
ST R0 R3 R3 i=0
LDI R0 Loop3
JMP R0
For(int I = 0; i<3; i++){ Loop3 LDI R3 i R3Dir i
LD R1 R3 R1 Val i
LDI R0 0x03 R0 Val 03
SUB R1 R0 R1 Val i- Val 03
LDI R0 DoLoop3 R0Dir EndLoop2
JN R0 Haga loop2 si i<3
LDI R0 EndLoop3 R0Dir DoLoop2
JMP R0 Sino, salga de loop
DoLoop3 LD R1 R3 R1Val i
INC R1 R1 R1 I+1
LDI R0 0XFD R0Dir ESW
ST R1 R0 R0 I+1
LDI R0 X R0Dir X
LD R1 R3 R1i
ADD R0 R1 R0Dir Z +i
LDI R2 0XFE R2Dir Dout
LD R0 R0 R0Val Z[ I ]
Output( x [ I ] ); ST R0 R2 Dout Z[i]
INC R1 R1 R1i+1
ST R1 R3 R3I+1
LDI R0 Loop3
JMP R0
} EndLoop3 LDI R0 0XFD R0Dir ESW
LDI R1 0x04 R1Val 04
ST R1 R0 R0 04
End; Loop4 LDI R0 Loop4 CICLO INF
JMP R0
.data
X: .space 2
A: 0X00
I: 0X00
J: 0X00

Labels table Variables table


label value variable value

Vous aimerez peut-être aussi