Вопрос № 25781: Здравствуйте.
Текст программы к вопросу № 25728. Извините забыл поставить приложение. Короче текст такой:
;ЭТО КОД который должен ассемблироваться и на масм и тасм
;com-прога
cseg segment
assume cs:cseg,ss:cseg,es:cseg,...Вопрос № 25804: Спасибо всем, кто ответил на мой прошлый вопрос.
Я пробовал писать программу на fasm(вот эта программа)
CSEG segment
org 100h
Begin:
mov ah,9
mov dx,offset Message
int 21h
int 20h
Message db "Hello, world!$&qu...Вопрос № 25820: Здравствуйте. Спасибо большое за ответы на вопросы(все стало понятно), но все равно выдается ошибка.
Я делаю так: сохраняю набранную программу в Notepad(пробовал также и в edit.com) в виде "prog.asm"
Затем начинаю работу DOS, там я...Вопрос № 25823: Здравствуйте. Спасибо большое за ответы на вопросы(все стало понятно), но все равно выдается ошибка.
Я делаю так: сохраняю набранную программу в Notepad(пробовал также и в edit.com) в виде "prog.asm"
Затем начинаю работу DOS, там я...Вопрос № 25834: Вот товарищи программисты! вроде бы реализовал алгоритм! :-)
Конечно вы бы сделали лучше! ;-)
Нехватает только некоторых условий, например: проверки на вхождения диапазона
0-9. можно конечно и буквы, но тогда в RAM будут храниться с...
Вопрос № 25.781
Здравствуйте.
Текст программы к вопросу № 25728. Извините забыл поставить приложение. Короче текст такой:
;ЭТО КОД который должен ассемблироваться и на масм и тасм
;com-прога
cseg segment
assume cs:cseg,ss:cseg,es:cseg,ds:cseg
begin:
mov ah,9
mov dx,offset text
int 21h
int 20h
text dw "Hello,world!$"
cseg ends
end begin
Причем после того как я его создал в текстовом файле с расширением .asm прога приняла следующий вид:
;
;com-
cseg segment
assume cs:cseg,ss:cseg,es:cseg,ds:cseg
begin:
mov ah,9
mov dx,offset text
int 21h
int 20h
text dw "Hello,world!$"
cseg ends
end begin
Но я её потом менял на первоначальный и всё равно не пашет, выходит сообщение "constant value too large".
Отвечает: newinfo2005
Здравствуйте, Дмитрий Хаймин!
Вот:
cseg segment
assume cs:cseg,ss:cseg,es:cseg,ds:cseg
org 100h
begin:
mov ah,9
mov dx,offset text
int 21h
int 20h
text db "Hello,world!$"
cseg ends
end begin
Удачи.
Сравни мой и свой код!!
--------- Хочу стать умным и...много денег и халявного инета.
Ответ отправил: newinfo2005 (статус: 5-ый класс)
Отправлен: 03.09.2005, 23:49
Отвечает: Евгений Иванов
Здравствуйте, Дмитрий Хаймин!
используй DB, а не DW в строчках.
Приложение:
--------- Что имеем - не храним, потерявши - плачем
Ответ отправил: Евгений Иванов (статус: Профессор)
Отправлен: 04.09.2005, 00:09
Вопрос № 25.804
Спасибо всем, кто ответил на мой прошлый вопрос.
Я пробовал писать программу на fasm(вот эта программа)
CSEG segment
org 100h
Begin:
mov ah,9
mov dx,offset Message
int 21h
int 20h
Message db "Hello, world!$"
CSEG ends
end Begin
Но от при компиляции выдает ошибку "Cseg segment"
я пробовал после "Cseg segment" написать строку
Assume cs:cseg,ds:cseg,es:cseg,ss:cseg
но это не помогло.
Подскажите, пожалуйста, что я не так делаю.
Вопрос глупый,(я просмотрел все рассылки , но ничего не на этот вопрос не нашел) но я никак не могу открыть ни маsm.exe, ни ml.exe(окно появляется и исчезает) пробовал и в windows, и в dos(маsm я брал в рекомендуемых программах к изучению на данном сайте , т. е. версия 6.11)
При установке я вибираю Install the Microsoft Macro Assembler--ms-dos/Microsoft Windows--а дальше выбираю везде Yes.
Отправлен: 04.09.2005, 11:03
Вопрос задал: Qwe (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Евгений Иванов
Здравствуйте, Qwe!
возможно, понадобится Model tiny.
также важно case букв.
--------- Что имеем - не храним, потерявши - плачем
Ответ отправил: Евгений Иванов (статус: Профессор)
Отправлен: 04.09.2005, 11:10
Отвечает: Sager
Здравствуйте, Qwe!
Я же тебе уже ответил, что нужно делать. ml.exe - это консольная программа и соответственно, сделав все необходимое он закрывается, но слишком быстро. нужно все запускать из командной строки, либо проще вообще установи себе RadAsm и все твои проблемы решены - это классная и удобная среда разработки для ассемблера, ты лишь путь к масму укажи и спокойно компиль проги.
radasm - http://www.wasm.ru/toollist.php?list=7
Ответ отправил: Sager (статус: 6-ой класс)
Отправлен: 04.09.2005, 11:44
Отвечает: ASMодей
Здравствуйте, Qwe!
Вы бы хоть доку какую по FASM прочитали. У него синтаксис отличается от TASM/MASM. Пример в приложении.
Приложение:
Ответ отправил: ASMодей (статус: Профессионал)
Отправлен: 04.09.2005, 21:27
Вопрос № 25.820
Здравствуйте. Спасибо большое за ответы на вопросы(все стало понятно), но все равно выдается ошибка.
Я делаю так: сохраняю набранную программу в Notepad(пробовал также и в edit.com) в виде "prog.asm"
Затем начинаю работу DOS, там я указываю путь к программе masm6.11 и prog.asm, т.е.:
c:masm6.11inml.exe prog.asm/at (пробовал также дописать и c:prog.asm/at ошибка таже)
на это я получаю ответ:
assembling:prog.asm/at
fatal error A1000:cannot open file : prog.asm/at
Скажите ,пожалуйста, что я не так делаю.
Отправлен: 04.09.2005, 15:21
Вопрос задал: Qwe (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Евгений Иванов
Здравствуйте, Qwe!
Попробуй найти такую программу FAR manager.
и всё сразу будет по другому....твоя жизнь изменится... :))
--------- Что имеем - не храним, потерявши - плачем
Ответ отправил: Евгений Иванов (статус: Профессор)
Отправлен: 04.09.2005, 15:28
Отвечает: Sager
Здравствуйте, Qwe!
пробел после prog.asm поставь и AT заглавные
prog.asm /AT
Ответ отправил: Sager (статус: 6-ой класс)
Отправлен: 04.09.2005, 15:37
Вопрос № 25.823
Здравствуйте. Спасибо большое за ответы на вопросы(все стало понятно), но все равно выдается ошибка.
Я делаю так: сохраняю набранную программу в Notepad(пробовал также и в edit.com) в виде "prog.asm"
Затем начинаю работу DOS, там я указываю путь к программе masm6.11 и prog.asm, т.е.:
c:masm6.11inml.exe prog.asm/at (пробовал также дописать и c:prog.asm/at ошибка таже)
на это я получаю ответ:
assembling:prog.asm/at
fatal error A1000:cannot open file : prog.asm/at
Скажите ,пожалуйста, что я не так делаю.
Вот данная программа:
CSEG segment
org 100h
Begin:
mov ah,9
mov dx,offset Message
int 21h
int 20h
Message db "Hello, world!$"
CSEG ends
end Begin
P.S.Извините,пожалуйста , что забыл отправить программу!
Отправлен: 04.09.2005, 15:25
Вопрос задал: Qwe (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 4)
Отвечает: newinfo2005
Здравствуйте, Qwe!
НЕ
c:masm611inml.exe 1.asm/AT
а
c:masm611inml.exe 1.asm /AT
--------- Хочу стать умным и...много денег и халявного инета.
Ответ отправил: newinfo2005 (статус: 5-ый класс)
Отправлен: 04.09.2005, 15:42
Вопрос № 25.834
Вот товарищи программисты! вроде бы реализовал алгоритм! :-)
Конечно вы бы сделали лучше! ;-)
Нехватает только некоторых условий, например: проверки на вхождения диапазона
0-9. можно конечно и буквы, но тогда в RAM будут храниться символы на 48 символов
младше своего порядка.
После ввода символов начинает свою работу цикл, который ипреобразует ASCII коды в
числа. После цикла можно использовать введеное число! :-)
Например, для ввода в компьютер даты 2005.
Главная моя цель, реализация алгоритма, а с условиями разберусь потом! :-)
Почему нужно отступать на 2, а не на 1 байт?
В первом байте хранится число 11 - длина строки, а во втором?
Я отступил на два, т.к. заметил, что во втором тоже, что-то нужное!
Отвечает: mvp
Здравствуйте, Вася Пупкин!
Вы выводите строку string2, а потом пытаетесь ввести с клавиатуры на символы, которые у Вас запишутся на место string2. После вызова функции 0аh 21-го прерывания в начале буфера содержится его длина (т. е., она не меняется), а следуюющий байт - число введённых символов.
Далее вы отнимаете код нуля от всех сиволов, но используете для этого 32-х разрядные регистры, что приводит к бреду. Попробуйте так:
MOV CX,10 ; цикл ввода
mtk:
MOV Al, byte ptr [BX] ; данные по адресу BX поместить в AX
SUB Al,30h ; вычесть из полученного 30h
MOV byte ptr [BX], Al
ADD BX,1
LOOP mtk
Далее вроде всё верно. Странно, как она у вас работала :)
--------- Моя совесть чиста - не бывшая в употреблении
Ответ отправил: mvp (статус: 4-ый класс)
Отправлен: 04.09.2005, 21:30