![]() |
eXeL@B —› Вопросы новичков —› вопрос по RadAsm |
Посл.ответ | Сообщение |
|
Создано: 25 апреля 2011 15:45 · Личное сообщение · #1 |
|
Создано: 25 апреля 2011 17:46 · Личное сообщение · #2 |
|
Создано: 25 апреля 2011 18:44 · Поправил: magistr011 · Личное сообщение · #3 .386 .model small .stack 256h .data szHello db 'Hello world','$' .code start: mov ax,@data mov ds,ax mov es,ax mov ah,9 lea dx,szHello int 21 mov ah,1 int 21h mov ax, 4C00h int 21h end Start вот код, ассемблируется нормально: C:\masm32\bin\ML.EXE /DMASM /DDOS /Zm /c /nologo /I"C:\masm32\include" "04.asm" Assembling: 04.asm Make finished. Total compile time 157 ms Авот когда начинаю линковать, появляется ошибка и висит вечно пока Alt-F4 не воткнёшь ((( ![]() ![]() |
|
Создано: 25 апреля 2011 19:14 · Личное сообщение · #4 Консольное приложение под винду и программа под DOS - это разные вещи. Ты создаёшь 16-битное приложение для DOS, но при этом запускаешь его в Windows XP. Варианты решения: 1. Писать 32-битные приложение под Windows, запускать без проблем в Windows XP. 2. Писать, как ты сейчас пишешь, но использовать DOSBox для запуска собранных программ. 3. Использовать Windows 98 для написания и отладки 16-битных приложений. ----- EnJoy! ![]() |
|
Создано: 25 апреля 2011 19:29 · Поправил: magistr011 · Личное сообщение · #5 Спасибо, а можно спросить, как исправить код чтобы получилось 32-битное приложение?? Просто мне асм нравится изучать, но скоро сессия и надо написать программы на асме, которые считали бы примеры: такого типа примерно (R * H + B) div (L * G^2).... Прога должна быть написана на асме как вставка в язык высокого уровня, но я больше никакого языка не знаю, вот и хочу написать это на асме как могу, хоть в консоли((( А тут такое... В hiew32 я просто умру писать такое, а в радасме консольное приложение мне показалось легче написать... можете мне помочь??? Заранее благодарю... ![]() |
|
Создано: 25 апреля 2011 19:43 · Поправил: XQuader · Личное сообщение · #6 Jupiter пишет: Варианты решения: 1. Писать 32-битные приложение под Windows, запускать без проблем в Windows XP. 2. Писать, как ты сейчас пишешь, но использовать DOSBox для запуска собранных программ. 3. Использовать Windows 98 для написания и отладки 16-битных приложений. 4. как вариант юзать ![]() |
|
Создано: 25 апреля 2011 19:58 · Личное сообщение · #7 |
|
Создано: 25 апреля 2011 20:05 · Личное сообщение · #8 |
|
Создано: 25 апреля 2011 20:48 · Личное сообщение · #9 |
|
Создано: 25 апреля 2011 21:00 · Личное сообщение · #10 magistr011 Far в помощь можешь создать командный файл "test.cmd" со следующим содержимым: Code:
пример: Code:
----- EnJoy! ![]() |
|
Создано: 25 апреля 2011 21:39 · Поправил: magistr011 · Личное сообщение · #11 лан спс всем за советы, буду дальше пробовать, ничего не получилось, пишет что EXEшник не является приложением ((( а мои консольные приложения в радасме так и не работают ((( очень жаль, просто я уже месяц сижу и с места не сдвинулся... Решил на старый добрый форум обратиться., где мне в прошлый раз помогли... В этот раз я потерпел неудачу ((( А надо-то в радасме написать код чтобы в консольке вывелось слово привет... Пишу и вот тебе на... Ошибка((( Кстати в emu8086 этот код запросто работает и выдаёт именно то что я написал )) А так хочется в радасме... ![]() |
|
Создано: 25 апреля 2011 21:42 · Личное сообщение · #12 |
|
Создано: 25 апреля 2011 21:52 · Личное сообщение · #13 |
|
Создано: 25 апреля 2011 22:14 · Поправил: magistr011 · Личное сообщение · #14 |
|
Создано: 25 апреля 2011 23:09 · Личное сообщение · #15 |
|
Создано: 25 апреля 2011 23:44 · Личное сообщение · #16 Нашёл свой первый рабочий код на TASM, подправил как надо, проверил - работает ![]() Code:
----- IZ.RU ![]() |
|
Создано: 25 апреля 2011 23:58 · Поправил: DenCoder · Личное сообщение · #17 [c4] пишет: Так а причем IDE RadAsm тут ? И верно и нет. С одной стороны всё равно к какому асму привыкать, хоть они и отличаются - для опыта это не важно. С другой - время ограничено, на ассемблерные вставки просто не хватит времени... Всё-таки верно советует [c4] - не теряйте времени, беритесь за вставки! [c4] пишет: И не забывай pushad \ popad Необязательно! Имеют значение только регистры esi, edi, ebx, ebp, esp. Каждый из них, если используется во вставках, должен быть восстановлен. Глазу препода больше по душе будет. ![]() P.S. Сорри, опять забыл правку нажать... ----- IZ.RU ![]() |
|
Создано: 26 апреля 2011 08:06 · Личное сообщение · #18 |
|
Создано: 26 апреля 2011 09:11 · Поправил: magistr011 · Личное сообщение · #19 [c4] пишет: Так а причем IDE RadAsm тут ? Тебе инлайн асм нужен... в С - дирректива _asm{ код_на_масме }; И не забывай pushad \ popad ;) Я ведь говорю, что С++ я не знаю, а если я смогу понять как в масм32 делать exe. чтобы досовское приложение печатало "привет" Я напишу длинную программу на асме как и задумал)) ![]() |
|
Создано: 26 апреля 2011 09:26 · Личное сообщение · #20 DenCoder И верно и нет. magistr011Вот мои задания, если кому интересно... Они выделены жёлтым, единственное что мне хочется это посмотреть код хотябы одного задания и посидеть поразбираться и т.д. Но у меня пока знаний маловато ((( Если кто может помогите, буду признателен. ca0b_25.04.2011_EXELAB.rU.tgz - Задания по Ассемблеру .doc задание никто не читал ? Примечания к заданиям: - Реализуйте вычисление заданного выражения как ассемблерную вставку в программе на языке высшего уровня (Паскаль, С++ и т.д.). - Программа на языке высшего уровня должна запрашивать значения переменных и выводить результат на экран. - Все переменные являются целочисленными. ![]() |
![]() |
eXeL@B —› Вопросы новичков —› вопрос по RadAsm |
Эта тема закрыта. Ответы больше не принимаются. |