Инструменты пользователя

Инструменты сайта


msx:basic_dialogue_programming_language:106

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
msx:basic_dialogue_programming_language:106 [2023-02-18 17:05]
GreyWolf
msx:basic_dialogue_programming_language:106 [2023-02-19 16:27] (текущий)
GreyWolf
Строка 4: Строка 4:
 {{anchor:​n106}} {{anchor:​n106}}
 ====== ​ 1.6. Реализация вещественной арифметики на машинном языке ====== ====== ​ 1.6. Реализация вещественной арифметики на машинном языке ======
-FIXME 
  
 <WRAP group> <WRAP group>
 <WRAP half column> \\ </​WRAP>​ <WRAP half column> \\ </​WRAP>​
-<WRAP half column><​WRAP ​justify>+<WRAP half column><​WRAP ​right>
 Изучай все не из тщеславия,​ а ради Изучай все не из тщеславия,​ а ради
 \\ практической пользы. \\ практической пользы.
Строка 126: Строка 125:
 <WRAP group> <WRAP group>
 <WRAP half column> \\ </​WRAP>​ <WRAP half column> \\ </​WRAP>​
-<WRAP half column><​WRAP ​justify>+<WRAP half column><​WRAP ​right>
 Наиболее полезны те советы,​ которым Наиболее полезны те советы,​ которым
 \\ легко следовать. \\ легко следовать.
Строка 161: Строка 160:
 ===== 1.6.3. Арифметические операции над вещественными числами ===== ===== 1.6.3. Арифметические операции над вещественными числами =====
  
-^  Имя \\ подпрограммы ​ ^  Адрес ​ ^  Выполняемые \\ действия ​ ​^ ​ //​Тип// ​ ​^ ​ Изменяемые \\ регистры ​ ^+^  Имя \\ подпрограммы ​ ^  Адрес ​ ^  Выполняемые \\ действия ​ ^  Изменяемые \\ регистры ​ ^
 |DECSUB|268Ch|DAC := DAC-ARG|A,​B,​C,​D,​E,​H,​L,​DAC| |DECSUB|268Ch|DAC := DAC-ARG|A,​B,​C,​D,​E,​H,​L,​DAC|
 |DECADD|269Ah|DAC := DAC+ARG|A,​B,​C,​D,​E,​H,​L,​DAC| |DECADD|269Ah|DAC := DAC+ARG|A,​B,​C,​D,​E,​H,​L,​DAC|
Строка 370: Строка 369:
 ===== 1.6.7. Преобразование чисел для вывода на печать ===== ===== 1.6.7. Преобразование чисел для вывода на печать =====
  
