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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
Qraizer



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Prober,

----------
Одни с годами умнеют, другие становятся старше.

Всего записей: 613 | Зарегистр. 08-08-2006 | Отправлено: 03:14 20-10-2009
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AX=0000  BX=0000  CX=C2C4  DX=0101  SP=FFEE  BP=0000  SI=0000  DI=0000  
DS=13A0  ES=13A0  SS=13A0  CS=13A0  IP=0106   NV UP DI NG NZ AC PO NC  
 
не уверен что правильно сделал - не пользовался раньше дебугером. 160 гб
но в ax вроде кода ошибки нету
http://forum.sources.ru/index.php?showtopic=214452
 
Как работать с большими (>30gb) дисками через int 13 в досе
http://forum.codenet.ru/archive/index.php/t-2570.html

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 03:35 20-10-2009 | Исправлено: bomzzz, 04:12 20-10-2009
SeverniyOLEN



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
эмс, а ничё если я  так бесцеремонно буду брать ваши коды?

Всего записей: 2 | Зарегистр. 20-10-2009 | Отправлено: 13:28 20-10-2009
bomzzz



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

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 14:53 20-10-2009
kraps



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ну, надеюсь сюда
господа, нет ли у кого-нибудь примеров программ (точнее самого кода), желательно не очень сложных (если с комментами, то вообще отлично) под ARM9 на Assembler'e?

Всего записей: 65 | Зарегистр. 11-12-2006 | Отправлено: 20:19 20-10-2009
RoniGT

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте!!! Не могли бы вы пожалуйста помочь!!! Дали курсовой сказали написать на 2-ух языках его, ассемблер и любой другой... Так вот 2-ым выбрал Паскаль написал на нем программу, а вот с ассемблером не сталкивался =(  Помогите люди добрые......
Собственно сама задачка: Дан массив действительных чисел, размерность которого N. Подсчитать количество отрицательных, положительных, нулевых элементов.
Листинг в паскале такой:
Подробнее...

Всего записей: 12 | Зарегистр. 19-03-2009 | Отправлено: 15:36 02-11-2009
Lyrik

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RoniGT
Ввод и вывод массивов поищите в нете или же в этой теме, должно быть. А сам алгорити можно решить
так
akaGM
спасибо за замечание! исправил.

Всего записей: 388 | Зарегистр. 04-04-2006 | Отправлено: 16:52 02-11-2009 | Исправлено: Lyrik, 18:46 02-11-2009
akaGM

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

Цитата:
Дан массив действительных чисел

Всего записей: 24107 | Зарегистр. 06-12-2002 | Отправлено: 17:00 02-11-2009 | Исправлено: akaGM, 17:05 02-11-2009
RoniGT

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Огромное спасибо всем кто откликнулся и помог!!!! =)))
Еще бы хотел попросить, если не трудно хотя бы в кратких объяснить что написано в коде!!!

Всего записей: 12 | Зарегистр. 19-03-2009 | Отправлено: 04:36 04-11-2009
Dhaighal



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Люди! Спасайте задали задачку решить систему уравнений
http://pic.ipicture.ru/uploads/091106/6Nxiuejlvs.jpg
на ассемблере для микроконтроллеров PIC (вот ужас-то!)
Ничего в нем не соображаю... Спасите!!!

Всего записей: 2 | Зарегистр. 01-07-2009 | Отправлено: 22:13 05-11-2009 | Исправлено: Dhaighal, 01:00 06-11-2009
temir4eg

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем доброго времени суток)
 
Нужно написать программу,которая бы определяла вводимый с клавиатуры элемент прогрессии (так же с клавиатуры вводится первый элемент и шаг прогрессии).
 
Сам код :  
my_data segment
    mes1 db  'Enter a (first element) = $'
    mes2 db  'Enter d (step) = $'
    mes3 db  'Enter n (number of element) = $'
    mes4 db  'Result = $'
my_data ends
 
my_stack segment stack
    dw 100 dup(?)
my_stack ends
 
my_code segment
    
        assume cs:my_code,ss:my_stack,ds:my_data
    extrn write:near
    extrn read:near
 start:
    mov ax, my_data
    mov ds,ax    
    
    mov ah,9
    lea dx,mes3
    int 21h
    call read     ;ax ;n
    
    mov cx,ax     ;n
 
    mov ah,9
    lea dx,mes2
    int 21h    
        call read     ;ax ;d
    mul cx        ;d*n
    mov cx,ax     ;d*n
    mov ah,9
    lea dx,mes1
    int 21h    
        call read     ;ax ;a
    
    mov bx,2      ;2
    mul bx        ;2*a
    add cx,ax     ;2*a + d*n
    sub cx,1      ;2*a + d*n - 1
 
    mov ah,9
    lea dx,mes4
    int 21h    
        mov ax,cx
    call write
 
    mov ah, 4ch
    int 21h
my_code ends
 end start
 
Программа считает элемент...но не верно.\Подскажите пожалуйста,где ошибка?
 
З.Ы. Думаю что напутал что-то с регистрами.

