When building a GUI with assembly, you'll be working directly with the windowing system of the operating system you are compiling for. For Windows, that the Windows API. For Linux, X Window System (X11) is probably the most popular, though there are others.
My question is, is this a good way to go...
Learning C and SDL won't teach you anything about those APIs, since SDL essentially does all thatthe window creation for you already (and then some). If your goal is a GUI in assembly, then you need to learn those APIs.
...or is there something better to get a graphical window display using assembly language?
However, ifIf you want to go about this a bit more creatively (and depending on what your goals are), you could create your GUI with C and SDL. Then you could code all your logic in assembly and compile that to a handful of libraries (.dlls). At that point, you would be able to reference those libraries from your application and have the best of both worlds. This gets you a GUI rather quickly, which you can use as your output for your assembly libraries.