Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 634 • Страница 1 из 321  2  3  4  5 ... 32  >
  Пред. тема | След. тема 
Автор Сообщение
 

Member
Статус: Не в сети
Регистрация: 09.11.2004
Собственно программа должна менять содержимое строчек - но НЕ работает :(
В чем дело ?

TITLE HELLO

.MODEL SMALL

.STACK 64

.DATA
STR1 DB 'InterTech'
STR2 DB 9 DUP ('*'), '$'

.CODE
MAIN PROC FAR

MOV ax,@data
MOV ds,ax
MOV es,ax

MOV cx,09

A20:

LEA SI,STR1
LEA DI,STR2

MOV al,[SI]
MOV [DI],al

INC SI
INC DI
DEC CX

JNZ A20

MOV AH,09H
LEA DX,STR2
INT 21H
mov AX,4c00h
int 21h
MAIN ENDP
END MAIN



Партнер
 

Member
Статус: Не в сети
Регистрация: 30.04.2004
Откуда: [Omsk Team]
дак, постоянно не надо в регистры SI, DI эффективный адрес загружать :)
Код:
TITLE HELLO
.MODEL SMALL
.STACK 64

.DATA
STR1 DB "InterTech"
STR2 DB 9 DUP ("*"), '$'

.CODE
MAIN PROC FAR

MOV ax,@data
MOV ds,ax
MOV es,ax
MOV cx,09
LEA SI,STR1
LEA DI,STR2

A20:
MOV al,[SI]
MOV [DI],al
INC SI
INC DI
loop A20

MOV AH,09H
LEA DX,STR2
INT 21H
mov AX,4c00h
int 21h
MAIN ENDP
END MAIN

Код:
DEC CX
JNZ A20

эквивалентно
Код:
loop A20

_________________
forum.omskteam.ru- Все о керамограните


 

Member
Статус: Не в сети
Регистрация: 09.11.2004
Dilon
Так а как иначе будет происходить обмен строками ?


 

Member
Статус: Не в сети
Регистрация: 30.04.2004
Откуда: [Omsk Team]
CCCP адреса нужнго загрузить один раз, ведь в SI и DI указатели на первый элемент строки, а затем, увеличивая их мы проходим по всей строке, а у тебя SI и DI постоянно заменяются адресами первого элемента, вот поэтому и не работает, попробуй скомпилить мой пример.

_________________
forum.omskteam.ru- Все о керамограните


 

Member
Статус: Не в сети
Регистрация: 09.11.2004
Dilon
Господи ну я и ступил ....


 

Advanced member
Статус: Не в сети
Регистрация: 24.02.2003
Откуда: [Kiev, Ukraine]
Люди, может и тупой вопрос, но как считать серийные номера с видеокарты , звуковухи и сетевухи (можно и не на ассемблере!) ?


 

При компиляции выдаётся 3 ошибки:
unknown character
unknown character
unexpected end of file encountered
Я не вижу ни одной, может кто-н. подскажет в чём тут дело?

data segment
max db 255
len db 0
str db 256 dup(?)
db ?
ent db 13,10,'$'
data ends

stk segment stack
db 30 dup(?)
top db ?
stk ends

cseg segment
assume cs:cseg,ds:data,ss:stk,es:cseg
begin:
jmp beg
conv proc
lea di,str
mov bl,len
mov bh,0
add bx,di
dec bx
cikl:
cmp di,bx
jnb konec
mov al,[di]
mov ah,[bx]
mov [di],ah
mov [bx],al
inc di
dec bx
jmp cikl
konec:
ret
conv endp

viv proc
lea dx,ent
mov ah,9
int 21h
lea di,str
mov cl,len
mov ah,2
pr:
mov dl,[di]
int 21h
inc di
dec cl
jnz pr
ret
viv endp

beg:
mov ax,data
mov ds,ax
mov ax,stk
mov ss,ax
mov sp,offset ss:top
lea dx,max
mov ah,0ah
int 21h
cmp len,0
jz exit
call conv
call viv
exit:
mov ah,4ch
int 21h
cseg ends
end begin:abuse:


 

data segment
max db 255
len db 0
str1 db 256 dup(?)
db ?
ent db 13,10,'$'
data ends

stk segment stack
db 30 dup(?)
top db ?
stk ends

cseg segment
assume cs:cseg,ds:data,ss:stk,es:cseg
begin:
jmp beg
conv proc
lea di,str1
mov bl,len
mov bh,0
add bx,di
dec bx
cikl:
cmp di,bx
jnb konec
mov al,[di]
mov ah,[bx]
mov [di],ah
mov [bx],al
inc di
dec bx
jmp cikl
konec:
ret
conv endp

