Здравствуйте, гость ( Вход | Регистрация )
May 12 2007, 18:53
Сообщение
#1
|
|
|
Новичок ![]() Группа: Members Сообщений: 23 Регистрация: 13.9.2006 Из: Чебоксары Пользователь №: 1,734 |
люди помогите написать прогу для "сканирования и замена в тексте" на Assemblere, уж больно тяжелый язык....
надеюсь кто-нить сможет помочь мне решить эту задачку : ) |
|
|
|
![]() |
May 19 2007, 09:29
Сообщение
#2
|
|
|
Новичок ![]() Группа: Members Сообщений: 23 Регистрация: 13.9.2006 Из: Чебоксары Пользователь №: 1,734 |
Что за afd.exe-то? Сначала файло компилируется в объектный файл tasm-ом, затем объектный файл линуется tlink-ом. На выходе - exe или com в зависимости от ключей линковки. tlink.exe a.obj выдает: Turbo Link Version 3.01 Copyright © 1987, 1990 Borland International Warning: No stack создаются два файла: a.exe и a.map, запускаю exe и выходит ошибка: D:\....\Tasm\a.exe Процессор NTVDM обнаружил недопустимую инструкцию. CS:0000 IP:0077 OP:f0 37 05 13 02 Один момент - предложенный тобой способ будет заменять только один символ, который первым встретится в строке и удовлетворяющий условию. а как правильно сделать? |
|
|
|
May 19 2007, 13:03
Сообщение
#3
|
|
![]() Мега постер Группа: Local moder Сообщений: 1,712 Регистрация: 21.8.2006 Пользователь №: 1,269 |
Процессор NTVDM обнаружил недопустимую инструкцию. CS:0000 IP:0077 OP:f0 37 05 13 02 Прога неверно написана ) а как правильно сделать? Либо как я приводил код, либо (если команды строковой обработки принципиальны) использовать lodsb, stosb в цикле -------------------- |
|
|
|
Jun 7 2007, 18:11
Сообщение
#4
|
|
|
Новичок ![]() Группа: Members Сообщений: 23 Регистрация: 13.9.2006 Из: Чебоксары Пользователь №: 1,734 |
page 60,132
TITLE STRING (EXE) Сканирование и замена в тексте CODESG SEGMENT PARA 'Code' ASSUME CS:CODESG,DS:CODESG,SS:CODESG,ES:CODESG BEGIN: JMP SHORT MAIN ;-------------------------------------------------------- MAXNLEN DB 30 ;Длина поля STRING ACTNLEN DB ? ;максимальная длина STRFLD DB 30 DUP(' ') ;Текст PROMPT DB 'tekst', '$' STRDSP DB 30 DUP(' '), 13, 10, '$' ;-------------------------------------------------- MAIN PROC NEAR ;Основная процедура MOV AX,0600H A10LOOP: CALL B10INPT ;Ввести текст с клавиатуры TEST ACTNLEN,0FFH ;Нет имени? (т.е. конец) JZ A90 ; да - выйти CALL D10SCAS ;Найти l CMP AL, 'l' ;Найдена? JE A10LOOP ; да - обойти CALL A10LOOP A90: RET MAIN ENDP ;Вывод запроса для ввода текста: ; ----------------------------- B10INPT PROC MOV AH,09 LEA DX,PROMPT ;Выдать текст запроса INT 21H RET B10INPT ENDP ;Поиск звездочки в имени: ; ----------------------- D10SCAS PROC CLD MOV AL,'l' MOV CX,30 ;Длина сканирования - 30 LEA DI,PROMPT REPNE SCASB ;l найдена? JE D20 ; да - выйти, MOV AL,20H ; нет стереть l в AL D20: RET D10SCAS ENDP CODESG ENDS END BEGIN Не могу понять где ошибка..... При компиляции ошибок не было обнаружено, создал exe а там шняга какая-то-набор символов |
|
|
|
гыгыгы))) сканирование и замена May 12 2007, 18:53
SiMM Ассемблер - понятие растяжимое - даже под один кри... May 12 2007, 23:04
гыгыгы))) Цитата(SiMM @ May 13 2007, 00:04) Ассембл... May 12 2007, 23:22
Amp Формулировка задания размыта. Откуда берется текст... May 13 2007, 01:24
гыгыгы))) Цитата(Amp @ May 13 2007, 02:24) Формулир... May 13 2007, 11:40
гыгыгы))) строка: scanirovanie i&zamena
искомый символ -... May 13 2007, 21:04
Amp Алгоритм следующий:
Код.686
.model flat, stdcall
o... May 13 2007, 23:45
гыгыгы))) Amp, спасибо тебе добрый человек! ОГРОМНЕЙШЕЕ... May 14 2007, 12:34
гыгыгы))) не запускается твоя прога версии не совпадают ско... May 14 2007, 16:23
Amp Цитата(гыгыгы))) @ May 14 2007, 1... May 14 2007, 17:56
гыгыгы))) спасибо и на этом! это хорошо что есть такие л... May 14 2007, 19:37
Amp Цитата(гыгыгы))) @ May 14 2007, 2... May 14 2007, 19:50
гыгыгы))) page 60,132
TITLE EXRING (COM) Сканирование ... May 16 2007, 20:55
Amp Цитата(гыгыгы))) @ May 16 2007, 2... May 19 2007, 01:47
Amp В отладчике уже не модно смотреть, что к чему? ) Jun 8 2007, 12:35
гыгыгы))) Цитата(Amp @ Jun 8 2007, 13:35) В отладчи... Jun 8 2007, 13:20
Shweed "Assembler в кривых руках это бомба" ... Aug 31 2007, 12:03![]() ![]() |
|
Текстовая версия | Сейчас: 28th November 2025 - 18:36 |