Всего записей: 3 | Зарегистр. 06-11-2009 | Отправлено: 02:51 06-11-2009 | Исправлено: temir4eg, 02:54 06-11-2009
Prober

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
temir4eg
Навскидку:
1) Почему формула 2*a+d*n-1, хотя для арифметической прогрессии должно быть a+d*(n-1)?
2) Числа не должны быть слишком большими, чтобы результат помещался в 16-разрядный регистр.
3) Если промежуточный результат пишется в CX, то надо убедиться, что этот регистр не затирается при вызовах INT21 и READ.

Всего записей: 680 | Зарегистр. 01-11-2006 | Отправлено: 04:56 06-11-2009
temir4eg

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Prober
 
1.Преподаватель сказал вычислять по такой форме.
2.Брались числа 1 (превый элемент),2 (шаг прогрессии) и 6(номер элемента)
3юКак это проверить?

Всего записей: 3 | Зарегистр. 06-11-2009 | Отправлено: 11:09 06-11-2009
Prober

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
temir4eg
1. Если считать по правилам арифметики, то в примере из п. 2 будет ответ 11, если по формуле вашего препода - то 13.
Цитата:
Программа считает элемент...но не верно.
А сколько в данном случае должно получиться, чтобы признать результат верным?
2. С такими маленькими числами переполнение не грозит.
3. Для INT21 - перечитать документацию. READ - самописная функция, взять ее исходник и посмотреть. Ну, или загрузить готовую программу в DEBUG и оттрассировать.

Всего записей: 680 | Зарегистр. 01-11-2006 | Отправлено: 13:11 06-11-2009
temir4eg

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Должно получаться 13.
То есть проблема заключается либо в прерывании либо в считывании?

Всего записей: 3 | Зарегистр. 06-11-2009 | Отправлено: 16:02 06-11-2009
Prober

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
temir4eg
Скорее всего в READ, 9-ую функцию 21-го прерывания я потестил, CX не сбивается.
 
Для такой программы серьезный отладчик не нужен, грузи в DEBUG и выполняй пошагово, после каждого шага смотри, что в регистрах. Или исполняемый файл выложи, кто-нибудь посмотрит и поставит диагноз.

Всего записей: 680 | Зарегистр. 01-11-2006 | Отправлено: 17:02 06-11-2009
Abs62



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А сохранить содержимое CX перед вызовом подозрительной функции и восстановить после - проблема?

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

Всего записей: 6080 | Зарегистр. 22-10-2005 | Отправлено: 17:27 06-11-2009
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
temir4eg
Код:
 
start:
    mov ax, my_data
    mov ds,ax    
     
    mov ah,9
    lea dx,mes3
    int 21h
xor eax, eax
    call read     ;ax ;n
xor ecx, ecx    
    mov cx,ax     ;n
 
    mov ah,9
    lea dx,mes2
    int 21h    
xor eax, eax
        call read     ;ax ;d
xor edx, edx
    mul cx        ;d*n
    mov cx,ax     ;d*n
    mov ah,9
    lea dx,mes1
    int 21h    
xor eax, eax
        call read     ;ax ;a
xor ebx, ebx    
xor edx, edx
    mov bx,2      ;2
    mul bx        ;2*a
    add cx,ax     ;2*a + d*n
    sub cx,1      ;2*a + d*n - 1
 
    mov ah,9
    lea dx,mes4
    int 21h    
        mov ax,cx
    call write
 
    mov ah, 4ch
    int 21h
my_code ends
 end start

вот так всё работает под 32-ХРюшкой
а read/write _обязаны_ ломать CX (преобразования чисел в/из массива символов)
 
а вообще лучше всё же уже похерить 16-битную арифметику

Всего записей: 24107 | Зарегистр. 06-12-2002 | Отправлено: 18:32 10-11-2009 | Исправлено: akaGM, 18:41 10-11-2009
njne

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Дан массив однобайтовых чисел в прямом коде со знаком. Начальный адрес - $120, код последнего элемента -$Е1. Найти среднее арифметическое максимального и минимального положительных чисел и количество положительных чисел.(помогите решить до чеиверга)

Всего записей: 1 | Зарегистр. 10-11-2009 | Отправлено: 22:42 10-11-2009
nova2012

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем доброго времени суток!!! Помогите решить задачи на асме плииз:
 
№1. Ввести с клавиатуры строку символов. Произвести в строке циклический сдвиг на 1 позицию вправо. (Например: “Hubba-Bubba” --> “aHubba-Bubb”). Результат вывести на экран.
№2. В строке символов заменить заданный символ  на другой (заменяемый и заменяющий символ вводятся с клавиатуры).  
№3. Вывести на экран 8 квадратов разного цвета таким образом: первый квадрат – самый большой, в нем второй – чуть поменьше, во втором - третий – еще меньше и т.д.
№4. В графическом режиме (точками) провести цветную линию из одного угла экрана в другой угол.

Всего записей: 2 | Зарегистр. 12-11-2009 | Отправлено: 16:11 12-11-2009
Открыть новую тему     Написать ответ в эту тему

Страницы: 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