You are creating a pointer to an object of size float, but you are never creating memory to store the actual float. When you dereference the pointer you are accessing memory that is not available to you. Becareful also that the memory you create stays within scope for the entire duration that the function you are calling requires it or you will get an access violation.
One of things that you have to remember is that your concept of "mouse" is really just an area in video memory being written to in a certain way which would produce a recognizable image as "cursor". this is accomplished by operations at the cpu level that produce a value that the video output understands to be a certain "color". The reason why I use quotations is because these concepts dont exist to the computer, but are manufactured so that you as the user can intetact with the system to produce meaningful results. Assembly is just a human readable form of binary data, and what a higher end compiler does is translate its easier to read langauge into binary instructions for the cpu to assign memeory locations a value that can later be used to do something.