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

» Assembler

Автор: DeadStrelok
Дата сообщения: 31.10.2010 21:33
bomzzz
Уже скачивал, как то не нашел, что нужно...
Автор: bomzzz
Дата сообщения: 31.10.2010 21:37
все примеры есть ввод с клавиатуры и печать на экран
Автор: DeadStrelok
Дата сообщения: 31.10.2010 22:34
bomzzz
Не спорю, что есть, но чтобы с дробными числами работать не нашел...
А у Вас с дробями ничего нет?
Автор: bomzzz
Дата сообщения: 31.10.2010 22:48
дробное число просто переменная которую надо обрабатывать особым образом. если ты сопроцессор не используешь можешь свой формат использовать. если тебе их надо считать читай описание сопроцессора.

http://students.uni-vologda.ac.ru/pages/it10/FPUexpansion/3.html
http://www.lib.csu.ru/DL/bases/prg/frolov/books/bsp/v02/ch12.htm
http://rfteam.110mb.com/asm/5.php
http://www.osinavi.ru/asm/FPUexpansion/FPUdescription.html
http://students.uni-vologda.ac.ru/pages/it10/FPUexpansion/3.html
http://kalashnikoff.ru/Assembler/issues/025.htm

Кулаков В. - Программирование на аппаратном уровне
http://win-web.ru/itbooks/open/kulakov_prograpp.html

какие то ссылки сохранились.

щас не разберусь что я где читал про сопроцессор но вот эти ссылки сохранились, что то полезное оно дало.

Добавлено:
размер файла делал в 32 битном ассемблере, а с числами дробными, вещественными и прочим не разбирался. но вот это прочитаешь тут точно все есть.

Добавлено:
двумерных массивов нет, память плоская адресуется в 32 битах вообще линейно, в 16 битах псевдо линейно. двумерный массив можно только съэммулировать
Автор: DeadStrelok
Дата сообщения: 01.11.2010 00:30
bomzzz
Ох, что-то какая-то жесть с этим сопроцессором) Спасибо за материал.
А вот с вводом у меня проблемы, нормальный так и не нашел...
Автор: bomzzz
Дата сообщения: 01.11.2010 00:55
в эммуляторе есть пример программы которая ввод с компьютера показывает и отпечатывает его как строку. в кулакове точно есть это. кулакова чета когда искал нигде нет чтоб он с примерами был. но если ты поищешь вторую его книгу "Программирование дисковых подсистем", то она в инете много где идет с диском программ, а в этом диске и программы от первой книги и от второй.

keybrd.asm print_char_by_char.asm



к последнему 08 эммулятору подходит кейгенератор от 07
в кулакове все есть про сопроцессор но это написано очень мутно, разобраться трудно, было бы лучше если бы он привел примеры элементарных программ, а у него разработаны фактически работающие подпрограммы для всех случаев работы с сопроцессором. я взял пример работающий простенький из калашникова и по ссылкам которые привел читал описание комманд и все в принципе осуществил, потом правда была запарка чтоб на 32 бит это переделать но сделал методом тыка
Автор: YuriyRR
Дата сообщения: 01.11.2010 21:59
Benchmark

Цитата:
Что имеется в виду под "чистым 64-битным режимом" ?

Когда можно использовать всю кучу дополнительных регистров процессора введенных в 64 битную архитектуру, а не в режиме совместимости где они недоступны.
Автор: bomzzz
Дата сообщения: 02.11.2010 01:57
Benchmark
http://ru.wikipedia.org/wiki/X86-64
система должна быть установлена которая работает в Long Mode
Автор: A1exSun
Дата сообщения: 03.11.2010 14:36
Прошу помощи сделать такое задание на ASM-80:

Код: Есть текст. Сформировать исходный текст в обратном порядке, при этом все цифры заменить пробелом.
Автор: A1exSun
Дата сообщения: 03.11.2010 22:52
Хотелось бы увидеть пример кода, который берет массив MAS1 (который в регистре HL), разворачивает его (например было "йцукен", стало "некуцй") и заносит в MAS2 (BC).
Автор: blaro
Дата сообщения: 04.11.2010 20:16
A1exSun

Код:
data segment
mas1 db 10 dup (?)
mas2 db 10 dup (?)
len db $-mas1
data ends

code segment
assume cs:code, ds:data
start:
mov si,len
mov bi,0
mov cx,len
xor ax,ax
lp1: mov al,mas1[si]
mov mas2[bi],al
dec si
inc bi
loop lp1
mov ah,4c
int 21h
code ends
end start
Автор: Benchmark
Дата сообщения: 04.11.2010 22:17
YuriyRR

Цитата:
Когда можно использовать всю кучу дополнительных регистров процессора введенных в 64 битную архитектуру, а не в режиме совместимости где они недоступны.


Это понятно. Я спрашивал в том плане, что именно ты хочешь сделать ? Грубо говоря, ты пишешь свой загрузчик и свое же ядро, которое будет работать в long mode, или ты просто хочешь написать, к примеру, 64-битную программку под Windows 64 или 64-битный линукс ?

p.s. В общем, если нужен пример перевода процессора в long mode "с нуля" (например если делаешь собственный загрузчик), то смотри тут: wiki.osdev.org/Entering_Long_Mode_Directly

