📄 3_23.asm
字号:
stack segment stack 'stack'
dw 32 dup(?)
stack ends
data segment
N1 dw 0123AH;,0134BH,03217H,04381H
SIZE1 equ ($ - N1)/2
N2 dw 00134H,02AB6H;,02739H,03351H,0FA21H
SIZE2 equ ($ - N2)/2
TSIZE equ SIZE1 + SIZE2
Count db 0
Count1 db 0
Count2 db 0
Result dw TSIZE dup(?)
Temp db ?
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 bx,0
mov DI,0
AGAIN:
mov ax,word ptr N1[SI]
CMP ax,word ptr N2[bx]
JS SIGN_N1
JNS SIGN_N2
INC COUNT1
JMP AGAIN
SIGN_N1:
mov ax,word ptr N1[SI]
mov word ptr Result[DI],ax
INC COUNT1
INC COUNT
add SI,2
add DI,2
mov al,COUNT1
CMP al,SIZE1
JZ END_PROC2
JMP AGAIN
SIGN_N2:
mov ax,word ptr N2[bx]
mov word ptr Result[DI],ax
INC COUNT2
INC COUNT
add bx,2
add DI,2
mov al,COUNT2
CMP al,SIZE2
JZ END_PROC1
JMP AGAIN
END_PROC1:
mov ax,word ptr N1[SI]
mov word ptr Result[DI],ax
INC COUNT1
INC COUNT
add ax,2
add DI,2
mov al,COUNT1
CMP al,SIZE1
JZ MYEND
JMP END_PROC1
END_PROC2:
mov ax,word ptr N2[bx]
mov word ptr Result[DI],ax
INC COUNT2
INC COUNT
add bx,2
add DI,2
mov al,COUNT2
CMP al,SIZE2
JZ MYEND
JMP END_PROC2
MYEND:
ret
begin endp
code ends
end begin
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -