реклама на сайте
подробности

 
 
5 страниц V  < 1 2 3 4 > »   
Reply to this topicStart new topic
> программа для i8086, поможете написать курсовую?
Sergei_Ilchenko
сообщение Sep 2 2010, 08:24
Сообщение #16


Частый гость
**

Группа: Свой
Сообщений: 180
Регистрация: 17-05-05
Из: Санкт-Петербург
Пользователь №: 5 128



>> mov al,ax ;пересылаем ax в al============здесь компилятор сообщает об ошибке

ax - регистр 16-ти битовый и "состоящий" из ah и al - 8-ми битовых регистров.

пытаетесь в 8 бит записать 16...
Go to the top of the page
 
+Quote Post
skef
сообщение Sep 2 2010, 08:38
Сообщение #17


Частый гость
**

Группа: Участник
Сообщений: 85
Регистрация: 29-10-09
Из: брежнев
Пользователь №: 53 292



а так получится?
int 16h ; Читаем код нажатой клавиши
mov bl,al ;пересылаем из al в bl
mov ax,bx ;пересылаем из bx в ax
int 29h ; Выводим ax
cmp ax, ' ' ;нажатая кнопка - ПРОБЕЛ?
jz main

программа откомпилировалась. однако при запуске выдала не то, что я набирал, а два десятка нулей и собственно все.

Сообщение отредактировал skef - Sep 2 2010, 08:44


--------------------
на любой элемент найдется мощность, которая его сожжет.
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Sep 2 2010, 08:50
Сообщение #18


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Перед вызовом int 16h надо занести 0 в AH.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
Guest_@Ark_*
сообщение Sep 2 2010, 08:58
Сообщение #19





Guests






...
Go to the top of the page
 
+Quote Post
skef
сообщение Sep 2 2010, 08:59
Сообщение #20


Частый гость
**

Группа: Участник
Сообщений: 85
Регистрация: 29-10-09
Из: брежнев
Пользователь №: 53 292



теперь нули не показал. просто после введенного символа выдал окошко с сообщением:

С: \ WINDO WS\system32\cmd. exe
Процессор NTVDM обнаружил недопустимую инструкцию.
CS:0000 IP:0077 OP:f0 37 05 10 02 Для завершения работы приложения нажмите кнопку "Закрыть".


--------------------
на любой элемент найдется мощность, которая его сожжет.
Go to the top of the page
 
+Quote Post
Guest_@Ark_*
сообщение Sep 2 2010, 09:13
Сообщение #21





Guests






...
in_out: mov ah,0 ; Ожидаем нажатия и
int 16h ; читаем код клавиши
mov bl,al ; Сохраняем код
mov ah,0eh ; Выводим символ
int 10h ; на экран
cmp bl,' ' ; Если не нажата клавиша
jne in_out ; пробел, повторяем ввод
...
Go to the top of the page
 
+Quote Post
zltigo
сообщение Sep 2 2010, 09:32
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (skef @ Sep 2 2010, 10:38) *
а так получится?
int 16h ; Читаем код нажатой клавиши

А Вы уверены, что именно читаете? а AH что? А Вы уверены, что клавиша вообще нажата?
QUOTE
mov bl,al ;пересылаем из al в bl
mov ax,bx ;пересылаем из bx в ax

Совершенно нелепые действия.
QUOTE
int 29h ; Выводим ax

AX? Да ну?
QUOTE
cmp ax, ' ' ;нажатая кнопка - ПРОБЕЛ?

Круто, но что у Вас в AX? В в AH скорее всего мусор, но по любому AX не 0x20
Вообще-то все это почти хаотичный набор букв sad.gif


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Guest_@Ark_*
сообщение Sep 2 2010, 10:08
Сообщение #23





Guests






Цитата
Вообще-то все это почти хаотичный набор букв

zltigo, ну что Вы издеваетесь над бедным студентом. smile.gif Он сам не понимает, что пишет.
И вряд ли поймет при таком подходе к делу. Сразу предлагал ему поискать готовый курсовик...
Go to the top of the page
 
+Quote Post
skef
сообщение Sep 2 2010, 10:50
Сообщение #24


Частый гость
**

