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

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



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Ребята помогите пожалуйста. Выздоровил препад и ничего не объясняя дал курсовую. Кто может напишите ее пожалуйста. Вот задание.
 
Ввести с клавиатуры формулу где:
<формула>::=<цифра>(<формула><знак><формула>)
<знак>::=+ | -
<цифра>::= 0|1|2|3|4|5|6|7|8|9
 
Создать файл ААА.ТХТ и записать в него эту формулу. Вычислить ее значение и дописать его в файл.
Выдать содержимое файла на экран.
Например: 22+(38-3)+12=69

Всего записей: 5 | Зарегистр. 03-03-2007 | Отправлено: 21:43 20-11-2007
akaGM

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

Всего записей: 24107 | Зарегистр. 06-12-2002 | Отправлено: 22:12 20-11-2007
faZZ



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM
вот нашел в принципе:

Код:
program findprime;
Uses CRT;  
Var n:longint;  
Function Simple(n:longint):boolean;  
Var i:longint;simp:boolean { simp=false, если встретился делитель числа n} ;  
begin  
if n=2 then  
  Simple:=true  
else  
  if n mod 2 = 0 then  
    Simple:=false  
  else  
  begin  
    simp:=true;  
    i:=3;  
    while (i<=trunc(sqrt(n))) and simp do  
      if n mod i =0 then  
        simp:=false  
      else  
        i:=i+2;  
    if simp then  
      Simple:=true  
    else  
      Simple:=false  
  end  
end;  
 
begin
clrscr;  
readln(n);  
if Simple(n) then  
  writeln('Yes')  
else  
  writeln('No')  
end.  

 
теперь остается в асм перегнать, можеш помочь?

----------
жЫзнь интересная штука..

Всего записей: 1642 | Зарегистр. 10-01-2004 | Отправлено: 09:24 21-11-2007 | Исправлено: faZZ, 09:28 21-11-2007
Kotus



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Мужики я бы сделал, но нам нихрена не объясняли. Еслибы в С или Паскале это запросто, а в Ассемблере для меня это китайская грамота. Кто может напишите пожалуйста. Я спрашивал у 4-го курса - там глухо, никто ничего не умеет.
А учусь на ф-те "Информационные технологии"

Всего записей: 5 | Зарегистр. 03-03-2007 | Отправлено: 10:13 21-11-2007
akaGM

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

Всего записей: 24107 | Зарегистр. 06-12-2002 | Отправлено: 14:20 21-11-2007
Abs62



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

Код:
 
value    dd    ? ; Здесь должно быть проверяемое число
is_simple    dd    ? ; Здесь будет результат: 1 - простое число, 0 - нет
;
    mov    eax,value
    cmp    eax,2
    jbe    @@SIMPLE
    mov    ebx,3
@@LOOP:
    push    eax
    xor    edx,edx
    div    ebx
    pop    eax
    cmp    edx,0
    jz    @@NOT_SIMPLE
    add    ebx,2
    cmp    ebx,eax
    jb    @@LOOP
@@SIMPLE:
    mov    eax,1
    jmp    @@EXIT
@@NOT_SIMPLE
    xor    eax,eax
@@EXIT:
    mov    is_simple,eax
 
 
Это для беззнаковых целых, понятно. И с вычислением корня я не заморачивался - лениво.

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

