![]() |
|
![]() ![]() ![]() |
|
bncom |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 2.11.2005 Репутация: нет Всего: 1 |
Вот программа:
Почему-т оона не транслируется в Turbo Assembler v4.1 Пишет, что найдена одна ошибка. В чем может быть проблема? Это сообщение отредактировал(а) bncom - 16.2.2007, 18:28 --------------------
"Мы никогда не живем, мы лишь надеемся, что будем жить." Вольтер |
|||
|
||||
piritus |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 226 Регистрация: 3.1.2007 Где: Сибирь Репутация: нет Всего: 3 |
у меня все ровно...
а какую ошибку у тебя выдает и с какими парамертами компилишь? --------------------
|
|||
|
||||
JAPH |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 8.1.2007 Где: Ленобласть Репутация: 5 Всего: 23 |
А какая ошибка? Приведите текст. А то TASM v3.2 её спокойно компилирует, линкер лишь жалуется на отсутствие стэка.
Замечание: процедура должна кончаться оператором RET. -------------------- Что непонятно - спрашиваем ![]() |
|||
|
||||
bncom |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 2.11.2005 Репутация: нет Всего: 1 |
Вот что пишется:
![]() --------------------
"Мы никогда не живем, мы лишь надеемся, что будем жить." Вольтер |
|||
|
||||
piritus |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 226 Регистрация: 3.1.2007 Где: Сибирь Репутация: нет Всего: 3 |
laba.asm в h:\tasm\bin\
в cmd пиши: cd \tasm\bin\ tasm.exe laba.asm tlink.exe laba.obj /t /t - создать файл типа COM --------------------
|
|||
|
||||
bncom |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 2.11.2005 Репутация: нет Всего: 1 |
Все получилось, файл laba.com создался.
Но вот что мне с ним делать? Я его открываю обыкновенным способом - окошко сразу пропадает. Через командную строку - тоже никакого результата. Может файл с таким типом надо как-то по-другому открывать? Вот полученные exe-файлы мы окрывали через Turbo Debagger... А тут что делать? --------------------
"Мы никогда не живем, мы лишь надеемся, что будем жить." Вольтер |
|||
|
||||
Ant |
|
|||
Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 3.9.2006 Репутация: нет Всего: нет |
bncom, ну так и должно быть, ведь твоя программа ничего не выводит на экран, и ничего не просит ввести. Чего же ты от нее хочешь?
|
|||
|
||||
bncom |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 2.11.2005 Репутация: нет Всего: 1 |
Ну а как результат-то ее действий посмотреть?
--------------------
"Мы никогда не живем, мы лишь надеемся, что будем жить." Вольтер |
|||
|
||||
piritus |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 226 Регистрация: 3.1.2007 Где: Сибирь Репутация: нет Всего: 3 |
попробуй так:
laba.asm в h:\tasm\bin\ в cmd пиши: cd \tasm\bin\ tasm.exe laba.asm tlink.exe laba.obj (без параметра /t) должен быть .exe если будет ругаться на отсутствие сегмента стека, то не обращай внимание --------------------
|
|||
|
||||
bncom |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 2.11.2005 Репутация: нет Всего: 1 |
Спасибо, все получилось.
Тему можите закрывать. --------------------
"Мы никогда не живем, мы лишь надеемся, что будем жить." Вольтер |
|||
|
||||
Konstantinopol |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 10.2.2007 Репутация: -1 Всего: нет |
1.Дан массив размерности n.Найти первый отрицательный элемент.
Вопрос:Сделать для двух отрицательных элементов? #include <iostream> using namespace std; int main() { const int n = 10; int ar[n] = {4, 0, 2, 4, 3, 3, -5, 3, 7, 5}; int r; asm { pusha push es push ds pop es lea edi, ar lea esi, [edi + 4] xor eax, eax mov ecx, n @4: scasd jg @5 loop @4 mov r, -1 jmp @6 @5: sub edi, esi shr edi, 2 mov r, edi @6: pop es popa } (r < 0) ? cout<<"No negative elements" : cout<<ar[r]; return 0; } 2. В строке заменить все символы '1' символом '0', а символы '0' символом '1' Вопрос: Шестым символом появляется '1' - помогите исправить? #include <iostream> using namespace std; int main() { char s[] = "234105431591045\0"; char buf[30]; asm { pusha push es push ds pop es lea esi, s lea edi, buf @1: lodsb cmp al, '0' jne @2 mov al, '1' stosb jmp @3 @2: cmp al, '1' jne @3 mov al, '0' @3: stosb test al, al jne @1 pop es popa } cout<<buf; return 0; } |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Asm для начинающих" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Asm для начинающих | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |