
急求这套关于汇编语言的题!!!
急求这套关于汇编语言的题!!!下面的程序是在一个按递增顺序排列好的正整数组成的字数组ARY中,将正整数N插入到适当的位置(其首地址为ARY_HEAD,末地址为ARY_EN...
急求这套关于汇编语言的题!!!下面的程序是在一个按递增顺序排列好的正整数组成的字数组ARY中,将正整数N插入到适当的位置(其首地址为ARY_HEAD,末地址为ARY_END);请将程序填空完整.(10分)
DAREA SEGMENT
X DW ?
ARY_HEAD DW 5,6,8,12,17,26,28,72,506,777,827
ARY_END DW 2404
N DW 903
DAREA ENDS
CODE SEGMENT
MAIN PROC FAR
ASSUME CS: CODE,DS:DAREA
START: PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DAREA
MOV DS,AX
MOV (1)
MOV ARY_HEAD-2,0FFFFH
MOV SI, (2)
COMPARE: CMP ARY_END [ (3)] , AX
JLE INSERT
MOV BX,ARY_END[SI]
(4)
SUB SI,2
JMP SHORT COMPARE
INSERT: MOV ARY_END[SI+2],(5)
RET
MAIN ENDP
CODE ENDS
END START 展开
DAREA SEGMENT
X DW ?
ARY_HEAD DW 5,6,8,12,17,26,28,72,506,777,827
ARY_END DW 2404
N DW 903
DAREA ENDS
CODE SEGMENT
MAIN PROC FAR
ASSUME CS: CODE,DS:DAREA
START: PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DAREA
MOV DS,AX
MOV (1)
MOV ARY_HEAD-2,0FFFFH
MOV SI, (2)
COMPARE: CMP ARY_END [ (3)] , AX
JLE INSERT
MOV BX,ARY_END[SI]
(4)
SUB SI,2
JMP SHORT COMPARE
INSERT: MOV ARY_END[SI+2],(5)
RET
MAIN ENDP
CODE ENDS
END START 展开
1个回答
展开全部
darea segment
x dw ?
ary_head dw 5,6,8,12,17,26,28,72,506,777,827
ary_end dw 2404
n dw 903
darea ends
code segment
main proc far
assume cs: code,ds:darea
start:
push ds
xor ax,ax
push ax
mov ax,darea
mov ds,ax
mov ax, n ;(1)
mov ary_head-2,0ffffh
mov si, 0 ;(2)
compare:
;cmp ary_end [ (3)] , ax
cmp ary_end [si] , ax
jle insert
mov bx,ary_end[si]
;(4)
mov ary_end[si+2],bx
sub si,2
jmp short compare
insert:
mov ary_end[si+2], ax ;(5)
ret
main endp
code ends
end start
追问
兄弟,谢谢了,答案是正确的吧
早知道是你复制原题,就不给你采纳了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询