4 / 4 / 4
Регистрация: 06.03.2011
Сообщений: 319

Ошибка в программе

18.03.2013, 18:22. Показов 1013. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте помогите пожалуйста разобраться почему не выводится нужное сообщение?

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
.model tiny
.stack 100h
.data
message db '70H-70H-70H', 13, 10, '$'
.code
start:
mov ax,2570h
mov dx,seg int70h
mov ds,dx
mov dx,offset int70h
int 21h
int 70h
mov ax, 3100h
int 21h
;Обработчик прерывания
int70h proc far
    mov ax,@data
    mov ds,ax
    mov dx, offset message
    mov ax,9h
    int 21h
    iret
int70h endp
end start
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.03.2013, 18:22
Ответы с готовыми решениями:

Ошибка в программе
Всем добрый день. Я делаю в лазарусе , но эт неважно ,т.к. на делфи у меня тоже выдаёт ошибку. На вложенных скриншотах видно , что если...

Ошибка в программе
Вот написал "программу" (типа прикол). Вот код: #include <iostream> #include <cstdlib> using namespace std; void Shit() {...

Ошибка в программе
Проблема в сортировке, не совсем понимаю как реализовать. Тем более не знаю где инициализировать нулем count ...

8
 Аватар для Vadimych
639 / 482 / 12
Регистрация: 10.01.2011
Сообщений: 1,045
18.03.2013, 18:37
yuliyayuliya28, в 22-й строке mov ah,9h.
1
4 / 4 / 4
Регистрация: 06.03.2011
Сообщений: 319
18.03.2013, 18:48  [ТС]
Цитата Сообщение от Vadimych Посмотреть сообщение
yuliyayuliya28, в 22-й строке mov ah,9h.
Спасибо, не заметила,
а как посчитать длину программы чтобы сделать её резидентной?

Assembler
1
2
3
mov ax, 3100h   ;
    mov dx, размер резидента в 16байтных параграфах
    int 21h
