Fatti
Nel 1990 la ditta di macchine C. GmbH di Schweinfurt (Germania) vendette alla società D. di Belgrado quattro macchine per un prezzo totale di DM 960'000.-. La banca A. (convenuta) garantì alla ditta di macchine C. GmbH il rispetto di tali obblighi di pagamento da parte della società E., Belgrado. Con dichiarazione di cessione e consegna del 19 novembre 1990, la ditta di macchine C. GmbH cedette l'intero credito e i suoi diritti derivanti dalla garanzia della convenuta alla banca F. AG, filiale di Schweinfurt. Quest'ultima cedette lo stesso giorno e nello stesso atto tutti i diritti e le pretese alla G. AG (in seguito B. AG; attrice) di Zurigo.
Infine, l'attrice ha citato in giudizio la banca A. presso il Tribunale di commercio del Cantone di Zurigo, chiedendo di condannarla al pagamento di DM 1'540'126.90 oltre agli interessi del 9% dal 1° agosto 1997. Il Tribunale di commercio ha accolto la richiesta per l'importo di DM 1'117'600.- oltre agli interessi del 9% dal 26 ottobre 1996.
Legge
Il Tribunale federale afferma che il divieto di abuso del diritto ai sensi dell'art. 2 cpv. 2 CC appartiene alle disposizioni imperative del diritto svizzero ai sensi dell'art. 18 LDIP. Il divieto di abuso del diritto è una norma di protezione fondamentale che serve all'attuazione dell'ordine pubblico e della moralità, e la cui validità si estende a tutto l'ordinamento giuridico. Anche in caso di fattispecie…