Если же просто "как написать на асме 64-бит программу" под готовую 64-битную ОС, то примеры идут с любым ассемблером, будь то fasm, nasm, yasm и т.д.
Автор: YuriyRR
Дата сообщения: 05.11.2010 01:12
Benchmark
Спасибо помогло.
Автор: A1exSun
Дата сообщения: 05.11.2010 21:14
blaro
спасибо, но мне нужно для Intel 8080.
Автор: A1exSun
Дата сообщения: 08.11.2010 01:06
Разобрался сам.
Автор: Kosan_km
Дата сообщения: 16.11.2010 11:52
Нужна помощь в написании курсовой работы по микропроцессорным приборам с использованием ассемблера. То есть составить программу согласно даташитов предложенных микрух. За вознаграждение. Куда проще будет с человеком из Украины.

Обращайтесь в аську 355708586 - или почту в личку - скину задание. Возможен дальнейший опт(штук 5-6 точно)
Автор: Mordovorot123456789
Дата сообщения: 27.11.2010 10:33
Здраствуйте, в FASM-е никто не пишет ? Так жехотелось бы узнать о видеоуроках по асму, я самоучка и год 3-й ломаю голову над структурой асемблерного программирования, а читать книги Пирогова или Абеля на 80-й засыпаю...Помогите разобратся практически, если есть информация, скиньте на Baco@sipnet.ru .
Заранее спасибо.
Автор: bomzzz
Дата сообщения: 27.11.2010 15:11
Mordovorot123456789
думаю, маловероятно, чтоб програмирование изучали начиная с ассемблера. обычно начиная изучать аасемблер люди уже знаю какой то язык и имеют опыт програмирования. база должна быть. вместо уроков скачай эммулятор. он наглядно преставляет работу 8086 процессора и все становится понятнее. ну а читать - надо читать.

http://www.emu8086.com/

Добавлено:
я в школе бейсик учил. потом начал операторы использовать наапрямую используюшие прерывания дос, управляющие содержанием процессора... потом ассемблерную вставку написал, потом бейсик стал не нужен. после этого с 32 битным ознакомился.
Автор: vasili777
Дата сообщения: 30.11.2010 12:34
Mordovorot123456789

Если ты знаешь английски язык то есть видеоуроки по NASM: http://www.vtc.com/products/Assembly-Language-Programming-Tutorials.htm . Скачать например можно от сюда: http://thepiratebay.org/torrent/4921498/VTC.Assembly.Language.Programming-iNKiSO


Также на английском языке есть очень хорошая книга которая позволяет изучить ассемблер действительно с нуля. "Assembly Language Step-by-step" автор Jeff Duntemann. Есть три издания данной книги. В первои издании используется MASM , а во второй и третьей NASM. Это единственная книга которая мне попадалась которая учит ассемблер без предварительного знания архитектуры ПК или других языков програмирования и которая позволяет освоить азы языка самостоятельно. Но только в этой книге только азы ассемблера. Можно скачать все три издания с http://gigapedia.com/ .
Автор: bomzzz
Дата сообщения: 01.12.2010 13:52
остается еще английский выучить.
Автор: Qraizer
Дата сообщения: 02.12.2010 08:08
Как раз за такими занятиями он и учится легче всего. Сам его "случайно" изучил, читая техническую документацию, хелпы, руководства итп. Правда, разговаривать не научишься, да и специализация техническая получится. Но ведь в IT как раз читать на техническом английском главнее всего.
А разговорный хорошо подтягивается практикой. С другом договариваешься говорить только на английском, и через месяц-другой болтать будете. Если друг - профессионал, то и пары недель хватит, чтобы изъясняться вполне прилично. Словарный запас сам набирается, это дело времени.
Автор: bomzzz
Дата сообщения: 02.12.2010 08:15
можешь сравнить скорость чтения на английском и на русском. это просто нужен текст с переводом и часы. и еще усвоение информации. тезническую документацию некуда не деться - только на английском. но учить азы по английски черезчур, когда полно переводной литературы
Автор: Qraizer
Дата сообщения: 03.12.2010 07:41
bomzzz, тебе шашечки или ехать? Учить же всё равно надо.
Автор: bomzzz
Дата сообщения: 03.12.2010 07:57
мне уже поздно ехать.
Автор: Qraizer
Дата сообщения: 04.12.2010 06:12
Хозяин - барин. Только ведь под лежачий камень вода-то не течёт. Мне самому было >20, когда занялся английским. Я ж по своему опыту рассказывал.
Автор: bomzzz
Дата сообщения: 04.12.2010 06:15
ну вот, все потерял, надо было азбуку английскую учить.
Автор: Paradoxonix
Дата сообщения: 08.12.2010 22:40
нужна помощь в написании 2 програмок :
Если у суммы двух чисел со знаками количество единичных разрядов четное, результатом должно быть число СС, в противном случае у суммы взвести все четные разряды. При переполнении – результат 00.

и Вторая
Просмотреть массив байтов, в ячейках памяти до первого, содержащего «1» в старшем бите с подсчетом количества просмотренных байтов (не включая байт, содержащий «1 » в старшем бите).
Автор: akaGM
Дата сообщения: 09.12.2010 13:01
Paradoxonix
помощь в смысле написать за тебя?
если нет, то где твоё начало и что не получается?
в противном случае смотри шапку...
Автор: Van_der_Vlaad
Дата сообщения: 15.12.2010 19:18
Здравствуйте, уважаемые форумчане

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

Заранее спасибо.

P.s. Пробовал искать в интернете и книгах, в интернете буквально пару слов об этом и нету примеров нормальных, а в книге какой то пример слишком запутанный.

P.p.s. Сделайте пожалуйста передачу значений через регистры AH, AL
Автор: bomzzz
Дата сообщения: 15.12.2010 19:20
да. когда понадобилось так и не смог найти никакого внятного описания, вычислить тоже не удалось, так и передаю параметры в регистрах

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384

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


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