Ritenuto in fatto : A.- La mattina di Pasqua del 4 aprile 1999, C._ veniva trovato morto nel corridoio del primo piano della casa di sua proprietà in via del Fiume 5 a Bellinzona. Evidenti ecchimosi ed escoriazioni riscontrate al capo, alle labbra, agli arti superiori, al tronco e agli arti inferiori del defunto, escludevano l'ipotesi della morte naturale e lasciavano presupporre l'intervento di terzi. Secondo il rapporto autoptico del 28 ottobre 1999, il decesso era avvenuto per asfissia meccanica per soffocamento, blocco meccanico della respirazione e, verosimilmente, costrizione del collo. B.- Il 6 aprile 1999, A._ e sua moglie, B._ venivano arrestati. Quest'ultimi abitavano al pianterreno dello stabile di proprietà del defunto. Finalmente, il 21 aprile 1999, A._ confessava aver ucciso C._ la sera del 3 aprile 1999 mentre lo stava rapinando nel suo appartamento. B._ riconosceva di aver partecipato esclusivamente alla rapina. Secondo i fatti accertati in sede cantonale, verso la fine del mese di marzo 1999, A._ e sua moglie vivevano in condizioni economiche disastrose e progettarono di rapinare C._, il loro padrone di casa. Essi decisero di agire la sera del 3 aprile 1999 tornando da una festa, dopo aver consumato alcolici. Consapevoli della necessità di neutralizzare C._, il quale usciva raramente di casa e portava sempre con sé il portamonete nonché la chiave della cassaforte, si accordarono che la rapina sarebbe stata eseguita materialmente da A._. Mascherato, egli avrebbe aspettato che l'anziano scendesse al pianterreno per fare rientrare il cane e chiudere la porta dell'ingresso principale. Si sarebbe quindi introdotto nell'appartamento, l'avrebbe immobilizzato, steso a terra e legato, per infine sottrargli il portamonete e la chiave della cassaforte. B._ forniva al marito gli indumenti idonei a mascherarsi nonché una corda gialla, un laccio stringa blu-nero, un paio di guanti e la chiave del portone d'ingresso, sottratta a C._ dieci giorni prima "per dispetto". Indossando una giacca nera con cappuccio, con una calza di nylon in tasca e un'altra sul viso, A._ usciva e girava intorno allo stabile, rientrandovi dal portone principale. Giunto al pianerottolo davanti all'appartamento di C._, stava per infilare la calza di nylon e alzare il cappuccio della giacca sulla testa, quando, scorto attraverso il vetro il malcapitato abbassare la maniglia della porta, A._ si buttava contro quest'ultima, scaraventando così l'anziano contro lo stipite della porta di fronte. Lo agganciava quindi dalle spalle, afferrandolo per il collo della camicia e facendolo cadere a terra con uno sgambetto. Poiché si lamentava, A._ si sedeva sulla sua schiena con tutto il suo peso e tentava di tappargli la bocca, dapprima con una camicia e, infine, legando un asciugamano a modo di bavaglio molto stretto dietro la nuca. Un momento prima C._ avrebbe detto a A._ di averlo riconosciuto e, dopo aver emesso un rantolo, non avrebbe più parlato. In seguito, A._ si girava, si sedeva con tutto il suo peso sulla testa della vittima, le legava le mani dietro la schiena e le sottraeva di tasca il portamonete nonché un mazzo di chiavi. Rovistava quindi nell'appartamento in cerca di refurtiva. Tornato poi dall'anziano, dopo aver infilato sulla testa la seconda calza di nylon, A._ lo rivoltava sulla schiena, constatando la sua morte. Si recava quindi nel proprio appartamento e raccontava alla moglie l'accaduto, consegnandole la somma di fr. 140.-- trovata nel portamonete del defunto. Quest'ultima usciva per comprare una bottiglia di whisky che beveva poi con il marito. Munito di alcuni sacchi per i rifiuti, egli risaliva nell'appartamento di C._ e rovistava di nuovo in cerca di refurtiva appropriandosi di diversi oggetti. Slegava poi in parte la vittima, cancellava le impronte e scendeva con il bottino. Recatosi per l'ultima volta sul luogo del delitto, egli rimetteva le chiavi nella tasca del morto e partiva lasciando la porta semiaperta. Usciva quindi dal portone principale che chiudeva con la chiave datagli dalla moglie e rientrava nel suo appartamento, ove nascondeva la refurtiva. C.- Il 31 agosto 2000, la Corte delle assise criminali del Cantone Ticino, statuente a Bellinzona, riconosceva A._ colpevole di assassinio e di rapina per avere, a scopo egoistico, con mancanza di scrupoli e modalità perverse, ucciso intenzionalmente C._ la sera del 3 aprile 1999 e per avere, in correità con B._, sottratto l'ammontare di fr. 140.-- e altri oggetti. La Corte concedeva che l'imputato aveva agito in stato di scemata responsabilità poiché, a causa della sua disturbata personalità e dell'euforia indotta dall'abuso di bevande alcoliche, benché avesse avuto coscienza dell'illiceità del suo comportamento, non aveva potuto conformarsi a tale valutazione. La Corte riconosceva inoltre B._ colpevole di rapina per aver concorso con A._ a perpetrare il furto ai danni di C._, sapendo che il marito avrebbe usato violenza, e in particolare per avere dato assistenza a quest'ultimo fornendogli abiti e oggetti idonei a travestirsi, come pure due corde per legare la vittima, dei guanti e la chiave dell'ingresso principale dello stabile. Entrambi gli imputati venivano infine riconosciuti colpevoli di ripetuta infrazione e contravvenzione alla legge federale sugli stupefacenti per spaccio e consumo di eroina. La Corte delle assise condannava quindi A._ a 12 anni di reclusione e all'espulsione effettiva dalla Svizzera per 12 anni. B._ veniva condannata a 3 anni e 6 mesi di reclusione. La sospensione condizionale relativa a una pena di 30 giorni di detenzione e di 3 anni di espulsione inflitta a A._ il 14 aprile 1997 nonché la sospensione condizionale concernente una pena di 15 giorni di detenzione pronunciata a carico di B._ il 29 marzo 1999 venivano revocate. La Corte ordinava altresì per i due imputati un trattamento ambulatoriale ai sensi dell'art. 43 CP e li condannava a rifondere alla parte civile Rosalba Antonietti un'indennità di fr. 12'318. 10 per spese di patrocinio, di fr. 628. 05 per risarcimento danni e di fr. 10'000.-- per torto morale. D.- Adita da A._, la Corte di cassazione e di revisione penale del Tribunale d'appello del Cantone Ticino (CCRP) ne respingeva l'impugnativa con sentenza del 24 aprile 2001. E.- Con tempestivi ricorsi di diritto pubblico e per cassazione, A._ è insorto contro la sentenza della CCRP, chiedendo che essa sia annullata, con protesta di spese e ripetibili. Egli insta altresì affinché gli venga accordata l'assistenza giudiziaria.