Группа: Участник
Сообщений: 85
Регистрация: 29-10-09
Из: брежнев
Пользователь №: 53 292



нашел несколько готовых курсовых. но это все не то. а защищать как же?
мне надо написать с 0 и до работующего по заданию.
по поводу асемблера - приходилось под микроконтроллеры (avr), но с i8086 я не знаком.


--------------------
на любой элемент найдется мощность, которая его сожжет.
Go to the top of the page
 
+Quote Post
Guest_@Ark_*
сообщение Sep 2 2010, 10:55
Сообщение #25





Guests






Цитата
мне надо написать с 0 и до работующего по заданию.

Вы даже задание не огласили...
А ввод-вывод я Вам написал в сообщении №21.
Пользуйтесь.
Go to the top of the page
 
+Quote Post
dimka76
сообщение Sep 2 2010, 11:03
Сообщение #26


developer
****

Группа: Свой
Сообщений: 902
Регистрация: 12-04-06
Из: Казань
Пользователь №: 16 032



Цитата(skef @ Sep 1 2010, 13:09) *
на ассемблере.
нашел какой-то TASM и турбо дебаггер от борланд, но пока не понимаю как в нем работать.


MASM посмотрите


--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Sep 2 2010, 11:08
Сообщение #27


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (@Ark @ Sep 2 2010, 12:08) *
zltigo, ну что Вы издеваетесь над бедным студентом.

Слегка раззадорить - да, издеваться - нет. Задание, конечно, получить надо, но вообще-то скорее всего там банальщина к ASM имеющая 10-е отношение - несколько BIOS/DOS вызовов sad.gif.

QUOTE (dimka76 @ Sep 2 2010, 13:03) *
MASM посмотрите

Не стоит - TASM таки солиднее, а в IDEAL mode, действительно близок к идеалу.



--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
skef
сообщение Sep 2 2010, 11:27
Сообщение #28


Частый гость
**

Группа: Участник
Сообщений: 85
Регистрация: 29-10-09
Из: брежнев
Пользователь №: 53 292



По запросу программы пользователь вводит с клавиатуры
последовательность целых трехзначных положительных десятичных чисел,
разделенных пробелами. Ввод последовательности заканчивается нажатием <Enter>.
Программа выводит эти же числа на экран в порядке возрастания величины числа,
причем в шестнадцатеричной системе счисления.

и вот как я это собирался сделать:
программа выводит текст введите числа
пользователь вводит числа, они отображаются, преобразуются в шестнадцатиричную форму.
по пробелу они запоминаются (массив). далее пользователь нажимает <Enter>,
и программа вычисляет наименьшее из массива.
далее это число удаляется из массива и вычислятся следующее число.
т.о. выводся в порядке возрастания.


--------------------
на любой элемент найдется мощность, которая его сожжет.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Sep 2 2010, 11:28
Сообщение #29


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(skef @ Sep 2 2010, 14:50) *
по поводу асемблера - приходилось под микроконтроллеры (avr), но с i8086 я не знаком.

Ну так для начала хотя бы систему команд надо глянуть, чтобы не копировать регистр сам в себя


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
VslavX
сообщение Sep 2 2010, 11:34
Сообщение #30


embarrassed systems engineer
*****

Группа: Свой
Сообщений: 1 083
Регистрация: 24-10-05
Из: Осокорки
Пользователь №: 10 038



Цитата(zltigo @ Sep 2 2010, 14:08) *
Не стоит - TASM таки солиднее, а в IDEAL mode, действительно близок к идеалу.

TASM-то солиднее, но TASM умер. Только недавно пришлось переписывать TASM-овый код на MASM - у заказчика объектник не линковался MSVC 2005 - он только COFF кушает, OMF - все, окончательно помер sad.gif. И ничего - ML 8.0 очень даже нормально - со времен 5.0 (современник TASM 3.1) он сильно прибавил , даже с локальными метками разобраться малой кровью получилось. Что хотел сказать-то: изучить TASM приятней, а MASM (ML) - полезней smile.gif.
Go to the top of the page
 
+Quote Post

5 страниц V  < 1 2 3 4 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 09:42
Рейтинг@Mail.ru


Страница сгенерированна за 0.01456 секунд с 7
ELECTRONIX ©2004-2016