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

» Assembler

Автор: kotikov
Дата сообщения: 07.12.2008 17:43
народ, такая проблемка! такую задачку написать на С++, но по заданию нада впхнуть в код ассемблерные вставки где вся задача и должна описываться! Может кто знает как эту ... написать? Вот текст задания:
1.Треугольник задан координатами вершин М1(x1,y1) M2(x2,y2) M3(x3,y3), первый квадрант. Ввести координаты с клавиатуры и построить треугольник. Вычислить координаты центра треугольника. Развернуть треугольник вокруг его центра против часовой стрелки на 90 градусов, выполняя поворот последовательно через 10 градусов с фиксацией в каждом положении на 0.5-1 сек.
2. После поворота выполнить заливку синим цветом.
Автор: JuWeLL
Дата сообщения: 08.12.2008 16:42
здравствуйте...
у меня вопрос, как можно вывести русские строки на экран? а то вместо них какие то иероглифы. нужно менять видеорежим? или надо сравнивать dos и win таблицы?
Автор: akaGM
Дата сообщения: 08.12.2008 17:13
JuWeLL

самое простое -- это настроить консоль, в которой ты запускаешь свою программу...
а так, надо просто писать в той кодировке, в которой ты хочешь увидеть текст,
многие редакторы это позволяют делать, например, в FAR - F4:
win1251 или dos cp866:

Код: ...
rus1251 db "русская строка в 1251-кодировке", 0dh, 0ah,' $' ; ты её видишь в своём браузере
rus866 db "Ёєёёър ёЄЁюър т 866-ъюфшЁютъх", 0dh, 0ah, '$' ; это в 866-ой
...
mov ax, 0900h
lea dx, rus1251
int 21h

mov ax, 0900h
lea dx, rus866
int 21h
...
Автор: JuWeLL
Дата сообщения: 08.12.2008 23:00
akaGM большое спасибо!!
Автор: akaGM
Дата сообщения: 09.12.2008 14:37
JuWeLL
не за что...

а вот тебе на вооружение ещё один вариант...
определяешь все текстовые ресурсы два раза для 1251 и 866 и в зависимости от того, что тебе надо получить, компилируешь (например, masm)

ml /DCP866 myprog.asm

или просто

ml myprog.asm

Код: IFDEF CP866
; ресурсы в dos 866-ой кодировке
rus1 db "кракозябрица", '$'
rus2 db "абракадабрица", '$'
ELSE
; ресурсы в виндовской 1251 кодировке
rus1 db "бла-бла-бла", '$'
rus2 db "бла-бла-бла", '$'
ENDIF
...
; далее используем rus1...rus2 в коде как пожелаем...
Автор: Meradone
Дата сообщения: 10.12.2008 00:15
вот такая задачка:
Вычислить обратную матрицу порядка 1000х1000.
какие есть идеи.. я уже не знаю как и что.....
Автор: akaGM
Дата сообщения: 10.12.2008 12:16
Meradone
истинно ассемблерная задача...
и зачем дублировать её по всему форуму?


Цитата:
какие есть идеи.. я уже не знаю как и что.....

есть идея использовать инет...
например, вики
Автор: dave101ua1111
Дата сообщения: 10.12.2008 16:48
Всем привет!

помогите пожалуйста с программой:
задана строка с нулевым завершителем в конце,
для каждого символа в строке нужно определить сколько раз он в ней встречается.
Автор: Meradone
Дата сообщения: 10.12.2008 17:23
задача состоит в том чтобы реализовать это на ассемблере)))) ввод можно осуществлять на языке высокого уровня а обработку нужно на асм
Автор: Zeus2090
Дата сообщения: 17.12.2008 15:39
Привет всем!
У меня такая вот задачка:

Осуществляется
ввод последовательности команд FPU,
вывод - двоичное представление этих команд.

Как это осуществить?
Заранее спасибо.
Автор: akaGM
Дата сообщения: 17.12.2008 16:02
Zeus2090
чё за?
может это изучение асма- как конкретного компилятора?
можно задание целиком?
Автор: serqei35
Дата сообщения: 17.12.2008 16:05
Всем привет! Народ, если кого интересуют книги по программированию, заходите сюда: http://webprogrammer.wallst.ru
Сайт молодой, книги качаются быстро и без регистрации!
Автор: Zeus2090
Дата сообщения: 17.12.2008 16:22
akaGM

написать программу, которой на вход подается последовательность комманд ФПУ. а на выходе получается их двоичное представление
Автор: akaGM
Дата сообщения: 17.12.2008 16:25
Zeus2090
ясн...

я отдыхаю...
Автор: Zeus2090
Дата сообщения: 17.12.2008 16:33
akaGM
в смысле
Цитата:
я отдыхаю...


не в курсе как делать? или
просто сейчас не когда?
Автор: akaGM
Дата сообщения: 17.12.2008 16:43
Zeus2090
в курсе... приблизительно...
написать транслятор, но я не возмусь за это даже на языке высокого уровня, не то что на ассемблере...
ищи дальше...
Автор: Zeus2090
Дата сообщения: 17.12.2008 17:03
akaGM
Ну а с чего примерно начать?
P.S. не думаю что на втором курсе дадут такое задание на курсовик?ты как думаешь7
Автор: akaGM
Дата сообщения: 17.12.2008 17:31
Zeus2090

