1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
| forum4uxa |
Сообщение
#1
|
|
Новичок ![]() Группа: Пользователи Сообщений: 26 Пол: Мужской Реальное имя: Alexey Репутация: 0 |
i:=57; k:=19;
while i<199 do if ((i + k div 2) mod 11) = 5 then i:=i-k else k:=k*k+(i div 2) |
![]() ![]() |
| volvo |
Сообщение
#2
|
|
Гость |
В Паскалевском варианте деления на 0 НЕТ. Есть зацикливание, но это разные вещи...
|
| forum4uxa |
Сообщение
#3
|
|
Новичок ![]() Группа: Пользователи Сообщений: 26 Пол: Мужской Реальное имя: Alexey Репутация: 0 |
|
| hiv |
Сообщение
#4
|
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 660 Пол: Мужской Реальное имя: Михаил Репутация: 11 |
а как избавиться от этого??? Зацикливание возникает в следствии того, что не обрабатывается ошибка переполнения, если ее включить - то будет паскалем выдаваться "Runtime error 215 at 0BED:0075.", что означает "Arithmetic overflow error". Это значит что где-то при вычислении твоего k происходит переполнение, в ассемблере после математических операций нада проверять флаговый регистр:Код Регистр флагов ----------------------------------------------------------------- Этот 16-разрядный (16-битовый) регистр содержит всю необхо- димую информацию о состоянии процессора 8086 и результатах пос- ледних инструкций (см. Рис. 4.5). 15 0 ------------------------------------------------------------ | | | | | O | D | T | S | Z | | A | P | P | | C | ------------------------------------------------------------ Битовые флаги: O - флаг переполнения; D - флаг направления; I - флаг прерывания; T - флаг перехвата; S - флаг знака; Z - флаг нуля; A - флаг дополнительного переноса; P - флаг четности; C - флаг переноса. Рис. 4.5 Регистр флагов процессора 8086. -------------------- Никогда не жадничай. Свои проблемы с любовью дари людям!
|
forum4uxa как это будет выглядеть в Паскале? 19.01.2007 0:13
volvo Это и ЕСТЬ в паскале... Ты задание приведи, что им… 19.01.2007 0:17
forum4uxa
Это и ЕСТЬ в паскале... Ты задание приведи, что и… 19.01.2007 2:08
hiv 3. Реализовать фрагмент программы на ассемблере, э… 19.01.2007 16:27
forum4uxa
Т.е. паскалевский код и есть задание? :lol: Тогд… 20.01.2007 4:25
Malice Вот так примерно это делает сам паскаль:
mov i… 20.01.2007 4:51
forum4uxa и всё таки как сделать, чтоб на паскале работала? … 23.01.2007 19:38
forum4uxa :unsure: ???? 19.01.2007 15:06
Malice
а как избавиться от этого???
Блин.
Если изменить… 23.01.2007 20:44![]() ![]() |
|
Текстовая версия | 23.02.2026 9:52 |