Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ассемблер - это сложно? вопросы 
:(
    Опции темы
Чердак
  Дата 27.2.2005, 19:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 8.12.2004

Репутация: нет
Всего: нет



Кому ассемблер, в первый день знакомства с ним, показался мудренным?... Помогите, как с ним справиться? Есть ли что по ассемблеру из серии для ЧАЙНИКОВ?... Даже не наю с чего начать, купил умную книжку, которая для меня оказалась весьма мудренной и не совсем понятной. Подскажите как был освоен вами язык, и сколько времени потребуется, чтобы хоть немножко в нем шарить? Если честно я в полном отчаяние... smile
--------------------
PM MAIL   Вверх
sergejzr
Дата 27.2.2005, 20:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



Для начала неплохо пробежаться по закреплённым темам smile
http://forum.vingrad.ru/index.php?showtopic=34


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
oleg1973
Дата 28.2.2005, 00:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: нет
Всего: 34



и вовсе не сложно smile
уж если чел понял чем отличается в С myvar от &myvar и от *myvar smile
то в асме в 100 раз все проще smile


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
cardinal
Дата 28.2.2005, 01:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 1
Всего: 99



Могу посоветовать
http://books.dore.ru/bs/f1bid298.html
для начала это самое то что надо...


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Гость_Lenin2917
Дата 20.3.2005, 20:25 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Чердак - Его не надо УЧИТЬ!!! его надо изучать и самое главное, на мой взгляд, это разобраться в адрессации и смещениях и все будет ОК! А начинать лучше наверное с Зубкова или Пирогова.
  Вверх
Чердак
Дата 20.3.2005, 21:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 8.12.2004

Репутация: нет
Всего: нет



Спасибо всем за советы smile
Был на wasm, кое-чего там прочел, полезные вещи глаголят). Прочел лекции Калашникова (из рассылок), но там маловато теории по работе с числами. Сейчас штудирую учебник по асму В.И. Юрова, хочу отметить, что довольно-таки содержательная книженция. С помощью нее написал следующую прогу:
Дано число в двоичном виде. Разделить его на две составляющие: в первую войдут только четные разряды, во-вторую нечетные. Их логически перемножить и результат умножить на 16.

Прога работает отлично, тока вот ничего не выводит, так как у меня пока с этим проблем (т.е. пока с экранном не работаю, так как не умею, сейчас над этим работаю).

Написал прогу, в которой работаю с матрицами, тока вот вывести полученную (преобразованную) матрицу не получается smile


--------------------
PM MAIL   Вверх
Chingachguk
Дата 20.3.2005, 21:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1232
Регистрация: 25.3.2002
Где: Москва

Репутация: 11
Всего: 18



Чердак

С помощью этой процедуры можно переключить экран в текстовый режим 25x80:

{$F+}
Procedure Initgraph; {Инициализация работы с текстовым режимом 25*80}
Begin
Asm
pusha
mov ah,02h
xor dx,dx
mov bh,03h
int 10h
mov ax,1003H
xor bx,bx
int 10H
popa
End;
End;

После этого ты можешь выводить на экран текстовые строки вот этой процедурой:

{$F+}
Procedure Outt(Color,X,Y:byte; AddrText:pointer); {Отобразить строку на экран}
Begin
Asm
pusha
push ds
push es
push 0B800h
pop es
cld
lds si,AddrText
mov al,160
mov ah,byte ptr Y
dec ah
mul ah
mov di,word ptr X
dec di
and di,127
shl di,1
add di,ax
lodsb
xor ch,ch
mov cl,al
test al,al
jz @ZIRO
mov ah,Color
@FILL_STR:
lodsb
stosw
loop @FILL_STR
@ZIRO:
pop es
pop ds
popa
End;
End;



--------------------
I don't like the drugs (but the drugs like me). M.Manson.
PM MAIL ICQ   Вверх
Чердак
Дата 20.3.2005, 21:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 8.12.2004

Репутация: нет
Всего: нет



Chingachguk

Спасибо, тока это придется проги на паскале писать с вставками на асме. А мне нужна прога чисто на асме smile

smile
Можно как-нить выводить данные не в символьном виде, а через переменные. Или к переменным нужно прибавлять 30 и выводить их как код символа?

--------------------
PM MAIL   Вверх
Chingachguk
Дата 20.3.2005, 23:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1232
Регистрация: 25.3.2002
Где: Москва

Репутация: 11
Всего: 18



Чердак

Нет, я просто дал их для примера. Собственно, логика вывода внутри них.
Компиллировать с директивами .286.

Код

; Инициализация работы с текстовым режимом 25*80
Initgraph proc near
 pusha
 mov ah,02h
 xor dx,dx
 mov bh,03h
 int 10h
 mov ax,1003H
 xor bx,bx
 int 10H
 popa
 retn
Initgraph endp


; Отобразить строку на экран
; Параметры в стеке
;
; push Color
; push X
; push Y
; push AddrText
Outt proc near
  Color equ [bp+0Ah]
  X     equ [bp+08h]
  Y     equ [bp+06h]
  AddrText equ [bp+04h]
  push bp
  mov  bp,sp
  pusha
  push ds
  push es
  push 0B800h
  pop es
  cld
  mov  si,AddrText
  mov  al,160
  mov  ah,byte ptr Y
  dec  ah
  mul  ah
  mov  di,word ptr X
  dec  di
  and  di,127
  shl  di,1
  add  di,ax
  lodsb
  xor  ch,ch
  mov  cl,al
  test al,al
  jz   @ZIRO
  mov  ah,Color

@FILL_STR:

  lodsb
  stosw
  loop @FILL_STR

@ZIRO:

  pop  es
  pop  ds
  popa
  pop  bp
  retn 4*2 
Outt endp

; Образец использования:

.286
text segment byte public
  assume cs:text,ds:text
  org   100h
begin:

  call Initgraph

  push 14*16+1
  push 10
  push 20
  push offset PasTxtString
  call Outt

  push 1*16+14
  push 20
  push 10
  push offset PasTxtString
  call Outt

; readkey
  xor  ax,ax
  int  16h
  retn

PasTxtString:

  db  10 ; Length
  db  'Test text!'
...




--------------------
I don't like the drugs (but the drugs like me). M.Manson.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для начинающих"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm для начинающих | Следующая тема »


 




[ Время генерации скрипта: 0.0659 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.