aboutsummaryrefslogtreecommitdiff
path: root/documentation/content/ru/books/developers-handbook/x86
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/content/ru/books/developers-handbook/x86')
-rw-r--r--documentation/content/ru/books/developers-handbook/x86/_index.adoc6
-rw-r--r--documentation/content/ru/books/developers-handbook/x86/_index.po388
2 files changed, 204 insertions, 190 deletions
diff --git a/documentation/content/ru/books/developers-handbook/x86/_index.adoc b/documentation/content/ru/books/developers-handbook/x86/_index.adoc
index c44f67bb5c..c4a63de15f 100644
--- a/documentation/content/ru/books/developers-handbook/x86/_index.adoc
+++ b/documentation/content/ru/books/developers-handbook/x86/_index.adoc
@@ -1,11 +1,11 @@
---
-authors:
+authors: ~
description: 'Программирование на ассемблере x86'
next: books/developers-handbook/partv
params:
path: /books/developers-handbook/x86/
prev: books/developers-handbook/partiv
-showBookMenu: true
+showBookMenu: 'true'
tags: ["x86", "guide"]
title: 'Глава 11. Программирование на языке ассемблера для x86'
weight: 15
@@ -1674,7 +1674,7 @@ UNIX(R) позволяет нам отображать файл или его ч
Поскольку наша программа может объединять последовательности возврата каретки / перевода строки в простые переводы строк, наш вывод может быть меньше, чем ввод. Однако, так как мы помещаем вывод в тот же файл, из которого читаем ввод, нам может потребоваться изменить размер файла.
-Системный вызов `ftruncate` позволяет нам сделать именно это. Несмотря на название , несколько вводящее в звблуждение, системный вызов `ftruncate` может использоваться как для усечения файла (уменьшения его размера), так и для его увеличения.
+Системный вызов `ftruncate` позволяет нам сделать именно это. Несмотря на название , несколько вводящее в заблуждение, системный вызов `ftruncate` может использоваться как для усечения файла (уменьшения его размера), так и для его увеличения.
И да, мы найдем две версии `ftruncate` в [.filename]#syscalls.master#, старую (130) и новую (201). Мы будем использовать новую:
diff --git a/documentation/content/ru/books/developers-handbook/x86/_index.po b/documentation/content/ru/books/developers-handbook/x86/_index.po
index 325770cdce..da7f8885be 100644
--- a/documentation/content/ru/books/developers-handbook/x86/_index.po
+++ b/documentation/content/ru/books/developers-handbook/x86/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-12 22:16+0300\n"
-"PO-Revision-Date: 2025-09-26 04:45+0000\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
+"PO-Revision-Date: 2025-10-29 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/booksdevelopers-handbookx86_index/ru/>\n"
@@ -25,7 +25,7 @@ msgstr ""
msgid "x86 Assembly Language Programming"
msgstr "Программирование на ассемблере x86"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:1
#, no-wrap
msgid "Chapter 11. x86 Assembly Language Programming"
@@ -482,8 +482,8 @@ msgid ""
"other convention implemented in the Linux emulation mode, read [.filename]#/"
"usr/src/sys/i386/linux/syscalls.master#."
msgstr ""
-"Основной файл для стандартного соглашения о вызовах UNIX(R) можно найти в "
-"[.filename]#/usr/src/sys/kern/syscalls.master#. Если вам необходимо "
+"Основной файл для стандартного соглашения о вызовах UNIX(R) можно найти в [."
+"filename]#/usr/src/sys/kern/syscalls.master#. Если вам необходимо "
"использовать другое соглашение, реализованное в режиме эмуляции Linux, "
"обратитесь к [.filename]#/usr/src/sys/i386/linux/syscalls.master#."
@@ -499,8 +499,7 @@ msgstr ""
#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:218
msgid "[.filename]#syscalls.master# describes how the call is to be made:"
-msgstr ""
-"[.filename]#syscalls.master# описывает, как должен быть выполнен вызов:"
+msgstr "[.filename]#syscalls.master# описывает, как должен быть выполнен вызов:"
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:229
@@ -599,7 +598,7 @@ msgstr ""
msgid "For example, man:open[2] says:"
msgstr "Например, man:open[2] говорит:"
-#. type: .blockquote
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:258
msgid ""
"If successful, `open()` returns a non-negative integer, termed a file "
@@ -610,7 +609,7 @@ msgstr ""
"файловым дескриптором. В случае ошибки возвращается `-1`, а переменной "
"`errno` присваивается код ошибки."
-#. type: .blockquote
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:260
msgid ""
"The assembly language programmer new to UNIX(R) and FreeBSD will immediately "
@@ -712,8 +711,8 @@ msgid ""
"When using the standard FreeBSD calling convention, the `carry flag` is "
"cleared upon success, set upon failure."
msgstr ""
-"При использовании стандартного соглашения о вызовах FreeBSD флаг `carry "
-"flag` сбрасывается при успехе и устанавливается при неудаче."
+"При использовании стандартного соглашения о вызовах FreeBSD флаг `carry flag`"
+" сбрасывается при успехе и устанавливается при неудаче."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:305
@@ -1325,9 +1324,8 @@ msgid ""
"Go ahead, enter it into your editor and save it as [.filename]#system.inc#. "
"We will add more to it as we discuss more syscalls."
msgstr ""
-"Продолжайте, введите это в ваш редактор и сохраните как "
-"[.filename]#system.inc#. Мы добавим больше по мере обсуждения дополнительных "
-"системных вызовов."
+"Продолжайте, введите это в ваш редактор и сохраните как [.filename]#system."
+"inc#. Мы добавим больше по мере обсуждения дополнительных системных вызовов."
#. type: Title ==
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:539
@@ -1394,8 +1392,8 @@ msgid ""
"Here is what it does: Line 1 includes the defines, the macros, and the code "
"from [.filename]#system.inc#."
msgstr ""
-"Вот что он делает: Строка 1 включает определения, макросы и код из файла "
-"[.filename]#system.inc#."
+"Вот что он делает: Строка 1 включает определения, макросы и код из файла [."
+"filename]#system.inc#."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:568
@@ -1406,9 +1404,8 @@ msgid ""
"bytes."
msgstr ""
"Строки 3-5 содержат данные: строка 3 начинает раздел/сегмент данных. Строка "
-"4 содержит строку \"Hello, World!\", за которой следует новая строка "
-"(`0Ah`). Строка 5 создает константу, содержащую длину строки из строки 4 в "
-"байтах."
+"4 содержит строку \"Hello, World!\", за которой следует новая строка (`0Ah`)"
+". Строка 5 создает константу, содержащую длину строки из строки 4 в байтах."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:572
@@ -1456,8 +1453,8 @@ msgstr ""
"Если вы перешли на UNIX(R) с опытом программирования на ассемблере для MS-"
"DOS(R), вы, возможно, привыкли писать напрямую в видеопамять. В FreeBSD или "
"любой другой разновидности UNIX(R) вам не придётся об этом беспокоиться. С "
-"вашей точки зрения, вы записываете данные в файл под названием "
-"[.filename]#stdout#. Это может быть экран, терминал telnet, обычный файл или "
+"вашей точки зрения, вы записываете данные в файл под названием [."
+"filename]#stdout#. Это может быть экран, терминал telnet, обычный файл или "
"даже входные данные другой программы. Определять, что именно это будет, — "
"задача системы."
@@ -1473,8 +1470,8 @@ msgid ""
"Type the code in an editor, and save it in a file named "
"[.filename]#hello.asm#. You need nasm to assemble it."
msgstr ""
-"Наберите код в редакторе и сохраните его в файле с именем "
-"[.filename]#hello.asm#. Для сборки вам понадобится nasm."
+"Наберите код в редакторе и сохраните его в файле с именем [.filename]#hello."
+"asm#. Для сборки вам понадобится nasm."
#. type: Title ====
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:594
@@ -1530,9 +1527,9 @@ msgid ""
"sourceforge.net/projects/nasm[home page]. You can still use it to assemble "
"FreeBSD code."
msgstr ""
-"Если ваша система не FreeBSD, вам нужно получить nasm с его https://"
-"sourceforge.net/projects/nasm[домашней страницы]. Вы по-прежнему можете "
-"использовать его для ассемблирования кода FreeBSD."
+"Если ваша система не FreeBSD, вам нужно получить nasm с его "
+"https://sourceforge.net/projects/nasm[домашней страницы]. Вы по-прежнему "
+"можете использовать его для ассемблирования кода FreeBSD."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:619
@@ -1580,8 +1577,8 @@ msgid ""
"convert each byte of its input into a hexadecimal number followed by a blank "
"space."
msgstr ""
-"В этой главе мы разработаем простой фильтр и научимся читать из "
-"[.filename]#stdin# и писать в [.filename]#stdout#. Этот фильтр будет "
+"В этой главе мы разработаем простой фильтр и научимся читать из [."
+"filename]#stdin# и писать в [.filename]#stdout#. Этот фильтр будет "
"преобразовывать каждый байт входных данных в шестнадцатеричное число, за "
"которым следует пробел."
@@ -2023,8 +2020,8 @@ msgid ""
"[.filename]#stdout#."
msgstr ""
"Мы также создаем выходной буфер. Мы сохраняем наш вывод в нем, пока он не "
-"заполнится. В этот момент мы просим ядро записать содержимое буфера в "
-"[.filename]#stdout#."
+"заполнится. В этот момент мы просим ядро записать содержимое буфера в [."
+"filename]#stdout#."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:820
@@ -2036,8 +2033,8 @@ msgid ""
"some of your output is missing."
msgstr ""
"Программа завершается, когда больше нет входных данных. Но нам всё ещё нужно "
-"попросить ядро записать содержимое нашего выходного буфера в "
-"[.filename]#stdout# в последний раз, иначе часть нашего вывода попадёт в "
+"попросить ядро записать содержимое нашего выходного буфера в [."
+"filename]#stdout# в последний раз, иначе часть нашего вывода попадёт в "
"буфер, но так и не будет отправлена. Не забудьте об этом, иначе будете "
"недоумевать, куда пропала часть вывода."
@@ -2486,8 +2483,8 @@ msgid ""
"processing. If it is followed by white space, or some other value, then it "
"is not part of the current token."
msgstr ""
-"Например, вы можете анализировать входной поток на наличие текстовой строки "
-"(например, при реализации компилятора языка): если символ следует за другим "
+"Например, вы можете анализировать входной поток на наличие текстовой строки ("
+"например, при реализации компилятора языка): если символ следует за другим "
"символом или, возможно, цифрой, он является частью обрабатываемой лексемы. "
"Если за ним следует пробел или другое значение, то он не является частью "
"текущей лексемы."
@@ -2711,9 +2708,9 @@ msgid ""
"(the first call will still be within the buffer, the remaining 16 may be "
"either within the buffer or within the \"spare\")."
msgstr ""
-"С этим изменением вы можете безопасно вызывать `ungetc` до 17 раз подряд "
-"(первый вызов всё ещё будет в пределах буфера, остальные 16 могут быть либо "
-"в пределах буфера, либо в пределах \"запасного\" пространства)."
+"С этим изменением вы можете безопасно вызывать `ungetc` до 17 раз подряд ("
+"первый вызов всё ещё будет в пределах буфера, остальные 16 могут быть либо в "
+"пределах буфера, либо в пределах \"запасного\" пространства)."
#. type: Title ==
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:1165
@@ -2800,9 +2797,9 @@ msgid ""
"[.filename]#hex.asm#. First, however, we need to add a few lines to "
"[.filename]#system.inc#:"
msgstr ""
-"Вооружившись этими знаниями, мы почти готовы к следующей версии "
-"[.filename]#hex.asm#. Однако сначала нам нужно добавить несколько строк в "
-"[.filename]#system.inc#:"
+"Вооружившись этими знаниями, мы почти готовы к следующей версии [."
+"filename]#hex.asm#. Однако сначала нам нужно добавить несколько строк в [."
+"filename]#system.inc#:"
#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:1194
@@ -3130,8 +3127,8 @@ msgid ""
"In our `.data` section we now have two new variables, `fd.in` and `fd.out`. "
"We store the input and output file descriptors here."
msgstr ""
-"В нашем разделе `.data` теперь есть две новые переменные, `fd.in` и "
-"`fd.out`. Здесь мы сохраняем дескрипторы файлов для ввода и вывода."
+"В нашем разделе `.data` теперь есть две новые переменные, `fd.in` и `fd.out`"
+". Здесь мы сохраняем дескрипторы файлов для ввода и вывода."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:1366
@@ -3139,8 +3136,8 @@ msgid ""
"In the `.text` section we have replaced the references to `stdin` and "
"`stdout` with `[fd.in]` and `[fd.out]`."
msgstr ""
-"В разделе `.text` мы заменили ссылки с `stdin` и `stdout` на `[fd.in]` и "
-"`[fd.out]`."
+"В разделе `.text` мы заменили ссылки с `stdin` и `stdout` на `[fd.in]` и `[fd"
+".out]`."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:1369
@@ -3180,8 +3177,8 @@ msgstr ""
"указателей, так как мы можем обрабатывать NULL-указатели с помощью `jecxz`. "
"Если `argv[1]` не равен NULL, мы пытаемся открыть файл с именем, указанным в "
"первом аргументе. В противном случае продолжаем программу как раньше: чтение "
-"из `stdin`, запись в `stdout`. Если нам не удаётся открыть входной файл "
-"(например, он не существует), мы переходим к обработчику ошибок и завершаем "
+"из `stdin`, запись в `stdout`. Если нам не удаётся открыть входной файл ("
+"например, он не существует), мы переходим к обработчику ошибок и завершаем "
"работу."
#. type: Plain text
@@ -3463,7 +3460,8 @@ msgid ""
";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
"%include\t'system.inc'\n"
msgstr ""
-";;;;;;; webvars.asm ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
+";;;;;;; webvars.asm "
+";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
";\n"
"; Copyright (c) 2000 G. Adam Stanislav\n"
"; All rights reserved.\n"
@@ -3479,23 +3477,28 @@ msgstr ""
";\n"
"; THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND\n"
"; ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n"
-"; IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n"
+"; IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR "
+"PURPOSE\n"
"; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE\n"
-"; FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n"
+"; FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR "
+"CONSEQUENTIAL\n"
"; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n"
"; OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n"
-"; HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n"
+"; HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, "
+"STRICT\n"
"; LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n"
"; OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n"
"; SUCH DAMAGE.\n"
-";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
+";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"
+";;\n"
";\n"
"; Version 1.0\n"
";\n"
"; Started:\t 8-Dec-2000\n"
"; Updated:\t 8-Dec-2000\n"
";\n"
-";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
+";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"
+";;\n"
"%include\t'system.inc'\n"
#. type: delimited block . 4
@@ -3556,7 +3559,8 @@ msgstr ""
"\tdb\t'<h1>Web Environment</h1>', 0Ah\n"
"\tdb\t'<p>The following <b>environment variables</b> are defined '\n"
"\tdb\t'on this web server:</p>', 0Ah, 0Ah\n"
-"\tdb\t'<table align=\"center\" width=\"80\" border=\"0\" cellpadding=\"10\" '\n"
+"\tdb\t'<table align=\"center\" width=\"80\" border=\"0\" cellpadding=\"10\" '"
+"\n"
"\tdb\t'cellspacing=\"0\" class=\"webvars\">', 0Ah\n"
"httplen\tequ\t$-http\n"
"left\tdb\t'<tr>', 0Ah\n"
@@ -3963,12 +3967,12 @@ msgid ""
"UNIX(R). It saves the output in a different file. Optionally, it converts "
"a UNIX(R) text file to a DOS text file."
msgstr ""
-"Одной из первых программ, которые я написал для UNIX(R), была link:ftp://"
-"ftp.int80h.org/unix/tuc/[tuc] — конвертер текста в файл UNIX(R). Она "
-"преобразует текстовый файл из других операционных систем в текстовый файл "
-"UNIX(R). Другими словами, она изменяет различные виды окончаний строк на "
-"стандартные для UNIX(R). Результат сохраняется в другом файле. По желанию, "
-"она может преобразовать текстовый файл UNIX(R) в текстовый файл DOS."
+"Одной из первых программ, которые я написал для UNIX(R), была link:ftp://ftp."
+"int80h.org/unix/tuc/[tuc] — конвертер текста в файл UNIX(R). Она преобразует "
+"текстовый файл из других операционных систем в текстовый файл UNIX(R). "
+"Другими словами, она изменяет различные виды окончаний строк на стандартные "
+"для UNIX(R). Результат сохраняется в другом файле. По желанию, она может "
+"преобразовать текстовый файл UNIX(R) в текстовый файл DOS."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:1671
@@ -4083,8 +4087,8 @@ msgid ""
"It should also handle files that use some kind of a combination of the above "
"(e.g., carriage return followed by several line feeds)."
msgstr ""
-"Это также должно обрабатывать файлы, использующие комбинации вышеуказанного "
-"(например, возврат каретки с последующими несколькими переводами строки)."
+"Это также должно обрабатывать файлы, использующие комбинации вышеуказанного ("
+"например, возврат каретки с последующими несколькими переводами строки)."
#. type: Title ===
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:1706
@@ -4607,9 +4611,9 @@ msgid ""
"www.int80h.org/cgi-bin/isbn?isbn=0130810819[Unix Network Programming, Volume "
"2, Chapter 12]."
msgstr ""
-"Для подробного изучения `mmap` см. http://www.int80h.org/cgi-bin/isbn?"
-"isbn=0130810819[Unix Network Programming, Volume 2, Chapter 12] У. Ричарда "
-"Стивенса."
+"Для подробного изучения `mmap` см. http://www.int80h.org/cgi-bin/"
+"isbn?isbn=0130810819[Unix Network Programming, Volume 2, Chapter 12] У. "
+"Ричарда Стивенса."
#. type: Title ===
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:1872
@@ -4673,8 +4677,8 @@ msgid ""
"indicating an error. After I changed the code to allocate the structure on "
"the stack, everything was working fine."
msgstr ""
-"Однако должен сказать, что я пытался объявить структуру `stat` в секции "
-"`.bss`, и `fstat` это не понравилось: был установлен флаг переноса, "
+"Однако должен сказать, что я пытался объявить структуру `stat` в секции `."
+"bss`, и `fstat` это не понравилось: был установлен флаг переноса, "
"указывающий на ошибку. После того как я изменил код, чтобы разместить "
"структуру в стеке, всё заработало как надо."
@@ -4705,7 +4709,7 @@ msgid ""
"the file (make it smaller) and to grow it."
msgstr ""
"Системный вызов `ftruncate` позволяет нам сделать именно это. Несмотря на "
-"название , несколько вводящее в звблуждение, системный вызов `ftruncate` "
+"название , несколько вводящее в заблуждение, системный вызов `ftruncate` "
"может использоваться как для усечения файла (уменьшения его размера), так и "
"для его увеличения."
@@ -4927,7 +4931,8 @@ msgid ""
";;;;;;; v.1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
"%include\t'system.inc'\n"
msgstr ""
-";;;;;;; Fast Text-to-Unix Conversion (ftuc.asm) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
+";;;;;;; Fast Text-to-Unix Conversion (ftuc.asm) "
+";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
";;\n"
";; Started:\t21-Dec-2000\n"
";; Updated:\t22-Dec-2000\n"
@@ -4935,7 +4940,8 @@ msgstr ""
";; Copyright 2000 G. Adam Stanislav.\n"
";; All rights reserved.\n"
";;\n"
-";;;;;;; v.1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
+";;;;;;; v.1 "
+";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
"%include\t'system.inc'\n"
#. type: delimited block . 4
@@ -5852,7 +5858,8 @@ msgid ""
";\n"
";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
msgstr ""
-";;;;;;; csv.asm ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
+";;;;;;; csv.asm "
+";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
";\n"
"; Convert a comma-separated file to a something-else separated file.\n"
";\n"
@@ -5862,7 +5869,8 @@ msgstr ""
"; Copyright (c) 2001 G. Adam Stanislav\n"
"; All rights reserved.\n"
";\n"
-";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
+";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"
+";;\n"
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2349
@@ -5881,7 +5889,8 @@ msgstr ""
"section\t.data\n"
"fd.in\tdd\tstdin\n"
"fd.out\tdd\tstdout\n"
-"usg\tdb\t'Usage: csv [-t<delim>] [-c<comma>] [-p] [-o <outfile>] [-i <infile>]', 0Ah\n"
+"usg\tdb\t'Usage: csv [-t<delim>] [-c<comma>] [-p] [-o <outfile>] [-i "
+"<infile>]', 0Ah\n"
"usglen\tequ\t$-usg\n"
"iemsg\tdb\t\"csv: Can't open input file\", 0Ah\n"
"iemlen\tequ\t$-iemsg\n"
@@ -6552,20 +6561,19 @@ msgstr ""
msgid "Here is what might happen:"
msgstr "Вот что может произойти:"
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2640
msgid "The image editor will load our filter using the C function `popen()`."
msgstr ""
"Редактор изображений загрузит наш фильтр, используя функцию `popen()` на "
"языке C."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2641
msgid "It will read the first row of pixels from a bitmap or pixmap."
-msgstr ""
-"Он прочитает первый ряд пикселей из битовой карты или пиксельной карты."
+msgstr "Он прочитает первый ряд пикселей из битовой карты или пиксельной карты."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2642
msgid ""
"It will write the first row of pixels to the _pipe_ leading to the `fd.in` "
@@ -6574,7 +6582,7 @@ msgstr ""
"Он запишет первую строку пикселей в _канал_, ведущий к `fd.in` нашего "
"фильтра."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2643
msgid ""
"Our filter will read each pixel from its input, turn it to a negative, and "
@@ -6583,22 +6591,22 @@ msgstr ""
"Наш фильтр будет читать каждый пиксель из входных данных, преобразовывать "
"его в негатив и записывать в выходной буфер."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2644
msgid "Our filter will call `getchar` to fetch the next pixel."
msgstr "Наш фильтр будет вызывать `getchar` для получения следующего пикселя."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2645
msgid "`getchar` will find an empty input buffer, so it will call `read`."
msgstr "`getchar` обнаружит пустой входной буфер, поэтому вызовет `read`."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2646
msgid "`read` will call the `SYS_read` system call."
msgstr "`read` вызовет системный вызов `SYS_read`."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2647
msgid ""
"The _kernel_ will suspend our filter until the image editor sends more data "
@@ -6607,18 +6615,18 @@ msgstr ""
"_Ядро_ приостановит работу нашего фильтра до тех пор, пока редактор "
"изображений не отправит больше данных в канал."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2648
msgid ""
"The image editor will read from the other pipe, connected to the `fd.out` of "
"our filter so it can set the first row of the output image _before_ it sends "
"us the second row of the input."
msgstr ""
-"Редактор изображений будет читать из другого канала, подключенного к "
-"`fd.out` нашего фильтра, чтобы он мог установить первую строку выходного "
-"изображения _до_ того, как отправит нам вторую строку входного."
+"Редактор изображений будет читать из другого канала, подключенного к `fd.out`"
+" нашего фильтра, чтобы он мог установить первую строку выходного изображения "
+"_до_ того, как отправит нам вторую строку входного."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2649
msgid ""
"The _kernel_ suspends the image editor until it receives some output from "
@@ -6627,7 +6635,7 @@ msgstr ""
"_Ядро_ приостанавливает работу графического редактора до тех пор, пока не "
"получит какие-либо данные от нашего фильтра, чтобы передать их редактору."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2653
msgid ""
"At this point our filter waits for the image editor to send it more data to "
@@ -6640,7 +6648,7 @@ msgstr ""
"что наш фильтр отправит ему результат обработки первой строки. Однако "
"результат находится в нашем выходном буфере."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2656
msgid ""
"The filter and the image editor will continue waiting for each other forever "
@@ -6652,7 +6660,7 @@ msgstr ""
"обеспечение только что вошло в crossref:secure[secure-race-"
"conditions,состояние гонки]."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2658
msgid ""
"This problem does not exist if our filter flushes its output buffer _before_ "
@@ -6667,7 +6675,7 @@ msgstr ""
msgid "Using the FPU"
msgstr "Использование FPU"
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2663
msgid ""
"Strangely enough, most of assembly language literature does not even mention "
@@ -6678,7 +6686,7 @@ msgstr ""
"существовании FPU, или _блока обработки чисел с плавающей запятой_, не "
"говоря уже о программировании для него."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2665
msgid ""
"Yet, never does assembly language shine more than when we create highly "
@@ -6695,7 +6703,7 @@ msgstr ""
msgid "Organization of the FPU"
msgstr "Организация FPU"
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2671
msgid ""
"The FPU consists of 8 80-bit floating-point registers. These are organized "
@@ -6706,7 +6714,7 @@ msgstr ""
"виде стека — вы можете `push` (поместить) значение на TOS (_вершина стека_) "
"и `pop` (извлечь) его."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2673
msgid ""
"That said, the assembly language op codes are not `push` and `pop` because "
@@ -6715,19 +6723,19 @@ msgstr ""
"Как бы то ни было, мнемоники ассемблера — не `push` и `pop`, потому что они "
"уже заняты."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2676
msgid ""
"You can `push` a value on TOS by using `fld`, `fild`, and `fbld`. Several "
"other op codes let you `push` many common _constants_-such as _pi_-on the "
"TOS."
msgstr ""
-"Вы можете `push` (положить) значение на вершину стека (TOS), используя "
-"`fld`, `fild` и `fbld`. Несколько других кодов операций позволяют вам `push` "
+"Вы можете `push` (положить) значение на вершину стека (TOS), используя `fld`"
+", `fild` и `fbld`. Несколько других кодов операций позволяют вам `push` "
"(положить) многие распространённые _константы_ — например, _pi_ — на вершину "
"стека (TOS)."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2679
msgid ""
"Similarly, you can `pop` a value by using `fst`, `fstp`, `fist`, `fistp`, "
@@ -6740,7 +6748,7 @@ msgstr ""
"_p_, буквально `извлекают` значение, остальные же `сохраняют` его в другом "
"месте, не удаляя с вершины стека (TOS)."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2681
msgid ""
"We can transfer the data between the TOS and the computer memory either as a "
@@ -6752,7 +6760,7 @@ msgstr ""
"или 64-битное _целое_ число, либо как 80-битное _упакованное десятичное_ "
"число."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2684
msgid ""
"The 80-bit _packed decimal_ is a special case of _binary coded decimal_ "
@@ -6765,7 +6773,7 @@ msgstr ""
"ASCII-представлением данных и внутренними данными FPU. Он позволяет "
"использовать до 18 значащих цифр."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2686
msgid ""
"No matter how we represent data in the memory, the FPU always stores it in "
@@ -6774,7 +6782,7 @@ msgstr ""
"Независимо от того, как мы представляем данные в памяти, FPU всегда хранит "
"их в 80-битном формате _real_ в своих регистрах."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2688
msgid ""
"Its internal precision is at least 19 decimal digits, so even if we choose "
@@ -6785,7 +6793,7 @@ msgstr ""
"если мы решим отображать результаты в формате ASCII с полной 18-значной "
"точностью, мы всё равно будем показывать корректные результаты."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2690
msgid ""
"We can perform mathematical operations on the TOS: We can calculate its "
@@ -6796,7 +6804,7 @@ msgstr ""
"_масштабировать_ (то есть умножать или делить на степень двойки), вычислять "
"его _логарифм_ по основанию 2 и многое другое."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2692
msgid ""
"We can also _multiply_ or _divide_ it by, _add_ it to, or _subtract_ it "
@@ -6805,16 +6813,17 @@ msgstr ""
"Мы также можем _умножить_ или _разделить_ его, _прибавить_ к нему или "
"_вычесть_ его из любого из регистров FPU (включая его самого)."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2695
msgid ""
"The official Intel op code for the TOS is `st`, and for the _registers_ "
"`st(0)`-`st(7)`. `st` and `st(0)`, then, refer to the same register."
msgstr ""
-"Официальный код операции Intel для TOS — `st`, а для _регистров_ — `st(0)`-"
-"`st(7)`. Таким образом, `st` и `st(0)` ссылаются на один и тот же регистр."
+"Официальный код операции Intel для TOS — `st`, а для _регистров_ — "
+"`st(0)`-`st(7)`. Таким образом, `st` и `st(0)` ссылаются на один и тот же "
+"регистр."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2698
msgid ""
"For whatever reasons, the original author of nasm has decided to use "
@@ -6831,7 +6840,7 @@ msgstr ""
msgid "The Packed Decimal Format"
msgstr "Формат упакованного десятичного числа"
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2704
msgid ""
"The _packed decimal_ format uses 10 bytes (80 bits) of memory to represent "
@@ -6927,13 +6936,12 @@ msgid ""
"for this type of data."
msgstr ""
"Книга, которую стоит прочитать — если сможете её найти — это книга Ричарда "
-"Старца http://www.amazon.com/exec/obidos/ASIN/013246604X/"
-"whizkidtechnomag[8087/80287/80387 для IBM PC и совместимых]. Хотя в ней, "
-"кажется, факт о little-endian хранении _упакованного десятичного числа_ "
-"принимается как данность. Я не шучу насчёт отчаяния, которое испытывал, "
-"пытаясь понять, что не так с фильтром, который я привожу ниже, _прежде_ чем "
-"мне пришло в голову попробовать little-endian порядок даже для этого типа "
-"данных."
+"Старца http://www.amazon.com/exec/obidos/ASIN/013246604X/whizkidtechnomag["
+"8087/80287/80387 для IBM PC и совместимых]. Хотя в ней, кажется, факт о "
+"little-endian хранении _упакованного десятичного числа_ принимается как "
+"данность. Я не шучу насчёт отчаяния, которое испытывал, пытаясь понять, что "
+"не так с фильтром, который я привожу ниже, _прежде_ чем мне пришло в голову "
+"попробовать little-endian порядок даже для этого типа данных."
#. type: Title ===
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2743
@@ -6986,8 +6994,8 @@ msgid ""
"may be several). These light rays form an image, a representation of "
"whatever is outside the camera, in front of the hole."
msgstr ""
-"Корпус обычно прочный (например, коробка), хотя иногда он гибкий "
-"(гофрированная часть). Внутри камеры довольно темно. Однако отверстие "
+"Корпус обычно прочный (например, коробка), хотя иногда он гибкий ("
+"гофрированная часть). Внутри камеры довольно темно. Однако отверстие "
"пропускает световые лучи через одну точку (хотя в некоторых случаях их может "
"быть несколько). Эти световые лучи формируют изображение — представление "
"того, что находится снаружи камеры, перед отверстием."
@@ -6998,8 +7006,8 @@ msgid ""
"If some light sensitive material (such as film) is placed inside the camera, "
"it can capture the image."
msgstr ""
-"Если внутрь камеры поместить светочувствительный материал (например, "
-"плёнку), он может зафиксировать изображение."
+"Если внутрь камеры поместить светочувствительный материал (например, плёнку)"
+", он может зафиксировать изображение."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2762
@@ -7071,8 +7079,8 @@ msgid ""
"types of light will require a different constant, whose value can only be "
"determined by experimentation."
msgstr ""
-"Здесь `D` — идеальный диаметр отверстия, `FL` — фокусное расстояние, а `PC` "
-"— константа отверстия. По данным Джейя Бендера, её значение равно `0,04`, "
+"Здесь `D` — идеальный диаметр отверстия, `FL` — фокусное расстояние, а `PC` —"
+" константа отверстия. По данным Джейя Бендера, её значение равно `0,04`, "
"тогда как Кеннет Коннорс определил его как `0,037`. Другие исследователи "
"предложили иные значения. Кроме того, это значение справедливо только для "
"дневного света: другие типы освещения потребуют иной константы, значение "
@@ -7093,8 +7101,8 @@ msgid ""
msgstr ""
"Число f — это очень полезный показатель того, сколько света попадает на "
"плёнку. Экспонометр может определить, что, например, для экспонирования "
-"плёнки определённой чувствительности при f5.6 может потребоваться выдержка "
-"1/1000 сек."
+"плёнки определённой чувствительности при f5.6 может потребоваться выдержка 1/"
+"1000 сек."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2796
@@ -7217,8 +7225,8 @@ msgid ""
msgstr ""
"Типичная камера устроена так, что установка любого из нормализованных чисел "
"f изменяет ощущение от регулятора. Он естественным образом _останавливается_ "
-"в этом положении. Из-за этого такие положения регулятора называются f-"
-"ступенями."
+"в этом положении. Из-за этого такие положения регулятора называются "
+"f-ступенями."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2838
@@ -7281,8 +7289,8 @@ msgstr ""
"Большинство написанных нами до сих пор программ работали с отдельными "
"символами или байтами в качестве входных данных: программа hex "
"преобразовывала отдельные байты в шестнадцатеричное число, программа csv "
-"либо пропускала символ, либо удаляла его, либо заменяла на другой символ и "
-"т.д."
+"либо пропускала символ, либо удаляла его, либо заменяла на другой символ и т."
+"д."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2853
@@ -7605,7 +7613,7 @@ msgstr ""
"Учитывая эту систему, программа может обнаружить конфликтующие параметры и "
"обработать их следующим образом:"
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2955
msgid ""
"If it finds an _ad hoc_ choice (e.g., command line parameter), it should "
@@ -7615,7 +7623,7 @@ msgstr ""
"она должна принять этот выбор. Она должна игнорировать любой постоянный "
"выбор и значения по умолчанию."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2956
msgid ""
"_Otherwise_, if it finds a permanent option (e.g., an environment variable), "
@@ -7625,18 +7633,18 @@ msgstr ""
"переменная окружения), он должен быть принят, а значение по умолчанию — "
"проигнорировано."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2957
msgid "_Otherwise_, it should use the default."
msgstr "_В противном случае_, следует использовать значение по умолчанию."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2959
msgid "We also need to decide what _format_ our `PC` option should have."
msgstr ""
"Нам также необходимо решить, в каком _формате_ должна быть наша опция `PC`."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2961
msgid ""
"At first site, it seems obvious to use the `PINHOLE=0.04` format for the "
@@ -7645,7 +7653,7 @@ msgstr ""
"На первый взгляд кажется очевидным использовать формат `PINHOLE=0.04` для "
"переменной окружения и `-p0.04` для командной строки."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2965
msgid ""
"Allowing that is actually a security risk. The `PC` constant is a very small "
@@ -7658,7 +7666,7 @@ msgstr ""
"программное обеспечение, используя различные небольшие значения `PC`. Но что "
"произойдёт, если кто-то запустит программу, выбрав огромное значение?"
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2967
msgid ""
"It may crash the program because we have not designed it to handle huge "
@@ -7667,7 +7675,7 @@ msgstr ""
"Это может привести к сбою программы, так как мы не разрабатывали её для "
"обработки огромных чисел."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2970
msgid ""
"Or, we may spend more time on the program so it can handle huge numbers. We "
@@ -7679,14 +7687,14 @@ msgstr ""
"коммерческое программное обеспечение для аудитории, не знакомой с "
"компьютерами."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2972
msgid "Or, we might say, _\"Tough! The user should know better.\"\"_"
msgstr ""
"Или можно сказать: _\"Пусть терпит! Пользователь сам должен был разобраться."
"\"_"
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2975
msgid ""
"Or, we just may make it impossible for the user to enter a huge number. "
@@ -7696,19 +7704,19 @@ msgstr ""
"числа. Это подход, который мы выберем: мы будем использовать "
"_подразумеваемый префикс 0._."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2978
msgid ""
"In other words, if the user wants `0.04`, we will expect him to type `-p04`, "
"or set `PINHOLE=04` in his environment. So, if he says `-p9999999`, we will "
"interpret it as ``0.9999999``-still ridiculous but at least safer."
msgstr ""
-"Другими словами, если пользователь хочет `0.04`, мы ожидаем, что он введёт `-"
-"p04` или установит `PINHOLE=04` в своём окружении. Таким образом, если он "
+"Другими словами, если пользователь хочет `0.04`, мы ожидаем, что он введёт "
+"`-p04` или установит `PINHOLE=04` в своём окружении. Таким образом, если он "
"укажет `-p9999999`, мы интерпретируем это как ``0.9999999`` — всё ещё "
"нелепо, но по крайней мере безопаснее."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2981
msgid ""
"Secondly, many users will just want to go with either Bender's constant or "
@@ -7725,7 +7733,7 @@ msgstr ""
msgid "The Output"
msgstr "Вывод результата"
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2986
msgid ""
"We need to decide what we want our software to send to the output, and in "
@@ -7734,7 +7742,7 @@ msgstr ""
"Нам нужно решить, что наше программное обеспечение должно отправлять на "
"вывод и в каком формате."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2988
msgid ""
"Since our input allows for an unspecified number of focal length entries, it "
@@ -7747,7 +7755,7 @@ msgstr ""
"базы данных, показывая результат вычислений для каждого фокусного расстояния "
"на отдельной строке, разделяя все значения в строке символом табуляции."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2991
msgid ""
"Optionally, we should also allow the user to specify the use of the CSV "
@@ -7760,7 +7768,7 @@ msgstr ""
"разделёнными запятыми названиями, описывающими каждое поле каждой строки, а "
"затем отобразим результаты как прежде, но заменив `табуляцию` на `запятую`."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:2996
msgid ""
"We need a command line option for the CSV format. We cannot use `-c` "
@@ -7769,14 +7777,14 @@ msgid ""
"the CSV format predates Excel). We will, therefore, use the `-e` switch to "
"inform our software we want the output in the CSV format."
msgstr ""
-"Нам нужна опция командной строки для формата CSV. Мы не можем использовать `-"
-"c`, потому что это уже означает _использовать константу Коннорса_. По какой-"
-"то странной причине многие веб-сайты называют CSV-файлы _\"электронными "
-"таблицами Excel\"_ (хотя формат CSV появился раньше Excel). Поэтому мы будем "
-"использовать переключатель `-e`, чтобы указать нашему программному "
+"Нам нужна опция командной строки для формата CSV. Мы не можем использовать "
+"`-c`, потому что это уже означает _использовать константу Коннорса_. По "
+"какой-то странной причине многие веб-сайты называют CSV-файлы _\"электронными"
+" таблицами Excel\"_ (хотя формат CSV появился раньше Excel). Поэтому мы "
+"будем использовать переключатель `-e`, чтобы указать нашему программному "
"обеспечению, что мы хотим получить вывод в формате CSV."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3000
msgid ""
"We will start each line of the output with the focal length. This may sound "
@@ -7787,7 +7795,7 @@ msgstr ""
"избыточным сначала, особенно в интерактивном режиме: пользователь вводит "
"фокусное расстояние, а мы его повторяем."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3004
msgid ""
"But the user can type several focal lengths on one line. The input can also "
@@ -7798,7 +7806,7 @@ msgstr ""
"Ввод также может поступать из файла или вывода другой программы. В этом "
"случае пользователь вообще не видит вводимые данные."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3006
msgid ""
"By the same token, the output can go to a file which we will want to examine "
@@ -7808,7 +7816,7 @@ msgstr ""
"изучить позже, или на принтер, или стать входными данными для другой "
"программы."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3008
msgid ""
"So, it makes perfect sense to start each line with the focal length as "
@@ -7817,7 +7825,7 @@ msgstr ""
"Итак, имеет полный смысл начинать каждую строку с фокусного расстояния, "
"введённого пользователем."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3011
msgid ""
"No, wait! Not as entered by the user. What if the user types in something "
@@ -7922,7 +7930,9 @@ msgstr "Мы ударим его по лицу, образно говоря:"
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3049
#, no-wrap
msgid "17459765723452353453534535353530530534563507309676764423\t???\t???\t???\t???\t???\n"
-msgstr "17459765723452353453534535353530530534563507309676764423\t???\t???\t???\t???\t???\n"
+msgstr ""
+"17459765723452353453534535353530530534563507309676764423\t???\t???\t???\t???"
+"\t???\n"
#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3053
@@ -7935,12 +7945,12 @@ msgstr ""
"ненулевую цифру, мы инициализируем счетчик значением `0` и начнем выполнять "
"три шага:"
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3056
msgid "Send the digit to the output."
msgstr "Отправить цифру на выход."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3057
msgid ""
"Append the digit to a buffer we will use later to produce the packed decimal "
@@ -7949,12 +7959,12 @@ msgstr ""
"Добавить цифру в буфер, который мы позже используем для создания "
"упакованного десятичного числа, которое можно отправить в FPU."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3058
msgid "Increase the counter."
msgstr "Увеличить счетчик."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3060
msgid ""
"Now, while we are taking these three steps, we also need to watch out for "
@@ -7963,7 +7973,7 @@ msgstr ""
"Теперь, пока мы выполняем эти три шага, нам также необходимо следить за "
"одним из двух условий:"
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3062
msgid ""
"If the counter grows above 18, we stop appending to the buffer. We continue "
@@ -7972,7 +7982,7 @@ msgstr ""
"Если счётчик превышает 18, мы прекращаем добавление в буфер. Мы продолжаем "
"читать цифры и отправлять их на вывод."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3063
msgid ""
"If, or rather _when_, the next input character is not a digit, we are done "
@@ -7981,29 +7991,29 @@ msgstr ""
"Если, или скорее _когда_, следующий вводимый символ не является цифрой, мы "
"завершаем ввод на данный момент."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3066
msgid ""
"Incidentally, we can simply discard the non-digit, unless it is a `+#+`, "
"which we must return to the input stream. It starts a comment, so we must "
"see it after we are done producing output and start looking for more input."
msgstr ""
-"Между прочим, мы можем просто отбросить нецифровой символ, если это не "
-"`+#+`, который необходимо вернуть во входной поток. Он начинает комментарий, "
+"Между прочим, мы можем просто отбросить нецифровой символ, если это не `+#+`"
+", который необходимо вернуть во входной поток. Он начинает комментарий, "
"поэтому мы должны увидеть его после завершения вывода и начала поиска "
"следующего ввода."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3068
msgid ""
"That still leaves one possibility uncovered: If all the user enters is a "
"zero (or several zeros), we will never find a non-zero to display."
msgstr ""
-"Остается одна непокрытая возможность: если пользователь вводит только ноль "
-"(или несколько нулей), мы никогда не найдем ненулевое значение для "
+"Остается одна непокрытая возможность: если пользователь вводит только ноль ("
+"или несколько нулей), мы никогда не найдем ненулевое значение для "
"отображения."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3071
msgid ""
"We can determine this has happened whenever our counter stays at `0`. In "
@@ -8026,8 +8036,8 @@ msgid ""
"Once we have displayed the focal length and determined it is valid (greater "
"than `0` but not exceeding 18 digits), we can calculate the pinhole diameter."
msgstr ""
-"Как только мы определили фокусное расстояние и убедились, что оно корректно "
-"(больше `0`, но не превышает 18 цифр), можно рассчитать диаметр отверстия."
+"Как только мы определили фокусное расстояние и убедились, что оно корректно ("
+"больше `0`, но не превышает 18 цифр), можно рассчитать диаметр отверстия."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3081
@@ -8151,12 +8161,12 @@ msgstr ""
"Вот мой (я думаю, он неуклюжий — если у вас есть вариант лучше, "
"_пожалуйста_, дайте мне знать):"
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3120
msgid "Initialize a counter to `0`."
msgstr "Инициализировать счетчик значением `0`."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3121
msgid ""
"While the number is greater than or equal to `10000`, divide it by `10` and "
@@ -8164,12 +8174,12 @@ msgid ""
msgstr ""
"Пока число больше или равно `10000`, делим его на `10` и увеличиваем счётчик."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3122
msgid "Output the result."
msgstr "Вывести результат."
-#. type: .procedure
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3123
msgid ""
"While the counter is greater than `0`, output `0` and decrease the counter."
@@ -8527,8 +8537,8 @@ msgid ""
"only one or two digits anyway."
msgstr ""
"Этот расчет также довольно прост. Все, что нам нужно сделать, это вычислить "
-"логарифм по основанию 2 от множителя f5.6, который мы только что рассчитали "
-"(хотя нам нужно его значение до округления). Затем мы выводим результат, "
+"логарифм по основанию 2 от множителя f5.6, который мы только что рассчитали ("
+"хотя нам нужно его значение до округления). Затем мы выводим результат, "
"округленный до ближайшего целого числа. Нам не нужно беспокоиться о наличии "
"более четырех значащих цифр в этом случае: скорее всего, результат будет "
"содержать только одну или две цифры."
@@ -8681,8 +8691,8 @@ msgid ""
msgstr ""
"Гораздо быстрее умножать, чем делить. Поэтому в начале нашей программы мы "
"делим `1` на `10`, чтобы получить `0.1`, который затем сохраняем в стеке: "
-"вместо того чтобы делить ввод на `10` для каждой цифры, мы умножаем его на "
-"`0.1`."
+"вместо того чтобы делить ввод на `10` для каждой цифры, мы умножаем его на `0"
+".1`."
#. type: Plain text
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3284
@@ -8798,7 +8808,8 @@ msgid ""
";\n"
";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
msgstr ""
-";;;;;;; pinhole.asm ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
+";;;;;;; pinhole.asm "
+";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
";\n"
"; Find various parameters of a pinhole camera construction and use\n"
";\n"
@@ -8808,7 +8819,8 @@ msgstr ""
"; Copyright (c) 2001 G. Adam Stanislav\n"
"; All rights reserved.\n"
";\n"
-";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
+";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"
+";;\n"
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:3368
@@ -8855,7 +8867,8 @@ msgstr ""
"envar\tdb\t'PINHOLE='\t; Exactly 8 bytes, or 2 dwords long\n"
"pinhole\tdb\t'04,', \t\t; Bender's constant (0.04)\n"
"connors\tdb\t'037', 0Ah\t; Connors' constant\n"
-"usg\tdb\t'Usage: pinhole [-b] [-c] [-e] [-p <value>] [-o <outfile>] [-i <infile>]', 0Ah\n"
+"usg\tdb\t'Usage: pinhole [-b] [-c] [-e] [-p <value>] [-o <outfile>] [-i "
+"<infile>]', 0Ah\n"
"usglen\tequ\t$-usg\n"
"iemsg\tdb\t\"pinhole: Can't open input file\", 0Ah\n"
"iemlen\tequ\t$-iemsg\n"
@@ -8863,7 +8876,8 @@ msgstr ""
"oemlen\tequ\t$-oemsg\n"
"pinmsg\tdb\t\"pinhole: The PINHOLE constant must not be 0\", 0Ah\n"
"pinlen\tequ\t$-pinmsg\n"
-"toobig\tdb\t\"pinhole: The PINHOLE constant may not exceed 18 decimal places\", 0Ah\n"
+"toobig\tdb\t\"pinhole: The PINHOLE constant may not exceed 18 decimal "
+"places\", 0Ah\n"
"biglen\tequ\t$-toobig\n"
"huhmsg\tdb\t9, '???'\n"
"separ\tdb\t9, '???'\n"
@@ -10345,8 +10359,7 @@ msgstr ""
#. type: delimited block _ 4
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:4029
msgid "When we have no more input, it can mean one of two things:"
-msgstr ""
-"Когда у нас больше нет входных данных, это может означать одно из двух:"
+msgstr "Когда у нас больше нет входных данных, это может означать одно из двух:"
#. type: delimited block _ 4
#: documentation/content/en/books/developers-handbook/x86/_index.adoc:4031
@@ -10879,7 +10892,8 @@ msgid ""
msgstr ""
"% ./medium -b -e > bender\n"
"% cat bender\n"
-"focal length in millimeters,pinhole diameter in microns,F-number,normalized F-number,F-5.6 multiplier,stops from F-5.6\n"
+"focal length in millimeters,pinhole diameter in microns,F-number,normalized "
+"F-number,F-5.6 multiplier,stops from F-5.6\n"
"80,358,224,256,1562,11\n"
"30,219,137,128,586,9\n"
"40,253,158,181,781,10\n"