Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
Prapor48
1 / 1 / 1
Регистрация: 17.12.2012
Сообщений: 83
1

Не работает программа

21.05.2015, 15:49. Просмотров 504. Ответов 17
Метки нет (Все метки)

Почему так? На что жалуется?
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
;   Копирует сектор (256 байт)
;   ------------------------------------
;   Входы: SI–начальный адрес сектора источника
;       DI – начальный адрес сектора приемника
;
Copy_sector:
        Push cx
        Pushhf           ; Сохранить флаг направления DF
        Cld             ; Сбросить этот флаг
        Mov cx, 256         ; В счетчике число байт
    Rep mov sb          ; Пересылка цепочки байт
        Popf                ; Восстановить флаг DF
        Pop cx
        Ret
0
Миниатюры
Не работает программа   Не работает программа  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.05.2015, 15:49
Ответы с готовыми решениями:

Не работает программа
Доброго Вам времени суток. Есть программа, которая должна считать сколько...

Не работает программа(
Привет всем, дано задание: все отрицательные числа массива превратить в ноль....

ПРограмма не работает
Вообщем есть программа, но она не работает. ПИшет, что ошибка в символе @....

Не работает программа!
CSEG segment org 100h Start: mov ah,3 int 10h mov ax,0B800h mov es,ax...

Не работает программа
имеется прога которая удаляет лишние пробелы и заменяет пробел на символ "_",...

17
Ethereal
4856 / 1876 / 245
Регистрация: 17.02.2013
Сообщений: 2,792
21.05.2015, 17:25 2
На Pushhf жалуется. Потому-что Pushf
2
Prapor48
1 / 1 / 1
Регистрация: 17.12.2012
Сообщений: 83
21.05.2015, 18:14  [ТС] 3
Etherel,
0
Миниатюры
Не работает программа  
Ethereal
4856 / 1876 / 245
Регистрация: 17.02.2013
Сообщений: 2,792
21.05.2015, 23:44 4
movsb пишется слитно.
2
Prapor48
1 / 1 / 1
Регистрация: 17.12.2012
Сообщений: 83
22.05.2015, 08:26  [ТС] 5
Ethereаl,
читай ниже ошибку, эту и исправил.
0
Ethereal
4856 / 1876 / 245
Регистрация: 17.02.2013
Сообщений: 2,792
22.05.2015, 16:10 6
Тогда чего тебе надо ? В подпрограмме Copy_Sector, которую ты показал, больше ошибок нет.
Компоновщик там main не может найти, но это к Copy_Sector не имеет отношения.
2
Prapor48
1 / 1 / 1
Регистрация: 17.12.2012
Сообщений: 83
22.05.2015, 16:22  [ТС] 7
Ethereаl,
Окей, программа то почему не работает?! Пути решения проблемы какие могут быть?
0
Ethereal
4856 / 1876 / 245
Регистрация: 17.02.2013
Сообщений: 2,792
22.05.2015, 16:55 8
Ты программу целиком показал ? Или только маленький кусочек ?
2
Prapor48
1 / 1 / 1
Регистрация: 17.12.2012
Сообщений: 83
22.05.2015, 23:44  [ТС] 9
Etherаl,
Целиком, естественно.
0
Ethereal
4856 / 1876 / 245
Регистрация: 17.02.2013
Сообщений: 2,792
23.05.2015, 01:44 10
Цитата Сообщение от Prapor48 Посмотреть сообщение
программа то почему не работает?
Так нечему в ней работать.

Добавлено через 34 минуты
Это вообще не программа.

Впрочем, если сделать вот так :
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
code     segment
;   Копирует сектор (256 байт)
;   ------------------------------------
;   Входы: SI-начальный адрес сектора источника
;        DI - начальный адрес сектора приемника
;
public Copy_sector
Copy_sector:
        Push cx
        Pushf           ; Сохранить флаг направления DF
        Cld             ; Сбросить этот флаг
        Mov cx, 256     ; В счетчике число байт
    Rep movsb           ; Пересылка цепочки байт
        Popf            ; Восстановить флаг DF
        Pop cx
        Ret
code    ends
        end
из этого можно скомпилировать гарный OBJ-файл.
2
Prapor48
1 / 1 / 1
Регистрация: 17.12.2012
Сообщений: 83
23.05.2015, 09:24  [ТС] 11
Etherаl,
Короче, вот.
0
Миниатюры
Не работает программа  
Ethereal
4856 / 1876 / 245
Регистрация: 17.02.2013
Сообщений: 2,792
23.05.2015, 18:51 12
Что вот ? Поговорку про обезъяну с гранатой слышал ? Ты зачем этот SASM скачал ? Он небось заточен под компиляцию 32-разрядных виндозных приложений. А у тебя в твоем примере код явно 16-разрядный MS-DOS-овский и код подпрограммы, а не программы. Найди TASM и TLINK версий 2.x 3.x и в командной строке исполняй
tasm /l/m program.asm
если тебе действительно надо получить 16-разрядный OBJ-файл с подпрограммой для MS-DOS-овских программ. Только он сам по себе работать не будет. Потому-что он - еще не программа.

И в любом случае развернуто пиши что ты хочешь сделать. Чтобы было понятно что тебе говорить. А пока непонятно что компилируешь непонятно чем, с непонятной целью, не приходя в сознание.
2
Prapor48
1 / 1 / 1
Регистрация: 17.12.2012
Сообщений: 83
29.05.2015, 11:53  [ТС] 13
Ehereаl,
Окей, понял тебя. Есть задание, запустить этот кусок программы или недопрограммы, в SАSM. Как это сделать - я не знаю, поэтому пишу сюда. Если можешь - помоги\подскажи\покажи. Как сделать так, что бы вышеизложенное заработало? Теоретически, программа должна выводить на экран сектор, входящий в сегмент операнда из программы, или как то так.
П.с. Либо, как вариант, программу можно запустить в DOSBox , только я опять таки не знаю как.
0
Ethereal
4856 / 1876 / 245
Регистрация: 17.02.2013
Сообщений: 2,792
30.05.2015, 00:15 14
Цитата Сообщение от Prapor48 Посмотреть сообщение
Теоретически, программа должна выводить на экран сектор
Выводить НА ЭКРАН ? В приведенном куске кода даже и близко нет никакого вывода на экран.

Добавлено через 2 минуты
Там только копирование 256-и байт подряд из одного места памяти в другое. И больше ничего.

Добавлено через 24 минуты
Цитата Сообщение от Prapor48 Посмотреть сообщение
Есть задание, запустить этот кусок программы или недопрограммы, в SАSM.
Цитата Сообщение от Prapor48 Посмотреть сообщение
Либо, как вариант, программу можно запустить в DOSBox
То-ли MS-DOS-овскую программу запустить под виндозным отладчиком, то-ли виндозную программу запустить в DOS-BOX. Может вашему преподавателю следует обратиться к врачу ?

Цитата Сообщение от Prapor48 Посмотреть сообщение
сектор, входящий в сегмент операнда из программы
Это набор бессмысленных слов. Во всяком случае в таком сочетании.
Цитата Сообщение от Prapor48 Посмотреть сообщение
или как то так.
Короче, сам не знаешь чего хочешь.

Так тебе все таки MS-DOS-овскую программу надо написать или виндозную ? Если первое, то на... SASM, если второе, то на... DOSBOX.
И чего на экран она выводить-то должна ? Про сектор, входящий в сегмент нам больше грузить не надо.
2
Prapor48
1 / 1 / 1
Регистрация: 17.12.2012
Сообщений: 83
01.06.2015, 13:26  [ТС] 15
Ethereal,
Первый вариант. В-общем, можете сделать так, что бы программа в SАSM что то делала? Нужно всего лишь запустить программу и сделать скриншот, что она нормально fункционирует.
0
Ethereal
4856 / 1876 / 245
Регистрация: 17.02.2013
Сообщений: 2,792
02.06.2015, 01:16 16
Так комплектом к SASM-у идет несколько исходников программ Hello, world. Их-то откомпилируй.
Открой программу NASMHello.asm . Она там наготово есть. Нажми построить и запустить.
Она там Hello, world выдаст в правом нижнем окне. И заскриншоть.
2
Prapor48
1 / 1 / 1
Регистрация: 17.12.2012
Сообщений: 83
02.06.2015, 08:28  [ТС] 17
Ethereаl,
Вроде бы все правильно. Это и есть ответ, или еще что то надо сделать?
0
Миниатюры
Не работает программа  
Ethereal
4856 / 1876 / 245
Регистрация: 17.02.2013
Сообщений: 2,792
02.06.2015, 10:52 18
Ну кто-же кроме тебя знает что тебе надо сделать и какой получить ответ ?
А по поводу Hello, world в правом нижнем окне, то да, эта программа все что должна была сделать - сделала. Ничего другого не будет.
1
02.06.2015, 10:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.06.2015, 10:52

Не работает программа (Пирогов)
Изучаю ассемблер по Пирогову "Учебный курс". Написал программу, пытаюсь...

Неправильно работает программа
Что то не пойму, допустим если в консоль ввести пробел пробел и 11 в конце...

Неправильно работает программа
Есть программа из одной книги. Она должна печатать на принтере. При запуске...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru