📄 chp3_23b.asm
字号:
stack segment stack 'stack'
dw 32 dup(?)
stack ends
data segment
BUF1 DW -5,-1,5,7
BUF2 DW -2,4,9
N2 EQU ($-BUF2)/2
N EQU ($-BUF1)/2
N1 EQU N-N2
PUF DW (N1+N2) DUP(?)
data ends
code segment
begin proc far
assume ss:stack,cs:code,ds:data
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
MOV SI,0
MOV DI,0
MOV BX,0
MOV CX,N1
AGAIN1:MOV AX,BUF1[SI]
MOV PUF[BX],AX
ADD SI,2
ADD BX,2
LOOP AGAIN1
MOV CX,N2
AGAIN2:MOV AX,BUF2[DI]
MOV PUF[BX],AX
ADD DI,2
ADD BX,2
LOOP AGAIN2
MOV SI,OFFSET PUF
MOV DX,N-1
OUTSID:MOV CX,DX
PUSH SI
MOV AX,[SI]
INSIDE:ADD SI,2
CMP AX,[SI]
JL NEXCHG
XCHG[SI],AX
NEXCHG:LOOP INSIDE
POP SI
MOV [SI],AX
ADD SI,2
DEC DX
JNZ OUTSID
ret
begin endp
code ends
end begin
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -