Sachverhalt: Sachverhalt: A. Mit Entscheid vom 6. September 1999 verurteilte das Bezirksgericht Zürich X._, geboren 1975, wegen mehrfacher Widerhandlung gegen das Betäubungsmittelgesetz zu drei Jahren Gefängnis. Auf seine Berufung hin bestätigte das Obergericht das Urteil im Schuldpunkt und setzte das Strafmass - als Zusatzstrafe zum Strafbefehl der Bezirksanwaltschaft Zürich vom 6. November 1999 (60 Tage Gefängnis wegen Körperverletzung) - auf zwei Jahre und vier Monate Gefängnis fest. A. Mit Entscheid vom 6. September 1999 verurteilte das Bezirksgericht Zürich X._, geboren 1975, wegen mehrfacher Widerhandlung gegen das Betäubungsmittelgesetz zu drei Jahren Gefängnis. Auf seine Berufung hin bestätigte das Obergericht das Urteil im Schuldpunkt und setzte das Strafmass - als Zusatzstrafe zum Strafbefehl der Bezirksanwaltschaft Zürich vom 6. November 1999 (60 Tage Gefängnis wegen Körperverletzung) - auf zwei Jahre und vier Monate Gefängnis fest. B. Gegen das Urteil des Obergerichts erhob X._ eidgenössische Nichtigkeitsbeschwerde beim Bundesgericht und kantonale Nichtigkeitsbeschwerde beim Kassationsgericht des Kantons Zürich. Das Verfahren der eidgenössischen Nichtigkeitsbeschwerde wurde vom Bundesgericht bis zum Entscheid des Kassationsgerichts des Kantons Zürich sistiert. Mit Beschluss vom 21. Juni 2003 wies das Kassationsgericht des Kantons Zürich die kantonale Nichtigkeitsbeschwerde ab, soweit es darauf eintrat. Mit Beschluss vom 21. Juni 2003 wies das Kassationsgericht des Kantons Zürich die kantonale Nichtigkeitsbeschwerde ab, soweit es darauf eintrat. C. X._ führt staatsrechtliche Beschwerde mit dem Antrag, der Beschluss des Kassationsgerichts des Kantons Zürich sei aufzuheben. Ausserdem sucht er um aufschiebende Wirkung für seine Beschwerde und um Bewilligung der unentgeltlichen Rechtspflege und Verbeiständung nach. C. X._ führt staatsrechtliche Beschwerde mit dem Antrag, der Beschluss des Kassationsgerichts des Kantons Zürich sei aufzuheben. Ausserdem sucht er um aufschiebende Wirkung für seine Beschwerde und um Bewilligung der unentgeltlichen Rechtspflege und Verbeiständung nach. D. Zum Gesuch um aufschiebende Wirkung liess sich die Staatsanwaltschaft des Kantons Zürich innert Frist nicht vernehmen. Mit Verfügung vom 25. September 2003 erkannte der Präsident des Kassationshofes der Beschwerde aufschiebende Wirkung zu. Auf die Erhebung eines Kostenvorschusses wurde verzichtet. D. Zum Gesuch um aufschiebende Wirkung liess sich die Staatsanwaltschaft des Kantons Zürich innert Frist nicht vernehmen. Mit Verfügung vom 25. September 2003 erkannte der Präsident des Kassationshofes der Beschwerde aufschiebende Wirkung zu. Auf die Erhebung eines Kostenvorschusses wurde verzichtet. E. Die Staatsanwaltschaft des Kantons Zürich verzichtet auf Gegenbemerkungen zur Beschwerde.