Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на Assembler

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133

Открыть новую тему     Написать ответ в эту тему

ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Обсуждаются все вопросы, связанные с программированием на Ассемблере как общего так и конкретного характера.
 
важное примечание
для тех кто считает, что здесь место халявных исполнений курсовых и лабораторных работ.
тут обычно помогают тем, кто сам хоть что-то пытается понять и сделать, но что-то не понимает, что-то не получается...
ведь ассемблер изучают и задачки на нём дают обычно не менеджерам по продажам и даже не всем физ.-мат. специальностям
вы сами избрали этот путь? вот и идите по нему сами, ножками... с ручками и с головой...
 
короче, тут не сборище придурков-альтруистов, которым нечего делать и они ждут-не дождутся когда вы их попросите
что-то сделать _за_ вас
если позарез надо и вы даже готовы заплатить, тогда вам сюда
удачи
 
некоторые ресурсы
http://www.wasm.ru/ Самый популярный русскоязычный ресурс. https://wasm.in/
Ассемблер - книги (ASM, Assembler)
 
Просьба все большие листинги оформлять тегом more.
 
если вам вдруг не отвечают или ответ вас не устраивает
и вообще полезно прочитать всем спрашивающим

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 01:42 29-11-2006 | Исправлено: akaGM, 17:44 11-06-2020
Abs62



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bomzzz
Читай описание функции CreateFile, флаги FILE_SHARE_******.

----------
0 программистов ругал сердитый шеф
Потом уволил одного, и стало их FF

Всего записей: 6080 | Зарегистр. 22-10-2005 | Отправлено: 11:42 11-09-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
http://www.vsokovikov.narod.ru/New_MSDN_API/Menage_files/fn_createfile.htm
 
а тогда у файла будет свой указаетль для каждого открывшего его процесса или надо самому считать указатель через овердапед структуру. тут чета ниче не написано пра ето.

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 14:07 11-09-2010
Abs62



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bomzzz
У каждого хэндла, возвращаемого CreateFile, свой указатель.

----------
0 программистов ругал сердитый шеф
Потом уволил одного, и стало их FF

Всего записей: 6080 | Зарегистр. 22-10-2005 | Отправлено: 15:27 11-09-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
спс

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 15:29 11-09-2010
Vostrikovskiy

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кто-нибудь сталкивался с эффективной программой перемножения матриц?

Всего записей: 403 | Зарегистр. 19-11-2008 | Отправлено: 21:48 15-09-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vostrikovskiy
википедию посмотри

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 04:08 16-09-2010
Benchmark



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bomzzz

Цитата:
как досовская программа может получить свое имя?

 
Ну например так:
 
mov     ax, 1203h
int     2Fh
lds     dx, ds:[bp-1Ah]
 
В результате dx будет указывать на имя программы. Заработает это под windows или нет - х.з.

Всего записей: 6833 | Зарегистр. 01-10-2002 | Отправлено: 17:17 18-09-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
как в TASM скомпилировать BIN файл?

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 11:35 20-09-2010
VIP777VIP

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Люди, хочу начать учить ассемблер. Подскажите, плиз, с чего начать? Какую литературу почитать?

Всего записей: 101 | Зарегистр. 24-09-2010 | Отправлено: 11:45 01-10-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
любую. по ассемблеру нет хороших книжек - хороших в смсысле просто и доходчиво написанных, в расчете на знания школьника. одной не обойдешься. будешь из разных выкалупывать. по крайней мере мне не попадалось. для любой уже нужна некая база знаний, опираясь на которую ты сам и выбирай что тебе лучше

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 12:11 01-10-2010
iMPRE7

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день,
 
Мне нужно ввести с клавиатуры восьмеричное число и перевести его в десятичное. Сама процедура мне понятна. Но как дать асму знать что это именно восьмеричное число? Пробовал добавлять "o" например 173o. Но мне это не очень подходит. Поделитесь пож кто что знает.
 
Спс заранее

Всего записей: 3 | Зарегистр. 12-10-2010 | Отправлено: 17:45 12-10-2010 | Исправлено: iMPRE7, 00:51 14-10-2010
Benchmark



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
iMPRE7

Цитата:
Пробовал добавлять "o" например 173o

 
А зачем ?
 
В восьмеричном числе могут быть только цифры от 0 до 7, т.е. символы с кодами от 30h до 37h. Если введенная строка удовлетворяет этому условию, значит считать, что введено восьмеричное число, если в строке нашелся любой другой символ - выводить ошибку. Ну и код что-то вроде:
 
                lea si, input_str    ; введенная строка
                mov cx, input_str_length   ;длина введенной строки
                test cx, cx
                jz error   ; строка нулевой длины нам не нужна
