Unit Instance
Units API.
See the Weblate's Web API documentation for detailed description of the API.
GET /api/units/1436423/?format=api
https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookboot_index/en/?format=api", "source": [ "As [.filename]#boot0# is loaded by the BIOS to address `0x7C00`, it copies itself to address `0x600` and then transfers control there (recall that it was linked to execute at address `0x600`). The source address, `0x7c00`, is copied to register `%si`. The destination address, `0x600`, to register `%di`. The number of words to copy, `256` (the program's size = 512 bytes), is copied to register `%cx`. Next, the `rep` instruction repeats the instruction that follows, that is, `movsw`, the number of times dictated by the `%cx` register.The `movsw` instruction copies the word pointed to by `%si` to the address pointed to by `%di`. This is repeated another 255 times. On each repetition, both the source and destination registers, `%si` and `%di`, are incremented by one. Thus, upon completion of the 256-word (512-byte) copy, `%di` has the value `0x600`+`512`= `0x800`, and `%si` has the value `0x7c00`+`512`= `0x7e00`; we have thus completed the code _relocation_. Since the last update of this document, the copy instructions have changed in the code, so instead of the movsb and stosb, movsw and stosw have been introduced, which copy 2 bytes(1 word) in one iteration." ], "previous_source": "", "target": [ "As [.filename]#boot0# is loaded by the BIOS to address `0x7C00`, it copies itself to address `0x600` and then transfers control there (recall that it was linked to execute at address `0x600`). The source address, `0x7c00`, is copied to register `%si`. The destination address, `0x600`, to register `%di`. The number of words to copy, `256` (the program's size = 512 bytes), is copied to register `%cx`. Next, the `rep` instruction repeats the instruction that follows, that is, `movsw`, the number of times dictated by the `%cx` register.The `movsw` instruction copies the word pointed to by `%si` to the address pointed to by `%di`. This is repeated another 255 times. On each repetition, both the source and destination registers, `%si` and `%di`, are incremented by one. Thus, upon completion of the 256-word (512-byte) copy, `%di` has the value `0x600`+`512`= `0x800`, and `%si` has the value `0x7c00`+`512`= `0x7e00`; we have thus completed the code _relocation_. Since the last update of this document, the copy instructions have changed in the code, so instead of the movsb and stosb, movsw and stosw have been introduced, which copy 2 bytes(1 word) in one iteration." ], "id_hash": 5565268540495244488, "content_hash": 5565268540495244488, "location": "documentation/content/en/books/arch-handbook/boot/_index.adoc:291", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 100, "fuzzy": false, "translated": true, "approved": false, "position": 50, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 188, "source_unit": "https://translate-dev.freebsd.org/api/units/1436423/?format=api", "priority": 100, "id": 1436423, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookboot_index/en/?checksum=cd3bce4063e02cc8", "url": "https://translate-dev.freebsd.org/api/units/1436423/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2022-07-08T02:58:53.758361Z" }{ "translation": "