编写一个完整汇编程序,往按字典顺序存放的等长字符串表 (每个串长4个字符,各串中间以空格分隔,表以00h结尾)中插入一个新的串,并保持字典顺序。
做了几天还是没有成功,现请高手帮帮忙!谢谢!
.model small
.data
string db 4 dup(?),' ','abcd',' ','efgh',' ','mnop',' ','$'
count equ 3
insert db 'ijkl'
info1 db 'no insert string are:','$'
info2 db 0dh,0ah,'inserted string are:','$'
.code
.startup
lea di,string
lea si,insert
mov al,[si]
mov cx,count
lea dx,info2
mov ah,9
int 21h
std
compare:
.if [di] == '$'
mov cx,4
rep movsb
jmp putOut
.endif
add di,5
cmp al,byte ptr[di]
ja next
push cx
mov cx,4
mov di,di-5
cld
REP movsb
pop cx
next:
push cx
mov cx,4
mov si,di+5 ;移串
CLD
rep movsb
pop cx
loop compare
putOut:
lea dx,info2
mov ah,9
int 21h
.exit 0
end
这是我做的,但出错了,
[此贴子已经被作者于2007-1-1 14:04:13编辑过]