_PRINTF = 127 _EXIT = 1 .SECT .TEXT PUSH vec PUSH vec_end - vec CALL cresc CMP DX,1 JNE no PUSH s1 PUSH _PRINTF SYS JMP end no: PUSH s2 PUSH _PRINTF SYS end: PUSH 0 PUSH _EXIT SYS cresc: PUSH BP MOV BP, SP MOV CX, 4(BP) ! dimensione DEC CX MOV BX, 6(BP) !indirizzo vettore MOV SI, 0 MOV DX,1 ! 1 = crescente ciclo: MOVB AL, (BX)(SI) INC SI MOVB AH, (BX)(SI) CMPB AH,AL JL no_cresc LOOP ciclo POP BP RET no_cresc: MOV DX,0 POP BP RET .SECT .DATA s1: .ASCII "gli elementi sono ordinati in ordine crescente\0" s2: .ASCII "gli elementi non sono ordinati in ordine crescente\0" vec: .BYTE 2,2,4,4,6,7,8 vec_end: .BYTE 0 .SECT .BSS