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

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


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

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

Выпуск № 815
от 01.08.2007, 16:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 394, Экспертов: 28
В номере:Вопросов: 2, Ответов: 2


Вопрос № 96512: Здравствуйте! Подкскажите пожалуйста почему при попытке сассемблировать файл (команда ML.EXE PROG.ASM /AT) командная строка выдает следующий текст ..
Вопрос № 96610: Здраствуйте, уважаемые эксперты. У меня несколько вопросов из выпуска N14 рассылки Калашникова. В этом номере сказано, что отсчёт строк и столбцов в видеобуфере ведётся с 0, т.е. 25 строк(от 0 до 24) и 80 столбцов(от 0 до 79). Чтобы получи...

Вопрос № 96.512
Здравствуйте! Подкскажите пожалуйста почему при попытке сассемблировать файл (команда ML.EXE PROG.ASM /AT) командная строка выдает следующий текст

Приложение:

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

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

По вашим ошибкам:
error A4910:cannot open file: С:ml.err -немогу окрыть файл ml.err
PROG.ASM (4):error A2008: :Begin -ощибка в строке нужно Begin:
PROG.ASM (6):error A2034 -команда должна быть в сементе
PROG.ASM (14):error A2006: :Begin -неопределенный символ :Begin
Скоре всего Ваша программа должна иметь такой вид:
в строках 1,2,3,5,9,11,13 должны быть Ваши коментарии.
code segment;забыли указать сегмент
assume cs:code;ds:code;ss:code
org 100h
begin:
;двоеточие ставится после метки
mov ah,09h
mov dx,offset myText
int 21h
ret
;может быть и такая строка int 20h
myText db 'Hello World$';выводимый текст может быть любой
ends
end begin
;двоеточие не ставится
Удачи!
---------
И только наступив на грабли мы приобретаем драгоценный опыт!
Ответ отправил: Зенченко Константин Николаевич (статус: Практикант)
Ответ отправлен: 26.07.2007, 19:09


Вопрос № 96.610
Здраствуйте, уважаемые эксперты. У меня несколько вопросов из выпуска N14 рассылки Калашникова. В этом номере сказано, что отсчёт
строк и столбцов в видеобуфере ведётся с 0, т.е. 25 строк(от 0 до 24) и
80 столбцов(от 0 до 79). Чтобы получить линейный адрес последнего
символа последнюю строку(24) надо умножить на 160(это понятно). Но я никак не могу понять, зачем умножать 80 на 160, ведь последний стодбец 79. Не знаю, может автор поэтому отнимает из полученного ответа 2 ?!
Да и потом, в файле Main.asm переменным Height_X и Width_Y, отвечающим за высоту рамки и её ширину( без ограничивающих символов) мы присваиваем 23 и 78 соответсвенно. Опять же отсчёт ведётся же с 0 !!! На всякий случай привожу 2 файла в приложении -
Main.asm и Display.asm...

Приложение:

Отправлен: 27.07.2007, 14:50
Вопрос задал: AsserAcer (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 2)

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

Обратите внимание на строки после метки Next_lined:
mov al,'¦' ;Вывели этот символ (он один)1
stosw
mov al,32 ;32 - пробел (или 20h или ' ')
mov cx,Width_Y ;CX = ширина
+78
rep stosw ;Поехали!
mov al,'¦' ;Завершаем ряд...
+1
итого: 80 столбцов (хотя нумерация 0-79)
ps:команды REP и LOOP не работают с СХ=0, для защиты от этого (когда значение СХ точно не известно )есть такая команда:JCXZ
Удачи!
---------
И только наступив на грабли мы приобретаем драгоценный опыт!
Ответ отправил: Зенченко Константин Николаевич (статус: Практикант)
Ответ отправлен: 27.07.2007, 15:55


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

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

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

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

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала 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.53 beta от 09.07.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное