B
BoSSea
Помогите разобраться ... написал прогу в "Assemblere" что копирует последний элемент из первой строки во вторую 3 раза ... с помощью функции "3fh" . ошибок не выдает а когда компилирую tlink - выдает ошибку "Fatal: Bad object file record in prog2.asm near module file offset 0x00000000" прочел что это значит что не правильно в вел параметры ... а вот разобраться что не правильно ввел не смог ... Спс заранее :gigi:
<!--shcode--><pre><code class='sql'> sstack segment para stack 'stack'
db 100 dup(?)
sstack ends
sdata segment para 'data'
message db 'enter the string:',10,13,'$'
maxlength db 11
curlength db ?
s1 db 11 dup(?),'$'
s2 db 4 dup(?)
new_line db 10,13,'$'
sdata ends
scode segment para 'code'
assume ds:sdata,ss:sstack,cs:scode
start:
mov ax,sdata
mov ds,ax
mov ah,9
mov dx,offset message
int 21h
mov ah,3fh
lea dx,s1
mov bx,0
int 21h
mov al,s1[bx-1]
mov s2,al
mov bl,curlength
mov bh,0
mov al,s1[bx-1]
mov s2+1,al
mov al,s1[bx-1]
mov s2+2,al
mov s2+3,'$'
mov s1[bx],'$'
mov ah,9
mov dx,offset s1
int 21h
mov ah,9
mov dx,offset new_line
int 21h
mov ah,9
mov dx,offset s2
int 21h
mov ah,9
mov dx,offset new_line
int 21h
mov ah,4ch
int 21h
scode ends
end start[/CODE]
<!--shcode--><pre><code class='sql'> sstack segment para stack 'stack'
db 100 dup(?)
sstack ends
sdata segment para 'data'
message db 'enter the string:',10,13,'$'
maxlength db 11
curlength db ?
s1 db 11 dup(?),'$'
s2 db 4 dup(?)
new_line db 10,13,'$'
sdata ends
scode segment para 'code'
assume ds:sdata,ss:sstack,cs:scode
start:
mov ax,sdata
mov ds,ax
mov ah,9
mov dx,offset message
int 21h
mov ah,3fh
lea dx,s1
mov bx,0
int 21h
mov al,s1[bx-1]
mov s2,al
mov bl,curlength
mov bh,0
mov al,s1[bx-1]
mov s2+1,al
mov al,s1[bx-1]
mov s2+2,al
mov s2+3,'$'
mov s1[bx],'$'
mov ah,9
mov dx,offset s1
int 21h
mov ah,9
mov dx,offset new_line
int 21h
mov ah,9
mov dx,offset s2
int 21h
mov ah,9
mov dx,offset new_line
int 21h
mov ah,4ch
int 21h
scode ends
end start[/CODE]