Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Ассемблер? Это просто! Учимся программировать


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Assembler (Ассемблер)

Выпуск № 753
от 17.05.2007, 18:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 389, Экспертов: 34
В номере:Вопросов: 4, Ответов: 6


Вопрос № 86495: Здраствуйте! Как правильно линковать несколько объектных кодов C(Borland C++ 3.0) и Ассма в один исполняемый файл . Спасибо .
Вопрос № 86514: где можно скачать книги для изучения азов Ассемблера?...
Вопрос № 86554: Здравствуйте, уважаемые эксперты. Появилась новая проблема. Есть своеобразная задачка в Linux. Ввожу данные со стандартного ввода посредством двух процедур input_first_value и input_second_value в buffer1 и buffer2 соответственно. Можно ли сделать об...
Вопрос № 86607: Господа программисты, тут возник такой вопрос. Написал проверку на ввод значения с клавиатуры. Если введеный символ - буква, а не число, прога выдает ошибку. Но у меня получилось сделать лишь так, чтобы проверялся первый разряд многоразрядного значен...

Вопрос № 86.495
Здраствуйте!
Как правильно линковать несколько объектных кодов C(Borland C++ 3.0) и Ассма в один исполняемый файл .
Спасибо
Отправлен: 11.05.2007, 21:21
Вопрос задал: James (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: ramok
Здравствуйте, James !
в командной строке
1. делаем из asm -> obj
tasm a.asm
2. собираем все вместе
bcc main.obj 2.obj a.obj

должен получится main.exe

ps
по моему можно просто
bcc main.obj 2.obj a.asm
Ответ отправил: ramok (статус: Практикант)
Ответ отправлен: 11.05.2007, 23:35
Оценка за ответ: 5


Вопрос № 86.514
где можно скачать книги для изучения азов Ассемблера?
Отправлен: 11.05.2007, 23:10
Вопрос задал: Gvarishvili George Raulievich (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Волков Павел Юрьевич
Здравствуйте, Gvarishvili George Raulievich!
Посмотрите на WASM.RU (много статей, книги) или на фтп RUSFAQ.RU (правила подключения - http://rusfaq.ru/forum/Opinions/68/3).
---------
Век живи, век учись.
Ответ отправил: Волков Павел Юрьевич (статус: Студент)
Ответ отправлен: 12.05.2007, 10:12

Отвечает: Зенченко Константин Николаевич
Здравствуйте, Gvarishvili George Raulievich!

книга Зубкова
Удачи!

---------
И только наступив на грабли мы преобретаем драгоценный опыт!
Ответ отправил: Зенченко Константин Николаевич (статус: Студент)
Ответ отправлен: 12.05.2007, 20:57


Вопрос № 86.554
Здравствуйте, уважаемые эксперты. Появилась новая проблема. Есть своеобразная задачка в Linux. Ввожу данные со стандартного ввода посредством двух процедур input_first_value и input_second_value в buffer1 и buffer2 соответственно. Можно ли сделать общую процедуру ввода данных в разные buffer'ы?
И каким образом?

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

Приложение:

Отправлен: 12.05.2007, 10:16
Вопрос задал: Lazar (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Волков Павел Юрьевич
Здравствуйте, Lazar!
Очень просто:

mov ecx,buffer1
mov edx,20
call input_value

input_value:
;на входе:
;ecx - указатель на буфер ввода,
;edx - размер/желаемый объем/буфера ввода
mov eax,3
mov ebx,0
int 80h
ret

---------
Век живи, век учись.
Ответ отправил: Волков Павел Юрьевич (статус: Студент)
Ответ отправлен: 12.05.2007, 16:34


Вопрос № 86.607
Господа программисты, тут возник такой вопрос. Написал проверку на ввод значения с клавиатуры. Если введеный символ - буква, а не число, прога выдает ошибку. Но у меня получилось сделать лишь так, чтобы проверялся первый разряд многоразрядного значения. Как загнать проверку в цикл, чтобы прога проверяла все разряды введенного числа?

Приложение:

Отправлен: 12.05.2007, 17:43
Вопрос задал: Lazar (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Зенченко Константин Николаевич
Здравствуйте, Lazar!

cmp byte[eax],XX

проверяет только один байт, после строк

cmp byte[eax],'9'
jg error
Вам нужно вставить инкремент eax и снова переход на проверку байта.
Удачи!
---------
И только наступив на грабли мы преобретаем драгоценный опыт!
Ответ отправил: Зенченко Константин Николаевич (статус: Студент)
Ответ отправлен: 12.05.2007, 20:50

Отвечает: Волков Павел Юрьевич
Здравствуйте, Lazar!
Пример:
mov eax,string ;указатель на строку
strloop:
cmp byte [eax],'9'
ja _error ;проверяем флаг CF
;команда jl/jg - для знаковых значений (проверка флага SF)
inc eax
jmp strloop
;==================
или так:
mov eax,string
mov ecx,strlen
strloop:
cmp byte [eax],'0'
jb _error
inc eax
loop strloop
---------
Век живи, век учись.
Ответ отправил: Волков Павел Юрьевич (статус: Студент)
Ответ отправлен: 13.05.2007, 16:57


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.52 от 02.05.2007
Яндекс Rambler's Top100

В избранное