check_input:
                lodsb
                cmp al, 30h
                jb error
                cmp al, 37h
                ja error
                loop check_input     ; проверяем поочередно все символы
                jmp convert_input   ; переходим на код конвертации в десятичное число
....
error:
                тут_ругаемся_на_ошибку

Всего записей: 6833 | Зарегистр. 01-10-2002 | Отправлено: 02:21 15-10-2010
DeadStrelok



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте)
Задали такую задачку:
Заполнить символьный массив размерностью 3х3 и подсчитать количество всех согласных.
Ввод массива я собираюсь осуществить через с++, т.к. не знаю как сделать это на ассемблере.
Объясните, пожалуйста, как этот массив перевести во вставку ассемблера asm{ }, в которой, собственно, и будет проводиться подсчет, и как взять символ, например [0][0], для дальнейшей работы с ним.
Извеняюсь, если много требую, но помогите хоть с чем-нибуть.

Всего записей: 40 | Зарегистр. 01-12-2009 | Отправлено: 23:56 15-10-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
но тогда тебе надо знать в какой форме и в каком месте С хранит в памяти данные массива.  
на ассемблере, да так же практически - создай линейный массив а обрабатывай его двумя индексами

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 00:00 16-10-2010
DeadStrelok



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Дело в том, что в ассемблере нам только показали арифметические операторы, операторы ветвления и циклы, в которых я более менее разобрался. Но как осуществляется ввод или как работать с массивами, тем более символьными, я понятия не имею. Сейчас в поисках нормальной литературы.

Всего записей: 40 | Зарегистр. 01-12-2009 | Отправлено: 00:32 16-10-2010 | Исправлено: DeadStrelok, 00:57 16-10-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
в ассемблере нет массивов, если готового макроса нет конечно. просто строку делаешь. оперативная память линейная все равно.  
у тебя ассемблер то какой 32 битный или 16 битный?
для ассемблерных вставок того что вам показали как бы достаточно если 32 битный

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 04:14 16-10-2010 | Исправлено: bomzzz, 04:14 16-10-2010
DeadStrelok



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bomzzz
 
masm 5.10 16 битный

Всего записей: 40 | Зарегистр. 01-12-2009 | Отправлено: 13:31 16-10-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DeadStrelok
http://www.emu8086.com/
вот эту прогу скачай. ключ найдешь в инете, тут все простейшие примеры есть и ввод с клавиатуры и печать.

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 13:34 16-10-2010
DeadStrelok



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bomzzz
Cпасибо, попробую разобраться...

Всего записей: 40 | Зарегистр. 01-12-2009 | Отправлено: 14:18 16-10-2010
iMPRE7

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Мне нужно восьмеричное введенное число сконвертировать в десятичное:  
 
Я знаю что мне нужен:
1. регистр для хранения текущего множителя (8 в степени Х)
2. регистр для хранения 1-ой цифры умноженной на 8^X
3. регистр для хранения суммы (произведения цифры на 8^X)
 
И еще по-моему вывести рез. можно только через DX(DL), если не ошибаюсь?
 
Мне нужно сделать что-то наподобие этого(моя неудачная попытка):
 
в секцию .data записал строку:
schital     db        ?
чтобы знать длину числа
 
Процедура:
 
  PROC Schiot
    PUSH    ax
    PUSH    cx
    PUSH    dx
 
    MOV    ax, 1
    MOV    cl, 0
    PUSH    "$$"
 
  Cikl:
    MUL    dx, ax          ;
    MUL    ax, 8
    PUSH     dx
    CMP    cl, schital:
    JB    Cikl
 
;Здесь не знаю как сделать именно 3 пункт из моего списка и как выводить это число
 
;                             ...........
 
  Konec:
 
    POP    dx
    POP    cx
    POP    ax
    RET
    Schiot ENDP
 
Помогите пож это реализовать. Скажите хотя бы в чем ошибка, а уж если с  тем в какие регистры что совать подскажете буду оч оч благодарен.
Завтра решается моя судьба, а я месяц над прогой тупел по 4ч в день и не выходит  (

Всего записей: 3 | Зарегистр. 12-10-2010 | Отправлено: 13:59 17-10-2010
Открыть новую тему     Написать ответ в эту тему

Страницы: 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на Assembler


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru