首页 > 计算机等级考试
题目内容 (请给出正确答案)
[主观题]

若要完成(AX)×7/2运算,则在下面四条指令之后添加哪条指令? MOV BX,AX MOV CL,3 SAL AX,CL

若要完成(AX)×7/2运算,则在下面四条指令之后添加哪条指令? MOV BX,AX MOV CL,3 SAL AX,CL SUB AX,BX _______

A.OR AX,1

B.SAL AX,1

C.SAR AX,1

D.DIV AX,2

查看答案
答案
收藏
如果结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能还需要:
您的账号:
发送账号密码至手机
发送
安装优题宝APP,拍照搜题省时又省心!
更多“若要完成(AX)×7/2运算,则在下面四条指令之后添加哪条指…”相关的问题
第1题
若要完成(AX)×7/2运算,则在下列4条指令之后添加()指令。 MOV BX,AX MOV CL,3

若要完成(AX)×7/2运算,则在下列4条指令之后添加()指令。 MOV BX,AX MOV CL,3 SAL AX,CL SUB AX,BX __________

A.ROR AX,1

B.SAL AX,1

C.SAR AX,1

D.DIV AX,2

点击查看答案
第2题
若要完成(AX)×7/2运算,则在下列4条指令之后添加()指令。MOV BX,AXMOV CL,3SAL AX,CLSUB AX,BX_

若要完成(AX)×7/2运算,则在下列4条指令之后添加()指令。MOV BX,AXMOV CL,3SAL AX,CLSUB AX,BX__________

A.ROR AX,1

B.SAL AX,1

C.SAR AX,1

D.DIV AX,2

点击查看答案
第3题
要完成(AX)× 7/2运算,则在下列四条指令之后添加哪条指令?() MOV BX, AX MOV CL, 3

要完成(AX)× 7/2运算,则在下列四条指令之后添加哪条指令?() MOV BX, AX MOV CL, 3 SAL AX, CL SUB AX, BX

A.ROR AX,1

B.SAL AX,1

C.SAR AX,1

D.DIV AX,2

点击查看答案
第4题
编制一个程序,使其实现如下功能:将内存中连续存放的10个十六位二进制无符号数按照从小到大的顺序
排列。

例如:

内存中有:3456H,2345H,5643H,…(假设后面的7个数都大于5643H)

结果为: 2345H,3456H,5643H,…(后面跟7个字,按照从小到大的顺序排列)。

部分程序已经给出,其中原始数据由过程LOAD从文件INPUT.DAT中读入以SOURCE开始的内存单元中。运算结果要求从RESULT开始的内存单元存放,由过程SAVE保存到文件OUTPUTDAT中。

请填空BEGIN和END之间已给出的源程序使其完整,空白已经用横线标出,每行空白一般只需要一条指令,但采用功能相当的多条指令亦可,考生也可以删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。

对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。

[试题程序]

EXTRN LOAD:FAR,SAVE:FAR

N EOU 10

SSEG SEGMENT STACK

DB 256 DUP ()

SSEG ENDS

DSEG SEGMENT

SOURCE DW N DUP ()

RESULT DW N DUP (0)

NAME0 DB 'INPUT.DAT',0

NAME1 DB 'OUTPUT.DAT',0

DSEG ENDS

CSEG SEGMENT

ASSUME CS:CSEG,DS:DSEG,SS:SSEG

START PROC FAR

PUSH DS

XOR AX,AX

PUSH AX

MOV AX,DSEG

MOV DS,AX

LEA DX,SOURCE

LEA SI,NAME0

MOV CX,N*2

CALL LOAD

; ******** BEGIN ********

MOV SI,OFFSET SOURCE

MOV DI, (1)

MOV CX,N

AGAIN0: MOV AX,[SI]

MOV [DI],AX

ADD SI,2

ADD DI,2

LOOP AGAIN0

CLD

MOV BX,N-1

AGAIN1: MOV SI,OFFSET RESULT

MOV CX,BX

AGAIN2: LODSW

CMP [SI], (2)

JAE NEXT

(3)

MOV [SI-2],AX

NEXT: LOOP (4)

DEC BX

JNZ (5)

; ******** END ********

LEA DX,RESULT

LEA SI,NAME1

MOV CX,N*2

CALL SAVE

RET

START ENDP

CSEG ENDS

END START

点击查看答案
第5题
请编制程序,其功能是:内存中连续存放着两个无符号字节数序列Ak和Bk(k=0,1,…,9),求序列Ck,Ck=Ak÷B

请编制程序,其功能是:内存中连续存放着两个无符号字节数序列Ak和Bk (k=0,1,…,9),求序列Ck,Ck=Ak÷Bk (运算结果按序以字的形式连续存放,其中低字节为商,高字节为余数)。

例如:

序列Ak为:01H,7FH, 80H,FFH…

序列Bk为:PFH,80H,7FH,01H…

结果Ck为:0100H(00H为商、01H为余数),7F00H,0101H,00FFH…

