求助一道汇编语言问题!3、从无序数列中删除一个元素 实验内容在BUFFER为首址的内存区中存放了一个无序字符串,其长度存放在第一个字节单元,在KEY单元内存放了要删除的一个字符,查找此无
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/30 01:28:14
![求助一道汇编语言问题!3、从无序数列中删除一个元素 实验内容在BUFFER为首址的内存区中存放了一个无序字符串,其长度存放在第一个字节单元,在KEY单元内存放了要删除的一个字符,查找此无](/uploads/image/z/6904756-28-6.jpg?t=%E6%B1%82%E5%8A%A9%E4%B8%80%E9%81%93%E6%B1%87%E7%BC%96%E8%AF%AD%E8%A8%80%E9%97%AE%E9%A2%98%213%E3%80%81%E4%BB%8E%E6%97%A0%E5%BA%8F%E6%95%B0%E5%88%97%E4%B8%AD%E5%88%A0%E9%99%A4%E4%B8%80%E4%B8%AA%E5%85%83%E7%B4%A0+%E5%AE%9E%E9%AA%8C%E5%86%85%E5%AE%B9%E5%9C%A8BUFFER%E4%B8%BA%E9%A6%96%E5%9D%80%E7%9A%84%E5%86%85%E5%AD%98%E5%8C%BA%E4%B8%AD%E5%AD%98%E6%94%BE%E4%BA%86%E4%B8%80%E4%B8%AA%E6%97%A0%E5%BA%8F%E5%AD%97%E7%AC%A6%E4%B8%B2%2C%E5%85%B6%E9%95%BF%E5%BA%A6%E5%AD%98%E6%94%BE%E5%9C%A8%E7%AC%AC%E4%B8%80%E4%B8%AA%E5%AD%97%E8%8A%82%E5%8D%95%E5%85%83%2C%E5%9C%A8KEY%E5%8D%95%E5%85%83%E5%86%85%E5%AD%98%E6%94%BE%E4%BA%86%E8%A6%81%E5%88%A0%E9%99%A4%E7%9A%84%E4%B8%80%E4%B8%AA%E5%AD%97%E7%AC%A6%2C%E6%9F%A5%E6%89%BE%E6%AD%A4%E6%97%A0)
求助一道汇编语言问题!3、从无序数列中删除一个元素 实验内容在BUFFER为首址的内存区中存放了一个无序字符串,其长度存放在第一个字节单元,在KEY单元内存放了要删除的一个字符,查找此无
求助一道汇编语言问题!
3、从无序数列中删除一个元素
实验内容
在BUFFER为首址的内存区中存放了一个无序字符串,其长度存放在第一个字节单元,在KEY单元内存放了要删除的一个字符,查找此无序字串,若找到则删除并作相应调整,若字串中无此字符则在FLAG单元内置FFH标志.
data segment
buffer db 0cH,'wcsegmentend'
key db 'm'
flag db ?
error db -1
data ends
stack segment para stack 'stack'
db 100 dup(0)
stack ends
code segment
assume cs:code,ds:data,ss:stack
main proc far
start: push ds
mov ax,0
push ax
mov ax,data
mov ds,ax
mov ax,stack
mov ss,ax
lea bx,key
mov al,[bx]
lea bx,buffer
mov cx,[bx]
jmp A4
A5: dec cx
jne A4
jmp A2
A4: inc bx
cmp [bx],al
jne A5
jmp A3
A2: mov dl,error
mov flag,dl
ret
A3: mov ah,[bx+1]
mov [bx],ah
inc bx
dec cx
jne A3
ret
main endp
code ends
end main
题目和编程如图所示,可我运行的时候却又跳出了dubug,这是怎么回事?
求助一道汇编语言问题!3、从无序数列中删除一个元素 实验内容在BUFFER为首址的内存区中存放了一个无序字符串,其长度存放在第一个字节单元,在KEY单元内存放了要删除的一个字符,查找此无
DATA SEGMENT
BUFFER DB 0CH, 'WCSEGMENTEND'
KEY DB 'A'
FLAG DB ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
MAIN PROC FAR
START:
PUSH DS
MOV AX, 0
PUSH AX
MOV AX, DATA
MOV DS, AX
;-------------------------
MOV AL, KEY
LEA BX, BUFFER
MOV CL, [BX]
A4:
INC BX
CMP [BX], AL
JE A3
DEC CL
JNE A4 ;循环查找
MOV FLAG, -1
RET
;-------------------------
A3:
MOV AH, [BX + 1]
MOV [BX], AH
INC BX
DEC CL
JNE A3
MOV FLAG, 0
RET
;-------------------------
MAIN ENDP
CODE ENDS
END MAIN