{"guid":"2fd22199-6ded-5230-b959-c568d36f8f57","title":"What every programmer should know about inline assembler","subtitle":null,"slug":"gpn19-121-what-every-programmer-should-know-about-inline-assembler","link":"https://pretalx.entropia.de/gpn19/talk/UV3RDG/","description":"Viele Programmierer kommen mit Inline-Assembler in Berührung, üblicherweise bei\nhardwarenaher Programmierung oder dem Bestreben noch etwas Geschwindigkeit aus\ndem Rechner rauszuquetschen.  Der Inline-Assembler von GCC ist sehr vielseitig,\nverlangt jedoch beim Umgang große Sorgfalt und leider kursieren viele\nFehlinformationen darüber.  In diesem Vortrag möchte ich mit letzeren\naufräumen, seine Funktionsweise erklären, die korrekte Verwendung darlegen und\nzeigen, wie man ihn einsetzt -- und wann eben auch nicht.","original_language":"deu","persons":["Christoph Mallon"],"view_count":290,"promoted":false,"date":"2019-05-31T00:00:00.000+02:00","release_date":"2019-05-31T02:00:00.000+02:00","updated_at":"2026-03-09T19:45:05.862+01:00","tags":["gpn19","121","GPN","gpn19","Gulasch","Programmier","Nacht","Karlsruhe","Error","Entropia"],"length":3379,"duration":3379,"thumb_url":"https://static.media.ccc.de/media/events/gpn/gpn19/121-hd.jpg","poster_url":"https://static.media.ccc.de/media/events/gpn/gpn19/121-hd_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/gpn/gpn19/121-hd.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/gpn/gpn19/121-hd.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/gpn19-121-what-every-programmer-should-know-about-inline-assembler","url":"https://api.media.ccc.de/public/events/2fd22199-6ded-5230-b959-c568d36f8f57","conference_title":"Gulaschprogrammiernacht 19","conference_url":"https://api.media.ccc.de/public/conferences/gpn19","related":[{"event_id":7095,"event_guid":"9e0c19c0-935b-5f08-9fbe-a9daaebbc2c6","weight":12},{"event_id":7099,"event_guid":"756ad06c-d1f8-5867-acc6-eafb5eea3b90","weight":2},{"event_id":7100,"event_guid":"d4c06f9d-2021-5194-b65e-cfd92c086879","weight":11},{"event_id":7102,"event_guid":"045f855d-1bd3-5c93-b9f3-74c5347f4ce8","weight":12},{"event_id":7103,"event_guid":"b8b3a361-4832-518c-a850-7c354e2e975f","weight":2},{"event_id":7109,"event_guid":"3878fd29-4440-50af-8700-63f4391bd42e","weight":14},{"event_id":7110,"event_guid":"3e7f1444-b72c-594f-b033-d96b21c1961c","weight":17},{"event_id":7112,"event_guid":"3d00e8e0-4193-5e3a-bea4-ac3dbb32ce31","weight":8},{"event_id":7116,"event_guid":"40ecb878-6d04-5aa6-bfa4-afeddaf3bb81","weight":14},{"event_id":7120,"event_guid":"911f8286-875e-50a9-a298-2c8ffbe06fa7","weight":11},{"event_id":7121,"event_guid":"1089da9b-4f3a-5b05-a9c3-712e2145cff7","weight":13},{"event_id":7124,"event_guid":"4ad50a8c-38de-5023-9cde-06b1620303b2","weight":6},{"event_id":7140,"event_guid":"2fe507c8-3ad5-56ec-8b9c-87485877ce09","weight":11},{"event_id":7143,"event_guid":"95fb5f56-4e01-5a6f-8fcd-cd6a235c08e0","weight":11},{"event_id":7146,"event_guid":"da767a60-2f04-511e-bcc8-9cb136de77f7","weight":11},{"event_id":7147,"event_guid":"5fe8bbbe-116b-5d42-ad17-90208755ce30","weight":17},{"event_id":7152,"event_guid":"7b1dd85b-e0b4-5626-8ee5-bf8c23951562","weight":11},{"event_id":7153,"event_guid":"e809e177-1a90-53f1-bf93-1f0aeb4c7caf","weight":11},{"event_id":7158,"event_guid":"64e6fe15-bbdd-5b85-b28f-b1f77d83ee11","weight":11}],"recordings":[{"size":201,"length":3379,"mime_type":"video/mp4","language":"deu","filename":"gpn19-121-deu-What_every_programmer_should_know_about_inline_assembler_hd.mp4","state":"new","folder":"h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2019-05-31T16:28:39.553+02:00","recording_url":"https://cdn.media.ccc.de/events/gpn/gpn19/h264-hd/gpn19-121-deu-What_every_programmer_should_know_about_inline_assembler_hd.mp4","url":"https://api.media.ccc.de/public/recordings/35669","event_url":"https://api.media.ccc.de/public/events/2fd22199-6ded-5230-b959-c568d36f8f57","conference_url":"https://api.media.ccc.de/public/conferences/gpn19"},{"size":35,"length":3379,"mime_type":"audio/opus","language":"deu","filename":"gpn19-121-deu-What_every_programmer_should_know_about_inline_assembler_opus.opus","state":"new","folder":"opus","high_quality":false,"width":0,"height":0,"updated_at":"2019-05-31T16:39:35.286+02:00","recording_url":"https://cdn.media.ccc.de/events/gpn/gpn19/opus/gpn19-121-deu-What_every_programmer_should_know_about_inline_assembler_opus.opus","url":"https://api.media.ccc.de/public/recordings/35674","event_url":"https://api.media.ccc.de/public/events/2fd22199-6ded-5230-b959-c568d36f8f57","conference_url":"https://api.media.ccc.de/public/conferences/gpn19"},{"size":51,"length":3379,"mime_type":"audio/mpeg","language":"deu","filename":"gpn19-121-deu-What_every_programmer_should_know_about_inline_assembler_mp3.mp3","state":"new","folder":"mp3","high_quality":false,"width":0,"height":0,"updated_at":"2019-05-31T16:40:05.270+02:00","recording_url":"https://cdn.media.ccc.de/events/gpn/gpn19/mp3/gpn19-121-deu-What_every_programmer_should_know_about_inline_assembler_mp3.mp3","url":"https://api.media.ccc.de/public/recordings/35675","event_url":"https://api.media.ccc.de/public/events/2fd22199-6ded-5230-b959-c568d36f8f57","conference_url":"https://api.media.ccc.de/public/conferences/gpn19"},{"size":92,"length":3379,"mime_type":"video/mp4","language":"deu","filename":"gpn19-121-deu-What_every_programmer_should_know_about_inline_assembler_sd.mp4","state":"new","folder":"h264-sd","high_quality":false,"width":720,"height":576,"updated_at":"2019-05-31T16:41:05.827+02:00","recording_url":"https://cdn.media.ccc.de/events/gpn/gpn19/h264-sd/gpn19-121-deu-What_every_programmer_should_know_about_inline_assembler_sd.mp4","url":"https://api.media.ccc.de/public/recordings/35677","event_url":"https://api.media.ccc.de/public/events/2fd22199-6ded-5230-b959-c568d36f8f57","conference_url":"https://api.media.ccc.de/public/conferences/gpn19"},{"size":151,"length":3379,"mime_type":"video/webm","language":"deu","filename":"gpn19-121-deu-What_every_programmer_should_know_about_inline_assembler_webm-sd.webm","state":"new","folder":"webm-sd","high_quality":false,"width":720,"height":576,"updated_at":"2019-05-31T16:51:37.222+02:00","recording_url":"https://cdn.media.ccc.de/events/gpn/gpn19/webm-sd/gpn19-121-deu-What_every_programmer_should_know_about_inline_assembler_webm-sd.webm","url":"https://api.media.ccc.de/public/recordings/35679","event_url":"https://api.media.ccc.de/public/events/2fd22199-6ded-5230-b959-c568d36f8f57","conference_url":"https://api.media.ccc.de/public/conferences/gpn19"},{"size":348,"length":3379,"mime_type":"video/webm","language":"deu","filename":"gpn19-121-deu-What_every_programmer_should_know_about_inline_assembler_webm-hd.webm","state":"new","folder":"webm-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2019-05-31T17:27:13.077+02:00","recording_url":"https://cdn.media.ccc.de/events/gpn/gpn19/webm-hd/gpn19-121-deu-What_every_programmer_should_know_about_inline_assembler_webm-hd.webm","url":"https://api.media.ccc.de/public/recordings/35689","event_url":"https://api.media.ccc.de/public/events/2fd22199-6ded-5230-b959-c568d36f8f57","conference_url":"https://api.media.ccc.de/public/conferences/gpn19"}]}