Цитата:
Ну а с чего примерно начать?

с изучения основ асма...

Цитата:
P.S. не думаю что на втором курсе дадут такое задание на курсовик?ты как думаешь7

мало ли м***ков на свете...
тем более, откуда я знаю, на кого ты учишься, может на билл гейтса...

Цитата:
написать программу, которой на вход подается последовательность комманд ФПУ. а на выходе получается их двоичное представление

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

ты вообще-то представляешь хочь чуть-чуть что-нибудь?
например, это что?

fld dword ptr [eax]
fadd dword ptr [ebx]
Автор: Zeus2090
Дата сообщения: 17.12.2008 17:53
akaGM

Цитата:
с изучения основ асма...

изучал

Цитата:
тем более это не задание, а так... вольный пересказ своими словами...

это и есть пересказ задание с его слов

Цитата:
ты вообще-то представляешь хочь чуть-чуть что-нибудь?
например, это что?
fld dword ptr [eax]
fadd dword ptr [ebx]


в буфер заносишь двойное слово из младшего регистра ах
складываешь младшие регистры ах и бх
P.S. могу ошибаться.
Кроме изучения основ. с чего начать?
Вопрос: где располагается адрес последней выполненой команды?
(в IPTR? если так то как его оттуда извелечь?)
Автор: akaGM
Дата сообщения: 17.12.2008 18:21
Zeus2090

Цитата:
заносишь двойное слово из младшего регистра ах

куда?
и не из регистра, тем более из младшего, а из _адреса_, на который указывает этот регистр eax...

так вот, твоя задача (как ты её пересказываешь) -- обрабатывать такие команды и получать их хекс-код,
например, команда
fld dword ptr [eax]
имеет код D900h, что в двоичной системе =1101100100000000
это пока довольно просто, пока ты не работаешь с переменными, каждая такая команда имеет свой код (1- 2-... 4- байтовый)

можешь построить таблицу команда/хекс-код/бин-код
и так для всех команд (fpu в твоём случае)! что уже нереально...
а потом тебе надо будет писать парсер ("разбиратель") входной последовательности этих команд, потому что
fld dword ptr [eax] и
fld tbyte ptr [eax]
совершенно разные команды, ну и так далее...

т.е. тебя просят написать транслятор с ассемблера, а это, имхо, ни на 2-ом, ни на фигнадцатом курсе сделать нереально...
можешь своим работодателям так и объяснить...
а, возможно, я в чём-то ошибаюсь, и твоему курсовику совсем не кирдык, тогда продолжай спрашивать умных людей и искать...
Автор: Zeus2090
Дата сообщения: 17.12.2008 18:32
akaGM

Цитата:
например, команда
fld dword ptr [eax]
имеет код D900h, что в двоичноё системе =1101100100000000

Можешь дать код проги (последовательность операций)?
как получить Хекс код7
Автор: akaGM
Дата сообщения: 17.12.2008 18:53
Zeus2090

Цитата:
Можешь дать код проги (последовательность операций)?

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

ищи в сети таблички или в листингах компилятора,
например ml /Flmy_listing.lst my_asm.asm для masm'a
Автор: Zeus2090
Дата сообщения: 17.12.2008 19:07
akaGM
ок спс
Автор: SERGE_BLIZNUK
Дата сообщения: 17.12.2008 20:28
akaGM
Zeus2090
слушайте, а что, если воплотить такую "нечестную" идею в жизнь:
после подачи исходных данных на вход программы, она компилируется приложенным к программке ассемблером и потом листинг парсится и переводится в хекс... :-D
Автор: Zeus2090
Дата сообщения: 17.12.2008 21:06
SERGE_BLIZNUK
akaGM
Да все препод раскололся, примерно токаже как akaGM говорил.
тока попроще.
Автор: akaGM
Дата сообщения: 17.12.2008 21:07
SERGE_BLIZNUK
а мне-то что, я не преподаватель, меня уговаривать не надо...

и ты на листинг посмотри, его просто так сналёта тоже не отпарсишь корректно...
боюсь, что дело всё гораздо проще, и задача решаема (в том числе и на втором курсе)...

---

Zeus2090
ну и что он сказал?
типа, если вы такие умные, то и делайте как подумали...
Автор: Zeus2090
Дата сообщения: 17.12.2008 21:53
akaGM
Что - то в этом духе. )))
ну если задача решаема, то может и код выложишь? ))
Автор: akaGM
Дата сообщения: 17.12.2008 21:59
Zeus2090
обязательно выложу...
вот по этой ссылке...
Автор: Zeus2090
Дата сообщения: 17.12.2008 22:18
akaGM

)))
Автор: akaGM
Дата сообщения: 17.12.2008 22:27
Zeus2090
ты не понял и рано радуешься...
это ссылка работ за деньги, причём в твоём случае, за _большие_ деньги...

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384

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


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