部分程序已给出,其中原始数据由过程LOAD从文件INPUT.DAT中读入SOURCE开始的内存单元中,运算结果要求从 RESULT开始存放,由过程SAVE保存到文件OUTPUT.DAT中。

请填空BEGIN和END之间已给出的源程序使其完整,空白已用横线标出,每个空白一般只需一条指令,但采用功能相当的多条指令亦可,或删除BEGm和END之间原有的代码并自行编程来完成所要求的功能。

对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。

[试题程序]

EXTRN LOAD:FAR,SAVE:FAR

N EQU 10

STAC SEGMENT STACK

DB 128 DUP()

STAC ENDS

DATA SEGMENT

SOURCE DB N*2 DUP()

RESULT DW N DUP(0)

NAME0 DB 'INPUT.DAT',0

NAME1 DB 'OUTPUT.DAT',0

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE, DS:DATA, SS:STAC

START PROC FAR

PUSH DS

XOR AX,AX

PUSH AX

MOV AX,DATA

MOV DS,AX

LEA DX,SOURCE ;数据区起始地址

LEA SI,NAME0 ;原始数据文件名

MOV CX,N*2 ;字节数

CALL LOAD ;从 'INPUT.DAT' 中读取数据

; ******** BEGIN ********

MOV DI,OFFSET RESULT

MOV BX,0

(1)

PRO: MOV (2)

(3) ,SOURCE[BX]

CBW

DIV (4)

MOV [DI], (5)

ADD DI,2

(6)

DEC CX

(7) PRO

; ******** END ********

LEA DX,RESULT ;结果数据区首址

LEA SI,NAME1 ;结果文件名

MOV CX,2*N ;结果字节数

CALL SAVE ;保存结果到文件

RET

START ENDP

CODE ENDS

END START

点击查看答案
第6题
编制一个程序,实现如下功能:将内存中连续存放的10个八位二进制无符号数按照从大到小的顺序排列。

例如:

内存中有:3EH,0FEH,5DH……(假设后面的7个数都小于3EH)

结果为: 0FEH,5DH,3EH……(后面跟7个字,按照从大到小的顺序排列)。

部分程序已经给出,其中原始数据由过程LOAD从文件INPUT.DAT中读入以SOURCE开始的内存单元中。运算结果要求从RESULT开始的内存单元存放,由过程SAVE保存到文件OUTPUT.DAT中。

请填空BEGIN和END之间已给出的源程序使其完整,空白已经用横线标出,每行空白一般只需要一条指令,但采用功能相当的多条指令也行,考生也可以删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。

对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。

【试题程序】

EXTRN LOAD:FAR,SAVE:FAR

N EQU 10

SSEG SEGMENT STACK

DB 256 DUP ()

SSEG ENDS

DSEG SEGMENT

SOURCE DB N DUP ()

RESULT DB N DUP (0)

NAME0 DB 'INPUT.DAT',0

NAME1 DB 'OUTPUT.DAT',0

DSEG ENDS

CSEG SEGMENT

ASSUME CS:CSEG,DS:DSEG,SS:SSEG

START PROC FAR

PUSH DS

XOR AX,AX

PUSH AX

MOV AX,DSEG

MOV DS,AX

LEA DX, SOURCE

LEA SI,NAME0

MOV CX,N

CALL LOAD

;******** BEGIN ********

MOV SI,OFFSET SOURCE

MOV DI,OFFSET RESULT

MOV CX,N

AGAIN0: MOV AX, [SI]

MOV [DI],AX

ADD SI, (1)

(2)

LOOP AGAIN0

CLD

MOV BX,N-1

AGAIN1: MOV SI,OFFSET RESULT

MOV CX,BX

AGAIN2: LODSB

CMP [SI],AX

(3)

XCHG [SI],AX

(4)

NEXT: LOOP AGAIN2

(5)

JNZ AGAIN1

;******** END ********

LEA DX,RESULT

LEA SI,NAME1

MOV CX,N

CALL SAVE

RET

START ENDP

CSEG ENDS

END START

点击查看答案
第7题
请编制程序,其功能是:内存中连续存放着10个十六位二进制数。分别对每个数的高位字节和低位字节进
行逻辑与运算及逻辑或运算。运算结果以字的形式按序连续存放(低位字节存入逻辑与运算的结果,高位字节存入逻辑或运算的结果)。

例如:

内存中有:AA55H,55AAH,FFAAH

结果为: PP00H,FF00H,FFAAH

部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从 RESULT开始存放, 由过程SAVE保存到文件OUTPUT1.DAT中。

请填空BEGIN和END之间已经给出的源程序使其完整,空白处已经用横线标出,每个空白一般只需一条指令,但采用功能相当的多条指令亦可,或删去BEGIN和END之间原有的代码并自行编程来完成所要求的功能。

对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。

[试题程序]

EXTRN LOAD:FAR,SAVE:FAR

N EQU 3

STAC SEGMENT STACK

DB 128 DUP ()

STAC ENDS

DATA SEGMENT

SOURCE DW N DUP()