-<​code>​ +Для преобразования из //строки// в //число// используется подпрограмма с именем 
-   Для преобразования ​ из  с т р о к и  в  ч и с л о  используется подпро+ 
-грамма с именем +FIN (3299h) 
-  ​┌────────────────────────────────────────────────────────────────────┐ +  ​* __//Аргументы//__: 
-  ​│ ​  FIN (3299h) ​                                                     │ +    HL — адрес строки символов,​ 
-  ​│   А р г у м е н т ы:    HL  ​- ​адрес строки символов, ​              │ +    ​* ​— первый символ строки. 
-  ​│ ​  ​───────────────── ​      - первый символ строки. ​               │ +  ​* __//Результаты//__: 
-  ​│   Р е з у л ь т а т ы:  DAC вещественное число, ​                 │ +    * DAC — вещественное число,​ 
-  ​│ ​  ​─────────────────── ​    - { была десятичная точка, ​        │ +      ​* ​— 
-  ​│ ​                              ​{ ​FFh десятичной точки не было, ​   │ +        * — была десятичная точка,​ 
-  ​│ ​                      - количество цифр после десятичной точки, ​ │ +        ​* ​FFh — десятичной точки не было, 
-  ​│ ​                      - количество цифр в числе. ​                │ +      ​* ​— количество цифр после десятичной точки,​ 
-  ​└────────────────────────────────────────────────────────────────────┘ +      ​* ​— количество цифр в числе. 
-   ​Для ​ в ы в о д а  имеются две подпрограммы:​ + 
-           ┌─────────────────────────────────────────────────┐ + 
-           ​│ ​       ​FOUT (3425h) ​-  ​неформатный вывод, ​      │ +Для ​//вывода// имеются две подпрограммы:​ 
-           │      ​PUFOUT (3426h) ​-  ​форматный вывод. ​        │ +  ​* ​FOUT (3425h) ​— неформатный вывод,​ 
-           └─────────────────────────────────────────────────┘ +  ​* ​PUFOUT (3426h) ​— форматный вывод. 
-   ​Эти подпрограммы преобразуют число, находящееся в DAC, в строку ​ симво+ 
-лов. +Эти подпрограммы преобразуют число, находящееся в DAC, в строку ​ символов. 
-Аргументы:​ A - формат;​ содержимое его битов может быть следующим:​ + 
-───────── ​     ​bit7: если 1, то вывод осуществляется по формату;​ +__Аргументы__ 
-               ​bit6: если 1, то через каждые 3 цифры вставляются запятые;​ +  * A - формат;​ содержимое его битов может быть следующим:​ 
-               ​bit5: если 1, то первые нули заменить на символ "​*";​ +    ​* ​bit7: если 1, то вывод осуществляется по формату;​ 
-               ​bit4: если 1, то перед числом вставить символ "​$";​ +    ​* ​bit6: если 1, то через каждые 3 цифры вставляются запятые;​ 
-               ​bit3: если 1, то число выводится всегда со знаком;​ +    ​* ​bit5: если 1, то первые нули заменить на символ "​*";​ 
-               ​bit2: если 1, то вставить знак после числа;​ +    ​* ​bit4: если 1, то перед числом вставить символ "​$";​ 
-               ​bit1:     не используется;​ +    ​* ​bit3: если 1, то число выводится всегда со знаком;​ 
-               ​bit0:{если 0, то число выводится с фиксированной точкой;​ +    ​* ​bit2: если 1, то вставить знак после числа;​ 
-                    {если 1, то число выводится с плавающей точкой;​ +    ​* ​bit1:     не используется;​ 
-           ​количество цифр перед точкой;​ +    ​* ​bit0: 
-           ​количество цифр после точки + 1. +      * если 0, то число выводится с фиксированной точкой;​ 
-Результаты: ​ HL начальный адрес строки символов. +      ​* ​если 1, то число выводится с плавающей точкой;​ 
-────────── +  ​* ​— количество цифр перед точкой;​ 
-</​code>​+  ​* ​— количество цифр после точки + 1. 
 +__Результаты__:  HL — начальный адрес строки символов.
  
 {{anchor:​e1060-11}} __//​Пример 11//__. Вычисление косинуса вещественного числа.\\ {{.examples:​1060-11.bas|}} \\ [[+tab|wmsxbpge>​1060-11.bas]] {{anchor:​e1060-11}} __//​Пример 11//__. Вычисление косинуса вещественного числа.\\ {{.examples:​1060-11.bas|}} \\ [[+tab|wmsxbpge>​1060-11.bas]]
Строка 429: Строка 429:
 </​code>​ </​code>​
  
-<​code>​ +Остальные подпрограммы перечислены ниже: 
-   Остальные подпрограммы перечислены ниже: + ​Имя подпрограммы ​ ^  ​Адрес ​ ​^  ​Выполняемые действия ​ ^ 
-        ​┌────────┬───────┬────────────────────────────────────────┐ +|FOUTB|371Ah|Целое число ──▶ в двоичный вид| 
-        │  ​Имя ​  │       ​│ ​                                       │ +|FOUTO|371Eh|Целое число ──▶ в восьмеричный вид| 
-        │ подпро-│ Адрес ​│         Выполняемые действия ​          │ +|FOUTH|3722h|Целое число ──▶ в шестнадцатеричный вид| 
-        │ граммы │       ​│ ​                                       │ + 
-        ├────────┼───────┼────────────────────────────────────────┤ +Для этих подпрограмм:​ 
-        │ FOUTB  ​│ ​371Ah │ Целое число ──▶ в двоичный вид ​        │ +\\ __//Аргументы//__: 
-        ​│ ​FOUTO  ​│ ​371Eh │ Целое число ──▶ в восьмеричный вид ​    │ +  * DAC — целое число,​ 
-        ​│ ​FOUTH  ​│ ​3722h │ Целое число ──▶ в шестнадцатеричный вид +  ​* ​VALTYP = 2. 
-        ​└────────┴───────┴────────────────────────────────────────┘ +__//Результаты//__: 
-   ​Для этих подпрограмм:​ +  * HL — начальный адрес строки. 
-А р г у м е н т ы:        DAC    ​- ​целое число,​ + 
-───────────────── ​        VALTYP = 2. +
-Р е з у л ь т а т ы:      HL начальный адрес строки. +
-─────────────────── +
-</​code>​+
  
 ---- ----
msx/basic_dialogue_programming_language/106.1676729101.txt.gz · Последние изменения: 2023-02-18 17:05 — GreyWolf