Logo video2dn
  • Сохранить видео с ютуба
  • Категории
    • Музыка
    • Кино и Анимация
    • Автомобили
    • Животные
    • Спорт
    • Путешествия
    • Игры
    • Люди и Блоги
    • Юмор
    • Развлечения
    • Новости и Политика
    • Howto и Стиль
    • Diy своими руками
    • Образование
    • Наука и Технологии
    • Некоммерческие Организации
  • О сайте

Скачать или смотреть Computer Architecture: x86 in-line Assembly in C

  • Peter Stallinga
  • 2021-06-04
  • 1228
Computer Architecture: x86 in-line Assembly in C
  • ok logo

Скачать Computer Architecture: x86 in-line Assembly in C бесплатно в качестве 4к (2к / 1080p)

У нас вы можете скачать бесплатно Computer Architecture: x86 in-line Assembly in C или посмотреть видео с ютуба в максимальном доступном качестве.

Для скачивания выберите вариант из формы ниже:

  • Информация по загрузке:

Cкачать музыку Computer Architecture: x86 in-line Assembly in C бесплатно в формате MP3:

Если иконки загрузки не отобразились, ПОЖАЛУЙСТА, НАЖМИТЕ ЗДЕСЬ или обновите страницу
Если у вас возникли трудности с загрузкой, пожалуйста, свяжитесь с нами по контактам, указанным в нижней части страницы.
Спасибо за использование сервиса video2dn.com

Описание к видео Computer Architecture: x86 in-line Assembly in C

How to write in-line x86 Assembly code in C

For the complete lecture series, please visit:
http://www.stallinga.org/Youtube/Comp...

The C program:

/********************************************
file: asm.c *
How to use in-line x86 Assembly in C *
gcc -no-pie -masm=intel asm.c *
./a.out *
********************************************/

#include stdio.h ; // add angled brackets here (not allowed on Youtube)

int a, b; // global vars are on the heap

int foo(int x){ // arguments are on the stack
int i = 4; // local vars too
asm("mov rax, [rsp-20]"); // int x;
asm("mov rcx, [rsp-4]"); // int i;
asm("mul rcx"); // rax = i*x;
asm("mov rcx, [a]"); // global int a;
asm("mul rcx"); // rax = a*i*x;
asm("mov rcx, [b]"); // global int b;
asm("mul rcx"); // rax = b*a*i*x;
// return value is in rax
// stack adjusted by gcc and 'ret' is added by gcc
}

void printstring(char *q){
asm("mov rsi, [rsp-8]"); // q*
asm("mov rax, 1");
asm("mov rdi, 1");
asm("mov rdx, 0xD");
asm("syscall");
// stack adjusted by gcc and 'ret' is added by gcc
}

int main(int argc, char **argv){
char p[] = "Hello world!\n";
int y;

a = 10; b = 2;
y = foo(3);
printstring(p);
printf("foo return value: y = %d\n", y);

return 0;
}

Комментарии

Информация по комментариям в разработке

Похожие видео

  • О нас
  • Контакты
  • Отказ от ответственности - Disclaimer
  • Условия использования сайта - TOS
  • Политика конфиденциальности

video2dn Copyright © 2023 - 2025

Контакты для правообладателей [email protected]