RESULT DW N DUP(0)

NAME0 DB 'INPUT1.DAT',0

NAME1 DB 'OUTPUT1.DAT',0

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE, DS:DATA, SS:STAC

START PROC FAR

PUSH DS

XOR AX,AX

PUSH AX

MOV AX,DATA

MOV DS,AX

LEA DX,SOURCE ;数据区起始地址

LEA SI,NANE0 ;原始数据文件名

MOV CX,N*2 ;字节数

CALL LOAD ;从'INPUT1.DAT'中读取数据

; ********* BEGIN **********

MOV DI,OFFSET RESULT

MOV CX,N

MOV BX,00

PRO: MOV AX, (1)

MOV DX,AX

AND (2) ,DH

(3) AH,AL

MOV (4) ,DL

ADD BX,2

(5)

ADD DI,2

(6)

JNZ PRO

; ******** END ********

LEA DX,RESULT ;结果数据区首址

LEA SI,NAME1 ;结果文件名

NOV CX,N*2 ;结果字节数

CALL SAVE ;保存结果到文件

RET

START ENDP

CODE ENDS

END START

点击查看答案
第8题
下面指令序列执行后完成的运算中,正确的算术表达式为()。 HOV AL, BYTE PTR X SHL AL,1 D

下面指令序列执行后完成的运算中,正确的算术表达式为()。 HOV AL, BYTE PTR X SHL AL,1 DEC AL MOV BYTE PTR Y,AL

A.y=x2+1

B.y=x2-1

C.X=Y2+1

D.Y=X×2

点击查看答案
第9题
下面程序的功能是利用逻辑尺对BUF变量中的数据进行变换,执行该程序后,以RESULT为首地址的前2个字
节单元中的数据,依次为______。

DSEG SEGMENT

BUF DB 1, 5, 4, 0, 7, 9, 2, 6

L EQU 00111001B ; 用作逻辑尺

RESULT DB 10 DUP()

DSEG ENDS

SSEG SEGMENT STACK

DB 256 DUP(0)

SSEG ENDS

CSEG SEGMENT

ASSUME DS:DSEG, SS:SSEG, CS:CSEG

START PROC FAR

PUSH DS

XOR AX, AX

PUSH AX

MOV AX, DSEG

MOV DS, AX

MOV SI, 0

MOV CX, 8

MOV DL, L

GOON: SHR DL, 1

JC FILL

MOV AL, BUF[SI]

JMP NEXT

FILL: MOV AL, OFFH

NEXT: MOV RESULT [SI] , AL

INC SI

LOOP GOON

RET

START ENDP

CSEG ENDS

END START

点击查看答案
第10题
请编制程序,其功能是:内存中连续存放着20个ASCⅡ字符,如果是小写字母a~z之间的字符(包括字母a和z)

请编制程序,其功能是:内存中连续存放着20个ASCⅡ字符,如果是小写字母a~z之间的字符(包括字母a和z),请把它们转换成相应的大写字母所对应的ASCⅡ字符;若为其他字符,不作转换。

例如:

内存中有:61H('a'),62H('b'),31H('1'),41H('A'),42H('B')…

结果为: 41H('A'),42H('B'),31H,41H,42H…

部分程序已经给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中,运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。

请填空BEGIN和END之间已给出的源程序使其完整,空白处已用横线标出,每行空白一般只需一条指令,但采用功能相当的多条指令亦可,或删去BEGIN和END之间原有的代码并自行编程来完成所要求的功能。

对程序必须进行汇编,并与IO.OBJ连接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序存在错误之处,请加以修改。

【试题程序】

EXTRN LOAD:FAR,SAVE:FAR

N EQU 20

STAC SEGMENT STACK

DB 128 DUP ()

STAC ENDS

DATA SEGMENT

SOURCE DB N DUP()

RESULT DB N DUP(0)

NAME0 DB 'INPUT1.DAT',0

NAME1 DB 'OUTPUT1.DAT',0

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STAC

START PROC FAR

PUSH DS

XOR AX,AX

PUSH AX

MOV AX,DATA

MOV DS,AX

LEA DX,SOURCE ; 数据区起始地址

LEA SI,NAME0 ; 原始数据文件名

MOV CX,N ; 字节数

CALL LOAD ; 从"INPUT.DAT"中读取数据

; ******** BEGIN ********

LEA SI, SOURCE

LEA DI, RESULT

MOV CX, N

NEXT: MOV AL,[SI]

CMP AL,'a'

JB (1)

CMP AL, (2)

J (3) UPPER2

SUB AL, (4)

UPPER2: HOV [DI], (5)

INC (6)

INC (7)

(8) NEXT

; ******** END ********

LEA DX,RESULT ; 结果数据区首址

LEA SI,NAME1 ; 结果文件名

MOV CX,N ; 结果字节数

CALL SAVE ; 保存结果到文件

RET

START ENDP

CODE ENDS

END START

点击查看答案
退出 登录/注册
发送账号至手机
密码将被重置
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改