Всего записей: 6080 | Зарегистр. 22-10-2005 | Отправлено: 18:37 21-11-2007
Kotus



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
faZZ спасибо тебе. Хоть кто-то что-то написал. Если я этот текст вставить в "линкер" или как он правильно называется, он работать будет? Или это наброски? Чесно ничего не понимаю. (

Всего записей: 5 | Зарегистр. 03-03-2007 | Отправлено: 18:59 21-11-2007
akaGM

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

Всего записей: 24107 | Зарегистр. 06-12-2002 | Отправлено: 19:06 21-11-2007 | Исправлено: akaGM, 19:08 21-11-2007
Kotus



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Извините. Я растерялся

Всего записей: 5 | Зарегистр. 03-03-2007 | Отправлено: 19:10 21-11-2007
YuraH



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Abs62 16:37 21-11-2007
Цитата:
И с вычислением корня я не заморачивался - лениво.
Тут есть готовое решение. Правда, там для слов, но можно и на dword переделать.

Всего записей: 1714 | Зарегистр. 14-07-2004 | Отправлено: 19:36 21-11-2007
ValaR4ik

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
нужна помощь. нужно написать прогу на лабараторную.
 
 
По адресу 200 находится 12-ти байтное число.
по адресу 210 второе 12-ти байтное число.
по адресу 230 разместить их сумму.
по адресу 240 разместить их разность.
по адресу 250 разместить их разность, но при написании не использовать команды вычитания.
Все это должно быть организорвано в  цикле.
 
плз. помогите. эт важно. я не программер и туго даеца мне Ассемблер.

Всего записей: 7 | Зарегистр. 22-11-2007 | Отправлено: 13:47 22-11-2007
Lyrik

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ValaR4ik
1. по адресу 200? это адрес 0:0200h? или все же ds:0200h?
2. как представляются отрицательные числа? в каком коде?
3.
Цитата:
Все это должно быть организорвано в  цикле.

что именно в нем должно быть? кол-во итераций?

Всего записей: 388 | Зарегистр. 04-04-2006 | Отправлено: 14:34 22-11-2007
akaGM

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

Цитата:
не использовать команды вычитания

наверное, не отрицательные числа, а что-то типа:
 
 mov eax, 10
 mov ebx, 20
 neg ebx
 add eax, ebx ; eax = 10 - 20
 

Цитата:
по адресу 200

наверняка
        ORG 200h
 

Всего записей: 24107 | Зарегистр. 06-12-2002 | Отправлено: 14:49 22-11-2007
Lyrik

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

Цитата:
наверное, не отрицательные числа, а что-то типа:

ну так мона, если числа отрицательные числа представлены в ДК, но пример, не совсем корректный:

Цитата:
add eax, ebx ; eax = 10 - 20

на самом деле тут получится 10 - 20 - 1
нужно так:
 mov eax, 10  
 mov ebx, 20  
 neg ebx  
 inc ebx ; теперь ebx = -20
 add eax, ebx ; 10 + (-20) = -10
 

Всего записей: 388 | Зарегистр. 04-04-2006 | Отправлено: 16:19 22-11-2007
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
а так без ДК?
 
  mov ebx, 20
  or ebx, 80000000h
 
 
да вообще
  move ebx, -20
гы

Всего записей: 24107 | Зарегистр. 06-12-2002 | Отправлено: 16:52 22-11-2007 | Исправлено: akaGM, 16:56 22-11-2007
aZaZello77

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

Цитата:
 По адресу 200 находится 12-ти байтное число.
по адресу 210 второе 12-ти байтное число.
по адресу 230 разместить их сумму.
по адресу 240 разместить их разность.
по адресу 250 разместить их разность, но при написании не использовать команды вычитания.
Все это должно быть организорвано в  цикле.  

 
Где-то я с подобным встречался. Дай-ка угадаю - это лаба по программированию какого-то конкретного микроконтроллера на каком-то конкретном ассемблере?
 
Посмотри на методичке название ассемблера или контроллера, на ассемблере которого надо сделать задание. И заодно тут приведи любой маленький пример программы для этого контроллера.

Всего записей: 14 | Зарегистр. 19-06-2005 | Отправлено: 17:49 22-11-2007
Lyrik

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

Цитата:
а так без ДК?  
 
  mov ebx, 20  
  or ebx, 80000000h

Ну да, это уже ПК

Всего записей: 388 | Зарегистр. 04-04-2006 | Отправлено: 17:53 22-11-2007
Umbrall



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
помогите нужно на завтра прога что с цветного рисунка делает черно-белый а я понять немогу как ее с делать
PS: желатьно укажить на чем именно писалась и вылажить где то в инете с компилированое чудо
плиз

Всего записей: 168 | Зарегистр. 18-03-2006 | Отправлено: 19:13 22-11-2007
ValaR4ik

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Микропроцессор BM86 учим. )) Числа со знаками еще не учили вроде.
 
пример программы?
1.Текст программы пересылки данных с использованием индексной адресации:
 
          mov si,200      ; инициализация указателя si;
          mov di,240      ; ввод адреса массива-приёмника;
          mov cl,10    ; инициализация счётчика цикла;
CYCLE:mov al,[si]    ; пересылка в МП байта из источника;
          mov [di],al    ;  пересылка байта из МП в приёмник;
          inc si    ; вычисление адреса следующей ячейки источника;
          inc di    ; продвижение указателя приёмника;
          dec cl    ;  модификация счётчика цикла;
          jnz CYCLE       ; проверка выхода из цикла;
          hlt                  ; завершение пересылки массива.

Всего записей: 7 | Зарегистр. 22-11-2007 | Отправлено: 03:24 25-11-2007
ValaR4ik

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

Цитата:
По адресу 200 находится 12-ти байтное число.  
по адресу 210 второе 12-ти байтное число.  
по адресу 230 разместить их сумму.  
по адресу 240 разместить их разность.  
по адресу 250 разместить их разность, но при написании не использовать команды вычитания.  
Все это должно быть организорвано в  цикле.  
 

Все еще актуально.
адресса 200 210 230 240 и тд. это строки которые мы наблюдаем когда наберем команду D200.

Всего записей: 7 | Зарегистр. 22-11-2007 | Отправлено: 21:47 25-11-2007
Открыть новую тему     Написать ответ в эту тему

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