start/16 не правильно(
0
 Аватар для Vadimych
639 / 482 / 12
Регистрация: 10.01.2011
Сообщений: 1,045
18.03.2013, 19:36
Да вот так вроде.
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
.model small
.stack 100h
.data
message db '70H-70H-70H', 13, 10, '$'
.code
start:
mov ax,2570h
mov dx,seg int70h
mov ds,dx
mov dx,offset int70h
int 21h
int 70h
mov ax,es
mov dx,seg _end
sub dx,ax
 
mov ax, 3100h
int 21h
;Обработчик прерывания
int70h proc far
    mov ax,@data
    mov ds,ax
    mov dx, offset message
    mov ah,9h
    int 21h
    iret
int70h endp
    _end segment
    _end ends
end start
1
4 / 4 / 4
Регистрация: 06.03.2011
Сообщений: 319
18.03.2013, 19:58  [ТС]
Цитата Сообщение от Vadimych Посмотреть сообщение
Да вот так вроде.
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
.model small
.stack 100h
.data
message db '70H-70H-70H', 13, 10, '$'
.code
start:
mov ax,2570h
mov dx,seg int70h
mov ds,dx
mov dx,offset int70h
int 21h
int 70h
mov ax,es
mov dx,seg _end
sub dx,ax
 
mov ax, 3100h
int 21h
;Обработчик прерывания
int70h proc far
    mov ax,@data
    mov ds,ax
    mov dx, offset message
    mov ah,9h
    int 21h
    iret
int70h endp
    _end segment
    _end ends
end start
Спасибо большое, а не знаете если не заполнять регистр dx а воспользовавшись только int 3100h программа не станет резидентной?и как это можно проверить стала она резидентной или нет?
0
 Аватар для Vadimych
639 / 482 / 12
Регистрация: 10.01.2011
Сообщений: 1,045
18.03.2013, 20:20
Цитата Сообщение от yuliyayuliya28 Посмотреть сообщение
сли не заполнять регистр dx а воспользовавшись только int 3100h программа не станет резидентной?и как это можно проверить стала она резидентной или нет?
В dx должен быть указан размер программы в параграфах. Резидентной она останется, но работать вряд ли будет без сбоев.
Для проверки напишите программку с использованием int 70h. И запустите в консоли сначала резидентную программу, затем - проверочную.
0
 Аватар для Ethereal
6772 / 2740 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
19.03.2013, 04:06
Цитата Сообщение от Vadimych Посмотреть сообщение
Да вот так вроде.
...
mov ax,es
mov dx,seg _end
sub dx,ax
mov ax, 3100h
int 21h
Vadimych, у тебя тут на этапе исполнения командой sub вычисляется то,
что было итак известно уже во время трансляции. Не очень красиво это.

Вот так, как бы то-же самое, но количество параграфов, заносимое в DX,
вычисляется ассемблером просто как выражение прямо на этапе компиляции :
Code
1
2
3
4
5
6
7
8
Start:      ;метка в начале резидентного кода
<код, что должен остаться резидентным>
End_Res:    ;метка сразу за резидентным кодом
<код, что не должен остаться резидентным>
...
    mov dx, (End_Res-Start+0Fh)/10h
    mov ax, 3100h
    int 21h
0
 Аватар для Vadimych
639 / 482 / 12
Регистрация: 10.01.2011
Сообщений: 1,045
19.03.2013, 06:53
Ethereal, код свой проверил? Работает?
Обрати внимание на то, что в памяти оставляем не .com, а .exe.
0
 Аватар для Ethereal
6772 / 2740 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
19.03.2013, 20:46
Ах, ну да. Не обратил внимание, что это EXE. И еще учесть 10h параграфов под PSP забыл.
Просто EXE в резидент редко когда ставят. Слишком много памяти расходуется без пользы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.03.2013, 20:46
Помогаю со студенческими работами здесь

Ошибка в программе
Программа должны выводить слова с неповторяющимися символами, свое назначение она выполняет, и выводит все правильно, НО после выполнение...

Ошибка в программе
Нужно было составить программу по задаче: в 2008 году отец положил сыну на счет в банке 400 евро. Каждый год сумма увеличивается на 10% от...

Ошибка в программе
Здравствуйте форумчане. Есть задача:треугольник задан координатами своих вершин. Составить программу вычисления его площади. Вот...

Ошибка в программе
Здравствуйте. Я недавно начал изучать Lisp, пробую писать простые программы в Corman Common Lisp. Я попытался реализовать программу...

Ошибка в программе
Написать программу решения квадратного уравнения a∙x2+b∙x+c = 0. Дискриминант вычисляется по формуле d = b2 – 4∙a∙c. Если...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

Новые блоги и статьи
Деплой Flask приложения
py-thonny 23.06.2025
За годы работы с Flask я натыкался на одни и те же грабли достаточно часто, чтобы наконец научится их обходить. И сегодня хочу поделится опытом, который сбережет вам немало нервных клеток. Начнем с. . .
WebAssembly и контейнеры в .NET Aspire для оркестрации распределенных архитектур
ArchitectMsa 23.06.2025
Я наблюдаю, как WebAssembly (или просто WASM) постепенно выходит за рамки своего первоначального предназначения — исполнения кода на стороне браузера. Теперь эта технология проникает в серверную. . .
Непрерывная интеграция для пакета Python
Mr. Docker 22.06.2025
Было 4 часа утра пятницы, когда я выпустил новую версию нашей внутренней библиотеки для обработки данных. Релиз 0. 5. 2 содержал небольшой фикс для обработки дат в ISO формате, что может пойти не так?. . .
Продвинутый ETL на C# из OLTP БД в хранилище
stackOverflow 22.06.2025
Работая в сфере корпоративной аналитики, я постоянно сталкиваюсь с одним и тем же - нужны чистые, структурированные и, главное, свежие данные. Без них современные аналитические системы, машинное. . .
Мастер-класс по микросервисам на Node.js
Reangularity 21.06.2025
Node. js стал одной из самых популярных платформ для микросервисной архитектуры не случайно. Его неблокирующая однопоточная модель и событийно-ориентированный подход делают его идеальным для. . .
Управление Arduino из WPF приложения
Wired 21.06.2025
Зачем вообще связывать Arduino с WPF-приложением? Казалось бы, у Arduino есть собственная среда разработки, своя экосистема, свои способы управления. Однако при создании серьезных проектов. . .
Звёздная пыль
kumehtar 20.06.2025
Я просто это себе представляю: как создавался этот мир. Как энергия слипалась в маленькие частички. Как они собирались в первые звёзды, как во вселенной впервые появился Свет. Как эти звёзды. . .
Создание нейросети с PyTorch
AI_Generated 19.06.2025
Ключевое преимущество PyTorch — его питоновская натура. В отличие от TensorFlow, который изначально был построен как статический вычислительный граф, PyTorch предлагает динамический подход. Это. . .
JWT аутентификация в ASP.NET Core
UnmanagedCoder 18.06.2025
Разрабатывая веб-приложения, я постоянно сталкиваюсь с дилеммой: как обеспечить надежную аутентификацию пользователей без ущерба для производительности и масштабируемости? Классические подходы на. . .
Краткий курс по С#
aaLeXAA 18.06.2025
Здесь вы найдете все необходимые функции чтоб написать програму на C# Задание 1: КЛАСС FORM 1 public partial class Form1 : Form { Spisok listin = new Spisok(); . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru