02 x64 asm : Functions

Поделиться
HTML-код
  • Опубликовано: 9 ноя 2024
  • This is the second lesson in intermediate assembly language programming in linux for x64 architecture.
    NOTE: I forgot to change a few of the comments on the write_console function. That is corrected in the source code.
    source: gitlab.com/pbo...

Комментарии • 11

  • @shubhamsingh3068
    @shubhamsingh3068 2 года назад +3

    I want you to make more of these videos. Please don't let me down.

  • @cmdcs1
    @cmdcs1 2 года назад +1

    Good to see this series back 🙂

  • @lysdexic9129
    @lysdexic9129 11 месяцев назад

    do you need to pass buffer to the functions can you set rsi to be buffer once and leave it?

  • @artemsmirnov2963
    @artemsmirnov2963 2 года назад

    can you show example how to make key-value data structure or double linked list, with map filter and fold? maybe parse some file with recursion?

    • @philipbohun740
      @philipbohun740  2 года назад +2

      That's a good suggestion. I have another video coming showing how to read a file. After that, I may do one on creating a one of those data structures.

  • @alurma
    @alurma 2 года назад

    good! :)

  • @artemsmirnov2963
    @artemsmirnov2963 2 года назад

    how to create first class function, sort of function as param or return new function ? f(g(x,y),z) => h(t) ?

    • @philipbohun740
      @philipbohun740  2 года назад

      While you can pass function pointers around in assembly, it doesn't "natively" have the concept of first-class functions. While technically you could implement it in assembly, using it in assembly (instead of a higher level language) would be very painful.

    • @artemsmirnov2963
      @artemsmirnov2963 2 года назад

      @@philipbohun740 yes, instead polymorphism we have only label. But how to make sort of derivative calculation d-dx (lambda squere x) -> (lambda 2 * x) ?

    • @artemsmirnov2963
      @artemsmirnov2963 2 года назад

      @@philipbohun740 is it so painful g'(f(x)) = lanbda{(f(x) + epsilon) - f(x)/epsilon} ? or is it so painful lazy stream ?