viv proc
lea dx,ent
mov ah,9
int 21h
lea di,str1
mov cl,len
mov ah,2
pr:
mov dl,[di]
int 21h
inc di
dec cl
jnz pr
ret
viv endp

beg:
mov ax,data
mov ds,ax
mov ax,stk
mov ss,ax
mov sp,offset ss:top
lea dx,max
mov ah,0ah
int 21h
cmp len,0
jz exit
call conv
call viv
exit:
mov ah,4ch
int 21h
cseg ends
end begin
==========
Канает? У меня -да.


 

То же самое выдаёт.


 

Member
Статус: Не в сети
Регистрация: 30.04.2004
Откуда: [Omsk Team]
народ, ну тэг code для кого сделан? Читать невозможно

Добавлено спустя 13 минут, 44 секунды:
с какими ключами линкуешь? версия ассемблера?
Код:
start /w tasm /zi bits.asm
start /w tlink /v /s /3 bits.obj

с этим bat все работает в TASM 4.1

_________________
forum.omskteam.ru- Все о керамограните


 

Код:
tlink proga.obj /t/x

Tasm 5.0


 

Member
Статус: Не в сети
Регистрация: 30.04.2004
Откуда: [Omsk Team]
#tim$ сначала идут ключи, а потом - объектный файл :)

_________________
forum.omskteam.ru- Все о керамограните


 

Все равно не работает


 

Кто - нибудь знает как организовать сортировку (например пузырём) на ассемблере?
Я всего две недели на нём пишу(пытаюсь писать), в книгах нигде не встречал ничего про это. И вообще это возможно?


 

Member
Статус: Не в сети
Регистрация: 30.07.2004
написать-то возможно, но только пузырь на чем не пиши - толку мало будет, сам алгоритм крайне малоэффективен.
а более сложный алгоритм реализовывать на асме полностью - имхо того не стоит. я бы порекомендовал, если нужна скорость - с+асм-вставки, если универсальность - с++ с шаблонами.

Добавлено спустя 6 минут, 18 секунд:
кстати, темплейт для quicksort в STL имеется


 

Member
Статус: Не в сети
Регистрация: 02.01.2003
Откуда: Obninsk
.model small
.data
x db 0
.code
public sort
sort proc near
pop ax
pop bx
pop ds
pop cx
push ax
dec cx
mov si,1
m3:
mov al, [bx[si]]
mov x,al
push si
m2:
mov al, [bx[si-1]]
cmp x,al
jg m1
mov al,[bx[si-1]]
mov [bx[si]],al
dec si
cmp si,0
je m1
jmp m2
m1: mov al,x
mov [bx[si]],al
pop si
inc si
loop m3
ret
sort endp
end


Последний раз редактировалось L1M1T 30.12.2004 22:34, всего редактировалось 1 раз.

 

Member
Статус: Не в сети
Регистрация: 18.06.2004
Откуда: Алматы KZ
в самом деле, зачем там :abuse: и самое главное чем ассемблировал? а то непонятно, тут до кучи всяких ассемблеров и у каждого своя мнемоника, так что пока не скажешь чем ассемблишь, ничем помочь не могу. да, кстати, укажи на каких строках выдаются ошибки.

_________________
Поздравляю Шарик, ты балбес! (с) Кот Матроскин


 

Member
Статус: Не в сети
Регистрация: 18.06.2004
Откуда: Алматы KZ
fractal: Я сейчас как раз работаю над этой проблемой, как закончу, сообщу.

_________________
Поздравляю Шарик, ты балбес! (с) Кот Матроскин


 

Member
Статус: Не в сети
Регистрация: 13.04.2004
Откуда: Москва
#tim$
Цитата:
tlink proga.obj /t/x
ты в .com линкуешь? - так низзя, для кома специальный код нужен (односегментный для начала)
убери /t


 

Member
Статус: Не в сети
Регистрация: 23.09.2003
Откуда: South Ural
Fractal
у видео- и звуковой карты нет серийных номеров
сетевая карта в этом отношении гораздо более перспективна - считывайте mac-адрес - он изначально уникален (но при наличии желания и его изменить не составляет большого труда)

_________________
http://stargaz0r.nm.ru
http://people.overclockers.ru/StarGaz0r/files


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 634 • Страница 1 из 321  2  3  4  5 ... 32  >

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  

Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan


Яндекс.Метрика