Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Assembler

Автор: akaGM
Дата сообщения: 20.11.2007 21:12
ну да...
парсер на ассемблере это здорово...
а тебе точно на ассемблере? на кого учишься-то?
Автор: faZZ
Дата сообщения: 21.11.2007 08:24
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.
Автор: Kotus
Дата сообщения: 21.11.2007 09:13
Мужики я бы сделал, но нам нихрена не объясняли. Еслибы в С или Паскале это запросто, а в Ассемблере для меня это китайская грамота. Кто может напишите пожалуйста. Я спрашивал у 4-го курса - там глухо, никто ничего не умеет.
А учусь на ф-те "Информационные технологии"
Автор: akaGM
Дата сообщения: 21.11.2007 13:20
faZZ
не, я плохо асм знаю...

Kotus
см. строчку выше...
Автор: Abs62
Дата сообщения: 21.11.2007 17:37
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
Автор: Kotus
Дата сообщения: 21.11.2007 17:59
faZZ спасибо тебе. Хоть кто-то что-то написал. Если я этот текст вставить в "линкер" или как он правильно называется, он работать будет? Или это наброски? Чесно ничего не понимаю. (
Автор: akaGM
Дата сообщения: 21.11.2007 18:06
Kotus
нда...
это вообще не тебе!

не теряй время, иди сюда
вряд ли кто будет здесь писать задание за тебя, т.к. оно довольно серьёзное для ассемблера...
было б просто -- давно бы помогли...
Автор: Kotus
Дата сообщения: 21.11.2007 18:10
Извините. Я растерялся
Автор: YuraH
Дата сообщения: 21.11.2007 18:36
Abs62 16:37 21-11-2007
Цитата:
И с вычислением корня я не заморачивался - лениво.
Тут есть готовое решение. Правда, там для слов, но можно и на dword переделать.
Автор: ValaR4ik
Дата сообщения: 22.11.2007 12:47
нужна помощь. нужно написать прогу на лабараторную.


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

плз. помогите. эт важно. я не программер и туго даеца мне Ассемблер.
Автор: Lyrik
Дата сообщения: 22.11.2007 13:34
ValaR4ik
1. по адресу 200? это адрес 0:0200h? или все же ds:0200h?
2. как представляются отрицательные числа? в каком коде?
3.
Цитата:
Все это должно быть организорвано в цикле.

что именно в нем должно быть? кол-во итераций?
Автор: akaGM
Дата сообщения: 22.11.2007 13:49

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

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

mov eax, 10
mov ebx, 20
neg ebx
add eax, ebx ; eax = 10 - 20


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

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

Автор: Lyrik
Дата сообщения: 22.11.2007 15:19
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
Автор: akaGM
Дата сообщения: 22.11.2007 15:52
а так без ДК?

mov ebx, 20
or ebx, 80000000h


да вообще
move ebx, -20
гы
Автор: aZaZello77
Дата сообщения: 22.11.2007 16:49
ValaR4ik


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


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

Посмотри на методичке название ассемблера или контроллера, на ассемблере которого надо сделать задание. И заодно тут приведи любой маленький пример программы для этого контроллера.
Автор: Lyrik
Дата сообщения: 22.11.2007 16:53
akaGM

Цитата:
а так без ДК?

mov ebx, 20
or ebx, 80000000h

Ну да, это уже ПК
Автор: Umbrall
Дата сообщения: 22.11.2007 18:13
помогите нужно на завтра прога что с цветного рисунка делает черно-белый а я понять немогу как ее с делать
PS: желатьно укажить на чем именно писалась и вылажить где то в инете с компилированое чудо
плиз
Автор: ValaR4ik
Дата сообщения: 25.11.2007 02:24
Микропроцессор 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 ; завершение пересылки массива.
Автор: ValaR4ik
Дата сообщения: 25.11.2007 20:47

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

Все еще актуально.
адресса 200 210 230 240 и тд. это строки которые мы наблюдаем когда наберем команду D200.
Автор: RUSL88
Дата сообщения: 26.11.2007 20:37
Помогите пожалуйста решить задачку на ассемблере:

Создать файл ААА.ТХТ ввести матрицу и столбец чисел, записать их в файл
Умножить заданую матрицу на столбец и результат дописать в файл выдать содержимое файла на экран.

Очень прошу кто может помогите...

Добавлено:
матрица должна быть 3х3
Автор: 0minous
Дата сообщения: 27.11.2007 16:14
Помогите решить задачку....

Записать в регистре DPTR наибольшее положительное число и его адрес из массива однобайтных чисел со знаком 30H-2FH РПД.

микропроцессор МК-51
Автор: Umbrall
Дата сообщения: 28.11.2007 09:50
вопрос какое прерывание отвечает за инициализацию модема и сетевой карты
вообще задача:
нужно инициализировать есть ли на компе модем или сетевая и нужно определить скорость соеденения

Добавлено:
задача для доса
Автор: ValaR4ik
Дата сообщения: 28.11.2007 18:32
Ребята плз очень надо!!!

Цитата:
По адресу 0200h находится 12-ти байтное число.
по адресу 0210h второе 12-ти байтное число.
по адресу 0230h разместить их сумму.
по адресу 0240h разместить их разность.
по адресу 0250h разместить их разность, но при написании не использовать команды вычитания.



Все это должно быть организорвано в цикле.

Микропроцессор ВМ86
Автор: Sky youth
Дата сообщения: 29.11.2007 15:15
Привет всем! Помогите, я тут новичок, где можно скачать turbo assembler 3.0? Скиньте ссылку пожалуйста
Автор: SERGE_BLIZNUK
Дата сообщения: 29.11.2007 18:46
Sky youth
Цитата:
где можно скачать turbo assembler 3.0?
если вас не смущает то, что в архиве минимальный набор (TASM.EXE TLIB.EXE TLINK.EXE) - то положил для вас на рапиду (117 кб)
p.s. разумеется, это утилиты командной строки...


Добавлено:
а TASM5 и пара "ласковых" слов про него можно найти вот здесь - [WASM_RU] ИНСТРУМЕНТЫ Компиляторы
Автор: aZaZello77
Дата сообщения: 30.11.2007 04:34
ValaR4ik

Цитата:
Микропроцессор ВМ86


Извиняй, похоже никто тебе не поможет. Это, видимо, экзотика какая-то (ну, по крайней мере для меня - экзотика). Специально тратить время, чтобы найти и изучить систему команд, чтобы понять, чем она от x86 отличается - ни времени, ни желания. Как и у тебя самого, видимо.
Автор: SERGE_BLIZNUK
Дата сообщения: 30.11.2007 09:36
aZaZello77
Цитата:
Это, видимо, экзотика какая-то... чтобы понять, чем ... от x86 отличается
не буду 100% утверждать, но, скорее всего это аналог Intel 8086
Автор: Umbrall
Дата сообщения: 30.11.2007 14:48
помогите плиз, нужно 2 проги:
1. нужно что бы она с цветного рисунка в черно-белый
2. вторая нужно проверить есть ли на компе модем и какая програмная скорость его
Автор: Sky youth
Дата сообщения: 02.12.2007 14:15
SERGE_BLIZNUK
Спасибо!!!
Автор: KPakulin
Дата сообщения: 04.12.2007 08:32
Уважаемые, помогите пожалуйста. хоть это и не задача но все же.
Необходимо узнать тип памяти (dimm, ddr или ddr2). Для этого нужно считать данные из SPD. А вот как это сделать? Подмогните пожалуйста. Или пните куда следует.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384

Предыдущая тема: .NET GUI компоненты


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.