• Buffalox@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    12 days ago

    I’m sorry are we somehow assuming floating-point pointers, now, of course you need to convert there.

    “floating-point pointers” is not a thing:

    “casting” is a specific thing you do in C

    No it’s not:
    https://en.wikipedia.org/wiki/Type_conversion

    In computer science, type conversion,[1][2] type casting,[1][3] type coercion,[3] and type juggling[4][5] are different ways of changing an expression from one data type to another.

    You don’t even have a clue, you are just talking trash.

    In assembly you don’t generally talk about pointers, but address modes. Like register, immediate or memory (indirect).

    Have you ever actually been programming any serious assembly? Because you sure don’t sound like it.

    • barsoap@lemm.ee
      link
      fedilink
      English
      arrow-up
      1
      arrow-down
      1
      ·
      edit-2
      12 days ago

      Great! Now please explain how opcodes are expressions. Also, what processor instruction a cast from one pointer type to another pointer type corresponds to.

      You are way out of your depth here. Have you even implemented a compiler.


      EDIT:

      You don’t even have a clue, you are just talking trash.

      In assembly you don’t generally talk about pointers, but address modes. Like register, immediate or memory (indirect).

      Have you ever actually been programming any serious assembly? Because you sure don’t sound like it.

      Oh cute edit to make to make my response look bad retroactively.

      But as you wanted to get pedantic: A pointer is a value which is intended to be dereferenced, that (hopefully) corresponds to a valid memory address. “address”, “pointer”, “reference”, it’s a matter of taste which one you use. It exists “in assembly” just as “an index” exists in C: Not because it’s a language feature, but because it’s a concept you use when writing in the language. And yes I speak pretty fluent x86, at least the non-SIMD part. Did I mention that I was there, at ground zero “why is is thing not compiling in 64 bit mode” times, fixing code?

      Now, back to my question:

      what processor instruction does a cast from one pointer type to another pointer type corresponds to.

      Figuring out the answer to that will tell you everything you need to know about where you went wrong. Where you went from talking about actual concepts to arguing semantics.