Units
Translation components API.
See the Weblate's Web API documentation for detailed description of the API.
GET /api/translations/documentation/booksdevelopers-handbookx86_index/fr/units/?format=api
https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/units/?format=api&page=2", "previous": null, "results": [ { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "x86 Assembly Language Programming" ], "previous_source": "", "target": [ "" ], "id_hash": -5988707250265578468, "content_hash": -5988707250265578468, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:1, documentation/content/en/books/developers-handbook/x86/_index.adoc:14", "context": "", "note": "type: Title =", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 1, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 4, "source_unit": "https://translate-dev.freebsd.org/api/units/1078580/?format=api", "priority": 100, "id": 1752537, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=2ce3d67c441d241c", "url": "https://translate-dev.freebsd.org/api/units/1752537/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.794329Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "Chapter 11. x86 Assembly Language Programming" ], "previous_source": "", "target": [ "" ], "id_hash": 5432724819755322272, "content_hash": 5432724819755322272, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:1", "context": "", "note": "type: YAML Front Matter: title", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 2, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 6, "source_unit": "https://translate-dev.freebsd.org/api/units/1078578/?format=api", "priority": 100, "id": 1752538, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=cb64ea7093f6cba0", "url": "https://translate-dev.freebsd.org/api/units/1752538/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.795229Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "_This chapter was written by {stanislav}._" ], "previous_source": "", "target": [ "" ], "id_hash": 562737571151199750, "content_hash": 562737571151199750, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:52", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 3, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 6, "source_unit": "https://translate-dev.freebsd.org/api/units/1078582/?format=api", "priority": 100, "id": 1752539, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=87cf3ed6e63bbe06", "url": "https://translate-dev.freebsd.org/api/units/1752539/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.795995Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "Synopsis" ], "previous_source": "", "target": [ "" ], "id_hash": -6651481047257516920, "content_hash": -6651481047257516920, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:54", "context": "", "note": "type: Title ==", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 4, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 1, "source_unit": "https://translate-dev.freebsd.org/api/units/1078584/?format=api", "priority": 100, "id": 1752540, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=23b1313a83f8f488", "url": "https://translate-dev.freebsd.org/api/units/1752540/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.796724Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "Assembly language programming under UNIX(R) is highly undocumented. It is generally assumed that no one would ever want to use it because various UNIX(R) systems run on different microprocessors, so everything should be written in C for portability." ], "previous_source": "", "target": [ "" ], "id_hash": -2361550595422593899, "content_hash": -2361550595422593899, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:58", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 5, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 38, "source_unit": "https://translate-dev.freebsd.org/api/units/1195056/?format=api", "priority": 100, "id": 1752541, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=5f3a163ed8b95c95", "url": "https://translate-dev.freebsd.org/api/units/1752541/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.797404Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "In reality, C portability is quite a myth. Even C programs need to be modified when ported from one UNIX(R) to another, regardless of what processor each runs on. Typically, such a program is full of conditional statements depending on the system it is compiled for." ], "previous_source": "", "target": [ "" ], "id_hash": -5607360614743392621, "content_hash": -5607360614743392621, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:62", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 6, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 46, "source_unit": "https://translate-dev.freebsd.org/api/units/1195058/?format=api", "priority": 100, "id": 1752542, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=322ea73adeb43e93", "url": "https://translate-dev.freebsd.org/api/units/1752542/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.798103Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "Even if we believe that all of UNIX(R) software should be written in C, or some other high-level language, we still need assembly language programmers: Who else would write the section of C library that accesses the kernel?" ], "previous_source": "", "target": [ "" ], "id_hash": -3840589323739678335, "content_hash": -3840589323739678335, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:64", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 7, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 38, "source_unit": "https://translate-dev.freebsd.org/api/units/1078590/?format=api", "priority": 100, "id": 1752543, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=4ab37c5bbe56b981", "url": "https://translate-dev.freebsd.org/api/units/1752543/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.798842Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "In this chapter I will attempt to show you how you can use assembly language writing UNIX(R) programs, specifically under FreeBSD." ], "previous_source": "", "target": [ "" ], "id_hash": 1580362682292131516, "content_hash": 1580362682292131516, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:66", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 8, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 21, "source_unit": "https://translate-dev.freebsd.org/api/units/1078592/?format=api", "priority": 100, "id": 1752544, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=95ee937c864e56bc", "url": "https://translate-dev.freebsd.org/api/units/1752544/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.799572Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "This chapter does not explain the basics of assembly language. There are enough resources about that (for a complete online course in assembly language, see Randall Hyde's http://webster.cs.ucr.edu/[Art of Assembly Language]; or if you prefer a printed book, take a look at Jeff Duntemann's Assembly Language Step-by-Step (ISBN: 0471375233). However, once the chapter is finished, any assembly language programmer will be able to write programs for FreeBSD quickly and efficiently." ], "previous_source": "", "target": [ "" ], "id_hash": 7004425182607171404, "content_hash": 7004425182607171404, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:71", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 9, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 70, "source_unit": "https://translate-dev.freebsd.org/api/units/1195060/?format=api", "priority": 100, "id": 1752545, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=e134b797b119df4c", "url": "https://translate-dev.freebsd.org/api/units/1752545/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.800272Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "Copyright (R) 2000-2001 G. Adam Stanislav. All rights reserved." ], "previous_source": "", "target": [ "" ], "id_hash": 67149576610890843, "content_hash": 67149576610890843, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:73, documentation/content/en/books/developers-handbook/x86/_index.adoc:4310", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 10, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 9, "source_unit": "https://translate-dev.freebsd.org/api/units/1078596/?format=api", "priority": 100, "id": 1752546, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=80ee902f24b5c45b", "url": "https://translate-dev.freebsd.org/api/units/1752546/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.801059Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "The Tools" ], "previous_source": "", "target": [ "" ], "id_hash": 9107769085332231644, "content_hash": 9107769085332231644, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:75", "context": "", "note": "type: Title ==", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 11, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 2, "source_unit": "https://translate-dev.freebsd.org/api/units/1078598/?format=api", "priority": 100, "id": 1752547, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=fe654bba638315dc", "url": "https://translate-dev.freebsd.org/api/units/1752547/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.801727Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "The Assembler" ], "previous_source": "", "target": [ "" ], "id_hash": 5378426506302298922, "content_hash": 5378426506302298922, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:78", "context": "", "note": "type: Title ===", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 12, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 2, "source_unit": "https://translate-dev.freebsd.org/api/units/1078600/?format=api", "priority": 100, "id": 1752548, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=caa402694eb19b2a", "url": "https://translate-dev.freebsd.org/api/units/1752548/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.802402Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "The most important tool for assembly language programming is the assembler, the software that converts assembly language code into machine language." ], "previous_source": "", "target": [ "" ], "id_hash": -1436845756218541331, "content_hash": -1436845756218541331, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:81", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 13, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 21, "source_unit": "https://translate-dev.freebsd.org/api/units/1078602/?format=api", "priority": 100, "id": 1752549, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=6c0f4c65bf90faed", "url": "https://translate-dev.freebsd.org/api/units/1752549/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.803049Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "Three very different assemblers are available for FreeBSD. Both man:llvm-as[1] (included in package:devel/llvm[]) and man:as[1] (included in package:devel/binutils[]) use the traditional UNIX(R) assembly language syntax." ], "previous_source": "", "target": [ "" ], "id_hash": -6876572303186246642, "content_hash": -6876572303186246642, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:84", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 14, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 25, "source_unit": "https://translate-dev.freebsd.org/api/units/1603575/?format=api", "priority": 100, "id": 1752550, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=209181ec844b440e", "url": "https://translate-dev.freebsd.org/api/units/1752550/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.803705Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "On the other hand, man:nasm[1] (installed through package:devel/nasm[]) uses the Intel syntax. Its main advantage is that it can assemble code for many operating systems." ], "previous_source": "", "target": [ "" ], "id_hash": -2207536218161345368, "content_hash": -2207536218161345368, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:87", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 15, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 25, "source_unit": "https://translate-dev.freebsd.org/api/units/1603577/?format=api", "priority": 100, "id": 1752551, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=615d41816faf0ca8", "url": "https://translate-dev.freebsd.org/api/units/1752551/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.804381Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "This chapter uses nasm syntax because most assembly language programmers coming to FreeBSD from other operating systems will find it easier to understand. And, because, quite frankly, that is what I am used to." ], "previous_source": "", "target": [ "" ], "id_hash": -9144123197148693460, "content_hash": -9144123197148693460, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:90", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 16, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 34, "source_unit": "https://translate-dev.freebsd.org/api/units/1195066/?format=api", "priority": 100, "id": 1752552, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=01198c665b8afc2c", "url": "https://translate-dev.freebsd.org/api/units/1752552/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.805072Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "The Linker" ], "previous_source": "", "target": [ "" ], "id_hash": -4768831300229728450, "content_hash": -4768831300229728450, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:92", "context": "", "note": "type: Title ===", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 17, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 2, "source_unit": "https://translate-dev.freebsd.org/api/units/1078610/?format=api", "priority": 100, "id": 1752553, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=3dd1b532e40af73e", "url": "https://translate-dev.freebsd.org/api/units/1752553/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.805765Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "The output of the assembler, like that of any compiler, needs to be linked to form an executable file." ], "previous_source": "", "target": [ "" ], "id_hash": -284565056093161989, "content_hash": -284565056093161989, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:95", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 18, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 19, "source_unit": "https://translate-dev.freebsd.org/api/units/1078612/?format=api", "priority": 100, "id": 1752554, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=7c0d0596d413f5fb", "url": "https://translate-dev.freebsd.org/api/units/1752554/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.806420Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "The standard man:ld[1] linker comes with FreeBSD. It works with the code assembled with either assembler." ], "previous_source": "", "target": [ "" ], "id_hash": -3867599226535546240, "content_hash": -3867599226535546240, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:98", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 19, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 16, "source_unit": "https://translate-dev.freebsd.org/api/units/1195068/?format=api", "priority": 100, "id": 1752555, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=4a5386feb0c5f280", "url": "https://translate-dev.freebsd.org/api/units/1752555/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.807101Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "System Calls" ], "previous_source": "", "target": [ "" ], "id_hash": 2585615995203731015, "content_hash": 2585615995203731015, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:100", "context": "", "note": "type: Title ==", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 20, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 2, "source_unit": "https://translate-dev.freebsd.org/api/units/1078616/?format=api", "priority": 100, "id": 1752556, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=a3e1f40c67afbe47", "url": "https://translate-dev.freebsd.org/api/units/1752556/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.807765Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "Default Calling Convention" ], "previous_source": "", "target": [ "" ], "id_hash": -8795743314540725567, "content_hash": -8795743314540725567, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:103", "context": "", "note": "type: Title ===", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 21, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 3, "source_unit": "https://translate-dev.freebsd.org/api/units/1078618/?format=api", "priority": 100, "id": 1752557, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=05ef3e0ea9487ac1", "url": "https://translate-dev.freebsd.org/api/units/1752557/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.808417Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "By default, the FreeBSD kernel uses the C calling convention. Further, although the kernel is accessed using `int 80h`, it is assumed the program will call a function that issues `int 80h`, rather than issuing `int 80h` directly." ], "previous_source": "", "target": [ "" ], "id_hash": -835637568877488344, "content_hash": -835637568877488344, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:107", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 22, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 38, "source_unit": "https://translate-dev.freebsd.org/api/units/1195070/?format=api", "priority": 100, "id": 1752558, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=7467380efa161728", "url": "https://translate-dev.freebsd.org/api/units/1752558/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.809075Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "This convention is very convenient, and quite superior to the Microsoft(R) convention used by MS-DOS(R). Why? Because the UNIX(R) convention allows any program written in any language to access the kernel." ], "previous_source": "", "target": [ "" ], "id_hash": -4931406029707794502, "content_hash": -4931406029707794502, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:110", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 23, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 31, "source_unit": "https://translate-dev.freebsd.org/api/units/1195072/?format=api", "priority": 100, "id": 1752559, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=3b902057fc0c27ba", "url": "https://translate-dev.freebsd.org/api/units/1752559/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.809751Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "An assembly language program can do that as well. For example, we could open a file:" ], "previous_source": "", "target": [ "" ], "id_hash": 1094040728983940118, "content_hash": 1094040728983940118, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:113", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 24, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 16, "source_unit": "https://translate-dev.freebsd.org/api/units/1195074/?format=api", "priority": 100, "id": 1752560, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=8f2ed03f1ce5ac16", "url": "https://translate-dev.freebsd.org/api/units/1752560/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.810424Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "kernel:\n\tint\t80h\t; Call kernel\n\tret\n" ], "previous_source": "", "target": [ "" ], "id_hash": -8555147417523765085, "content_hash": -8555147417523765085, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:119", "context": "", "note": "type: delimited block . 4", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 25, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 7, "source_unit": "https://translate-dev.freebsd.org/api/units/1078626/?format=api", "priority": 100, "id": 1752561, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=094602c0396540a3", "url": "https://translate-dev.freebsd.org/api/units/1752561/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.811117Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "open:\n\tpush\tdword mode\n\tpush\tdword flags\n\tpush\tdword path\n\tmov\teax, 5\n\tcall\tkernel\n\tadd\tesp, byte 12\n\tret\n" ], "previous_source": "", "target": [ "" ], "id_hash": 963620980046143679, "content_hash": 963620980046143679, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:128", "context": "", "note": "type: delimited block . 4", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 26, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 20, "source_unit": "https://translate-dev.freebsd.org/api/units/1078628/?format=api", "priority": 100, "id": 1752562, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=8d5f782d05c3a0bf", "url": "https://translate-dev.freebsd.org/api/units/1752562/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.811821Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "This is a very clean and portable way of coding. If you need to port the code to a UNIX(R) system which uses a different interrupt, or a different way of passing parameters, all you need to change is the kernel procedure." ], "previous_source": "", "target": [ "" ], "id_hash": -8718031009145926145, "content_hash": -8718031009145926145, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:132", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 27, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 42, "source_unit": "https://translate-dev.freebsd.org/api/units/1195076/?format=api", "priority": 100, "id": 1752563, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=070354fcbf044dff", "url": "https://translate-dev.freebsd.org/api/units/1752563/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.812548Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "But assembly language programmers like to shave off cycles. The above example requires a `call/ret` combination. We can eliminate it by ``push``ing an extra dword:" ], "previous_source": "", "target": [ "" ], "id_hash": 655601542167117811, "content_hash": 655601542167117811, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:136", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 28, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 25, "source_unit": "https://translate-dev.freebsd.org/api/units/1195078/?format=api", "priority": 100, "id": 1752564, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=89192a210b11bff3", "url": "https://translate-dev.freebsd.org/api/units/1752564/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.813232Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "open:\n\tpush\tdword mode\n\tpush\tdword flags\n\tpush\tdword path\n\tmov\teax, 5\n\tpush\teax\t\t; Or any other dword\n\tint\t80h\n\tadd\tesp, byte 16\n" ], "previous_source": "", "target": [ "" ], "id_hash": 5095936413588228802, "content_hash": 5095936413588228802, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:147", "context": "", "note": "type: delimited block . 4", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 29, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 26, "source_unit": "https://translate-dev.freebsd.org/api/units/1078634/?format=api", "priority": 100, "id": 1752565, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=c6b8672b31e78ac2", "url": "https://translate-dev.freebsd.org/api/units/1752565/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.813962Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "The `5` that we have placed in `EAX` identifies the kernel function, in this case `open`." ], "previous_source": "", "target": [ "" ], "id_hash": 613696087180575323, "content_hash": 613696087180575323, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:150", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 30, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 16, "source_unit": "https://translate-dev.freebsd.org/api/units/1078636/?format=api", "priority": 100, "id": 1752566, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=88844956fc72025b", "url": "https://translate-dev.freebsd.org/api/units/1752566/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.814642Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "Alternate Calling Convention" ], "previous_source": "", "target": [ "" ], "id_hash": -1686243485083479440, "content_hash": -1686243485083479440, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:152", "context": "", "note": "type: Title ===", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 31, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 3, "source_unit": "https://translate-dev.freebsd.org/api/units/1078638/?format=api", "priority": 100, "id": 1752567, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=6899427c02c85270", "url": "https://translate-dev.freebsd.org/api/units/1752567/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.815298Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "FreeBSD is an extremely flexible system. It offers other ways of calling the kernel. For it to work, however, the system must have Linux emulation installed." ], "previous_source": "", "target": [ "" ], "id_hash": 1503052657472706622, "content_hash": 1503052657472706622, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:157", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 32, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 26, "source_unit": "https://translate-dev.freebsd.org/api/units/1195080/?format=api", "priority": 100, "id": 1752568, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=94dbea6daf5e183e", "url": "https://translate-dev.freebsd.org/api/units/1752568/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.815935Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "Linux is a UNIX(R) like system. However, its kernel uses the same system-call convention of passing parameters in registers MS-DOS(R) does. As with the UNIX(R) convention, the function number is placed in `EAX`. The parameters, however, are not passed on the stack but in `EBX, ECX, EDX, ESI, EDI, EBP`:" ], "previous_source": "", "target": [ "" ], "id_hash": 3958118363990051629, "content_hash": 3958118363990051629, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:162", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 33, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 50, "source_unit": "https://translate-dev.freebsd.org/api/units/1195082/?format=api", "priority": 100, "id": 1752569, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=b6ee0fae5893cb2d", "url": "https://translate-dev.freebsd.org/api/units/1752569/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.816627Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "open:\n\tmov\teax, 5\n\tmov\tebx, path\n\tmov\tecx, flags\n\tmov\tedx, mode\n\tint\t80h\n" ], "previous_source": "", "target": [ "" ], "id_hash": -7488087531542427824, "content_hash": -7488087531542427824, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:171", "context": "", "note": "type: delimited block . 4", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 34, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 15, "source_unit": "https://translate-dev.freebsd.org/api/units/1078644/?format=api", "priority": 100, "id": 1752570, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=1814f8104b61c750", "url": "https://translate-dev.freebsd.org/api/units/1752570/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.817353Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "This convention has a great disadvantage over the UNIX(R) way, at least as far as assembly language programming is concerned: Every time you make a kernel call you must `push` the registers, then `pop` them later. This makes your code bulkier and slower. Nevertheless, FreeBSD gives you a choice." ], "previous_source": "", "target": [ "" ], "id_hash": 3005688592736265969, "content_hash": 3005688592736265969, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:177", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 35, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 49, "source_unit": "https://translate-dev.freebsd.org/api/units/1195084/?format=api", "priority": 100, "id": 1752571, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=a9b659d9ab7d26f1", "url": "https://translate-dev.freebsd.org/api/units/1752571/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.818007Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "If you do choose the Linux convention, you must let the system know about it. After your program is assembled and linked, you need to brand the executable:" ], "previous_source": "", "target": [ "" ], "id_hash": 6646906355421501784, "content_hash": 6646906355421501784, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:180", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 36, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 28, "source_unit": "https://translate-dev.freebsd.org/api/units/1195086/?format=api", "priority": 100, "id": 1752572, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=dc3e8e1d0a2f5958", "url": "https://translate-dev.freebsd.org/api/units/1752572/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.818733Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "% brandelf -t Linux filename\n" ], "previous_source": "", "target": [ "" ], "id_hash": -7343916695668178012, "content_hash": -7343916695668178012, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:184", "context": "", "note": "type: delimited block . 4", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 37, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 5, "source_unit": "https://translate-dev.freebsd.org/api/units/1078650/?format=api", "priority": 100, "id": 1752573, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=1a152aaccea343a4", "url": "https://translate-dev.freebsd.org/api/units/1752573/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.819402Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "Which Convention Should You Use?" ], "previous_source": "", "target": [ "" ], "id_hash": -7468456288142267081, "content_hash": -7468456288142267081, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:187", "context": "", "note": "type: Title ===", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 38, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 5, "source_unit": "https://translate-dev.freebsd.org/api/units/1078652/?format=api", "priority": 100, "id": 1752574, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=185ab69354bf6d37", "url": "https://translate-dev.freebsd.org/api/units/1752574/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.820068Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "If you are coding specifically for FreeBSD, you should always use the UNIX(R) convention: It is faster, you can store global variables in registers, you do not have to brand the executable, and you do not impose the installation of the Linux emulation package on the target system." ], "previous_source": "", "target": [ "" ], "id_hash": 2421933943570561260, "content_hash": 2421933943570561260, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:192", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 39, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 48, "source_unit": "https://translate-dev.freebsd.org/api/units/1078654/?format=api", "priority": 100, "id": 1752575, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=a19c7016f7fbf8ec", "url": "https://translate-dev.freebsd.org/api/units/1752575/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.820720Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "If you want to create portable code that can also run on Linux, you will probably still want to give the FreeBSD users as efficient a code as possible. I will show you how you can accomplish that after I have explained the basics." ], "previous_source": "", "target": [ "" ], "id_hash": 5679124329360501397, "content_hash": 5679124329360501397, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:195", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 40, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 44, "source_unit": "https://translate-dev.freebsd.org/api/units/1195088/?format=api", "priority": 100, "id": 1752576, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=ced04d7cfecfaa95", "url": "https://translate-dev.freebsd.org/api/units/1752576/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.821396Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "Call Numbers" ], "previous_source": "", "target": [ "" ], "id_hash": -3354403240366303537, "content_hash": -3354403240366303537, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:197", "context": "", "note": "type: Title ===", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 41, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 2, "source_unit": "https://translate-dev.freebsd.org/api/units/1078658/?format=api", "priority": 100, "id": 1752577, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=5172c406788c16cf", "url": "https://translate-dev.freebsd.org/api/units/1752577/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.822074Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "To tell the kernel which system service you are calling, place its number in `EAX`. Of course, you need to know what the number is." ], "previous_source": "", "target": [ "" ], "id_hash": -8620232079573326359, "content_hash": -8620232079573326359, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:201", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 42, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 25, "source_unit": "https://translate-dev.freebsd.org/api/units/1195090/?format=api", "priority": 100, "id": 1752578, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=085ec898779ae5e9", "url": "https://translate-dev.freebsd.org/api/units/1752578/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.822751Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "The [.filename]#syscalls# File" ], "previous_source": "", "target": [ "" ], "id_hash": 8035381172647707252, "content_hash": 8035381172647707252, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:203", "context": "", "note": "type: Title ====", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 43, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 3, "source_unit": "https://translate-dev.freebsd.org/api/units/1078662/?format=api", "priority": 100, "id": 1752579, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=ef83689a6e874274", "url": "https://translate-dev.freebsd.org/api/units/1752579/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.823413Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "The numbers are listed in [.filename]#syscalls#. `locate syscalls` finds this file in several different formats, all produced automatically from [.filename]#syscalls.master#." ], "previous_source": "", "target": [ "" ], "id_hash": -2688143830512522158, "content_hash": -2688143830512522158, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:207", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 44, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 20, "source_unit": "https://translate-dev.freebsd.org/api/units/1195092/?format=api", "priority": 100, "id": 1752580, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=5ab1cb6db524ac52", "url": "https://translate-dev.freebsd.org/api/units/1752580/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.824121Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "You can find the master file for the default UNIX(R) calling convention in [.filename]#/usr/src/sys/kern/syscalls.master#. If you need to use the other convention implemented in the Linux emulation mode, read [.filename]#/usr/src/sys/i386/linux/syscalls.master#." ], "previous_source": "", "target": [ "" ], "id_hash": -1614184985582222848, "content_hash": -1614184985582222848, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:210", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 45, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 30, "source_unit": "https://translate-dev.freebsd.org/api/units/1195094/?format=api", "priority": 100, "id": 1752581, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=6999434ed49a4200", "url": "https://translate-dev.freebsd.org/api/units/1752581/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.824789Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "Not only do FreeBSD and Linux use different calling conventions, they sometimes use different numbers for the same functions." ], "previous_source": "", "target": [ "" ], "id_hash": -1703089971930506029, "content_hash": -1703089971930506029, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:214", "context": "", "note": "type: delimited block = 4", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 46, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 19, "source_unit": "https://translate-dev.freebsd.org/api/units/1078668/?format=api", "priority": 100, "id": 1752582, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=685d68b1a28d5cd3", "url": "https://translate-dev.freebsd.org/api/units/1752582/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.825459Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "[.filename]#syscalls.master# describes how the call is to be made:" ], "previous_source": "", "target": [ "" ], "id_hash": 6028831124325755751, "content_hash": 6028831124325755751, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:217", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 47, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 9, "source_unit": "https://translate-dev.freebsd.org/api/units/1078670/?format=api", "priority": 100, "id": 1752583, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=d3aab5f728416b67", "url": "https://translate-dev.freebsd.org/api/units/1752583/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.826164Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "0\tSTD\tNOHIDE\t{ int nosys(void); } syscall nosys_args int\n1\tSTD\tNOHIDE\t{ void exit(int rval); } exit rexit_args void\n2\tSTD\tPOSIX\t{ int fork(void); }\n3\tSTD\tPOSIX\t{ ssize_t read(int fd, void *buf, size_t nbyte); }\n4\tSTD\tPOSIX\t{ ssize_t write(int fd, const void *buf, size_t nbyte); }\n5\tSTD\tPOSIX\t{ int open(char *path, int flags, int mode); }\n6\tSTD\tPOSIX\t{ int close(int fd); }\netc...\n" ], "previous_source": "", "target": [ "" ], "id_hash": 1229577853571852138, "content_hash": 1229577853571852138, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:228", "context": "", "note": "type: delimited block . 4", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 48, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 74, "source_unit": "https://translate-dev.freebsd.org/api/units/1078672/?format=api", "priority": 100, "id": 1752584, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=9110568b11d6676a", "url": "https://translate-dev.freebsd.org/api/units/1752584/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.826928Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "It is the leftmost column that tells us the number to place in `EAX`." ], "previous_source": "", "target": [ "" ], "id_hash": 7639973746665131780, "content_hash": 7639973746665131780, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:231", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 49, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 14, "source_unit": "https://translate-dev.freebsd.org/api/units/1078674/?format=api", "priority": 100, "id": 1752585, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=ea06a3a4ef490f04", "url": "https://translate-dev.freebsd.org/api/units/1752585/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.827568Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/fr/?format=api", "source": [ "The rightmost column tells us what parameters to `push`. They are ``push``ed _from right to left_." ], "previous_source": "", "target": [ "" ], "id_hash": 4725025968577396714, "content_hash": 4725025968577396714, "location": "documentation/content/en/books/developers-handbook/x86/_index.adoc:234", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 50, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 16, "source_unit": "https://translate-dev.freebsd.org/api/units/1195096/?format=api", "priority": 100, "id": 1752586, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbookx86_index/fr/?checksum=c192aa158b8d3fea", "url": "https://translate-dev.freebsd.org/api/units/1752586/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2025-01-22T18:09:10.828176Z" } ] }{ "count": 934, "next": "