Units API.

See the Weblate's Web API documentation for detailed description of the API.

GET /api/units/31293/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, DELETE, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "translation": "https://translate-dev.freebsd.org/api/translations/freebsd-doc/boooks_arch-handbook/pt_BR/?format=api",
    "source": [
        "Note that the client's environment include a stack segment selector and stack pointer (registers <literal>%ss</literal> and <literal>%esp</literal>). Indeed, once the <acronym>TR</acronym> is loaded with the appropriate stack segment selector (instruction <literal>ltr</literal>), the stack pointer is calculated and pushed onto the stack along with the stack's segment selector. Next, the value <literal>0x202</literal> is pushed onto the stack; it is the value that the EFLAGS will get when control is passed to the client. Also, the User Mode code segment selector and the client's entry point are pushed. Recall that this entry point is patched in the <acronym>BTX</acronym> header at link time. Finally, segment selectors (stored in register <literal>%ecx</literal>) for the segment registers <literal>%gs, %fs, %ds and %es</literal> are pushed onto the stack, along with the value at <literal>%edx</literal> (<literal>0xa000</literal>). Keep in mind the various values that have been pushed onto the stack (they will be popped out shortly). Next, values for the remaining general purpose registers are also pushed onto the stack (note the <literal>loop</literal> that pushes the value <literal>0</literal> seven times). Now, values will be started to be popped out of the stack. First, the <literal>popa</literal> instruction pops out of the stack the latest seven values pushed. They are stored in the general purpose registers in order <literal>%edi, %esi, %ebp, %ebx, %edx, %ecx, %eax</literal>. Then, the various segment selectors pushed are popped into the various segment registers. Five values still remain on the stack. They are popped when the <literal>iret</literal> instruction is executed. This instruction first pops the value that was pushed from the <acronym>BTX</acronym> header. This value is a pointer to <filename>boot2</filename>'s entry point. It is placed in the register <literal>%eip</literal>, the instruction pointer register. Next, the segment selector for the User Code Segment is popped and copied to register <literal>%cs</literal>. Remember that this segment's privilege level is 3, the least privileged level. This means that we must provide values for the stack of this privilege level. This is why the processor, besides further popping the value for the EFLAGS register, does two more pops out of the stack. These values go to the stack pointer (<literal>%esp</literal>) and the stack segment (<literal>%ss</literal>). Now, execution continues at <literal>boot0</literal>'s entry point."
    ],
    "previous_source": "",
    "target": [
        "Note que o ambiente do cliente inclui um seletor de segmento de pilha e ponteiro de pilha (registros <literal> % ss </literal> e <literal> % esp </literal> ). Na verdade, uma vez que o <acronym>TR</acronym> � carregado com o seletor de segmento de pilha apropriado (instru��o <literal> ltr </literal> ), o ponteiro da pilha � calculado e colocado na pilha junto com o seletor de segmento da pilha. Em seguida, o valor <literal> 0x202 </literal> � empurrado para a pilha; � o valor que o EFLAGS obter� quando o controle for passado para o cliente. Al�m disso, o seletor de segmento de c�digo do modo de usu�rio e o ponto de entrada do cliente s�o pressionados. Lembre-se de que esse ponto de entrada � corrigido no cabe�alho <acronym>BTX</acronym> no momento do link. Finalmente, os seletores de segmento (armazenados no registrador <literal> % ecx </literal> ) para os registros de segmento <literal> % gs,% fs,% ds e% es </literal> s�o empurrados para a pilha, juntamente com o valor em <literal> % edx </literal> ( <literal> 0xa000 </literal> ). Tenha em mente os v�rios valores que foram colocados na pilha (eles ser�o exibidos em breve). Em seguida, os valores dos demais registradores de prop�sito geral tamb�m s�o colocados na pilha (observe <literal> la�o </literal> que empurra o valor <literal> 0 </literal> sete vezes). Agora, os valores ser�o iniciados para serem removidos da pilha. Primeiro, o <literal> popa </literal> instru��o sai da pilha os �ltimos sete valores empurrados. Eles s�o armazenados nos registros de prop�sito geral para <literal> % edi,% esi,% ebp,% ebx,% edx,% ecx,% eax </literal> . Em seguida, os v�rios seletores de segmento pressionados s�o exibidos nos v�rios registros de segmento. Cinco valores ainda permanecem na pilha. Eles s�o popped quando o <literal> iret </literal> instru��o � executada. Esta instru��o primeiro mostra o valor que foi empurrado do cabe�alho <acronym>BTX</acronym> . Este valor � um ponteiro para <filename> boot2 </filename> ponto de entrada. Ele � colocado no registro <literal> % eip </literal> , o registrador de ponteiros de instru��o. Em seguida, o seletor de segmento do segmento de c�digo do usu�rio � exibido e copiado para registro <literal> % cs </literal> . Lembre-se de que o n�vel de privil�gio deste segmento � 3, o n�vel menos privilegiado. Isso significa que devemos fornecer valores para a pilha desse n�vel de privil�gio. � por isso que o processador, al�m de aumentar o valor do registrador EFLAGS, faz mais dois pops da pilha. Esses valores v�o para o ponteiro da pilha ( <literal> % esp </literal> ) e o segmento da pilha ( <literal> % ss </literal> ). Agora, a execu��o continua em <literal> boot0 </literal> ponto de entrada. "
    ],
    "id_hash": 8627215923189205664,
    "content_hash": 8627215923189205664,
    "location": "book.translate.xml:1945",
    "context": "",
    "note": "(itstool) path: sect1/para",
    "flags": "",
    "labels": [],
    "state": 10,
    "fuzzy": true,
    "translated": false,
    "approved": false,
    "position": 196,
    "has_suggestion": false,
    "has_comment": false,
    "has_failing_check": true,
    "num_words": 360,
    "source_unit": "https://translate-dev.freebsd.org/api/units/102339/?format=api",
    "priority": 100,
    "id": 31293,
    "web_url": "https://translate-dev.freebsd.org/translate/freebsd-doc/boooks_arch-handbook/pt_BR/?checksum=f7ba072c56494aa0",
    "url": "https://translate-dev.freebsd.org/api/units/31293/?format=api",
    "explanation": "",
    "extra_flags": "",
    "pending": false,
    "timestamp": "2019-10-20T12:21:44.031790Z"
}