汇编语言上机考试三星题7(二刷)

7. 已知数组A包含20个互不相等的字型整数,数组B包含30个互不相等的字型整数,试编制一程序把在A中而不在B中出现的整数放于数组C中。

重要提示

这道题的思路如下:

首先定义数据段(废话)

然后SI DI BX分别等于0

从BUFA取一个,然后跟BUFB比较,一个一个比,一样就跳到A的下一个,BUFB比完了就LOADC

注意BUFC的序号应该用BX,不能用CX会报错。

DATAS SEGMENT

    BUFA DW 0000H,0011H,0022H,0033H,0044H,0055H,0066H,0077H,0088H,0099H;这里不加逗号

    DW 7777H,7777H,7777H,7777H,7777H,7777H,7777H,7777H,7777H,7777H

BUFB DW 0000H,0011H,0022H,0033H,0044H,0055H,0066H,0077H,0088H,0099H

DW 1011H,1022H,1033H,1044H,1055H,1066H,1077H,1088H,1099H,1000H

DW 2011H,2022H,2033H,2044H,2055H,2066H,2077H,2088H,2099H,2000H

BUFC DW 20 DUP(0);此处输入数据段代码 ;此处输入数据段代码 

DATAS ENDS

STACKS SEGMENT

    ;此处输入堆栈段代码

STACKS ENDS

CODES SEGMENT

    ASSUME CS:CODES,DS:DATAS,SS:STACKS

START:

    MOV AX,DATAS

    MOV DS,AX

    MOV ES,AX

    MOV SI,0

    MOV DI,0

    MOV BX,0

COMPARE:

    MOV AX,BUFA[SI]

    MOV CX,BUFB[DI]

    CMP AX,CX

    JNE BNEXT

ANEXT:

ADD SI,2

CMP SI,40

JE END0

MOV DI,0

JMP COMPARE

BNEXT:

ADD DI,2

CMP DI,60

JE LOADC

JMP COMPARE

LOADC:

MOV BUFC[BX],AX

ADD BX,2

JMP ANEXT

END0:


    ;此处输入代码段代码

    MOV AH,4CH

    INT 21H

CODES ENDS

    END START


执行结果


汇编语言上机考试三星题7(二刷)_第1张图片

你可能感兴趣的:(汇编语言上机考试三星题7(二刷))