重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁!
查看《购买须知》>>>
当前位置: 首页 > 计算机类考试 > 计算机三级
网友您好, 请在下方输入框内输入要搜索的题目:
搜题

题目

[主观题]

试题要求如下: 请编制程序,其功能是:从20个有符号字节数据中取出负数并计算其绝对值之和(字型),

试题要求如下:

请编制程序,其功能是:从20个有符号字节数据中取出负数并计算其绝对值之和(字型),然后存放在指定的内存区中,多余的空间填0。

例如:

内存中有:80H,02H,00H,7CH,7BH,81H……

结果为: 80H,FEH,FDH,05H,00H,00H……

部分程序已给出,其中原始数据由过程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 256 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

MOV ES, AX

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

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

MOV CX, N ; 字节数

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

**** BEGIN ****

LEA SI, SOURCE

LEA DI, RESULT

MOV DX, 0

MOV CX, N

CLD

CON: LODSB

(1)

JGE (2)

MOV [DI], AL

INC DI

(3)

INC DI

ADD DL, AL

(4)

NEXT: LOOP CON

MOV [DI], DX

ADD DI, 2

MOV CX, 40

SUB CX, DI

MOV AL, (5)

(6)

; **** END ****

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

查看参考答案
更多“试题要求如下: 请编制程序,其功能是:从20个有符号字节数据中取出负数并计算其绝对值之和(字型),”相关的问题

第1题

试题要求如下: 请编制程序,其功能是:内存中连续放着20个ASCII字符,如果是小写字母A~Z之间的字符,

试题要求如下:

请编制程序,其功能是:内存中连续放着20个ASCII字符,如果是小写字母A~Z之间的字符,请把它们转换成相应的小写字母:若为其他字符,均转换成ASCII字符'NUL' (00H)。

例如:

内存中有:41H ('A'),42H ('B'),5EH,64H,48H……

结果为: 61H ('a'),62H ('b'),00H('NUL'),00H('NUL'),00H('NUL')……

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

对程序进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果。

试题程序:

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(0FH)

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 ; 从'INPUT1.DAT'中读取数据

LEA SI, SOURCE

LEA DI, RESULT

; **** BEGIN ****

; **** END ****

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

LEA SI, NAME1 ; 结果文件名

MOV CX, L+I ; 结果字节数

CALL SAVE ; 保存结果到文件

RET

START ENDP

CODE ENDS

END START

点击查看答案

第2题

试题要求如下: 请编制程序,其功能是:统计20个学生成绩中得分在100~90,89~80,79~70、69~ 60和低于6

试题要求如下:

请编制程序,其功能是:统计20个学生成绩中得分在100~90,89~80,79~70、69~ 60和低于60分的人数,并计算20个学生的平均成绩(取整数),结果依次存放在指定的区域内。

例如:

内存中有5个分数:50H,40H,5EH,64H,48H

结果为 02H,01H,01H,01H,00H,52H(平均成绩)

部分程序己给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中,运算的结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。补充BEGIN和END之间已给出的源程序使其完整(空白己用横线标出,每行空白一般只需一条指令,但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。

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

试题程序:

EXTRN LOAD: FAR, SAVE: FAR

N EQU 20

L EQU 5

DATA SEGMENT

SOURCE DB N DUP()

RESULT DB N+1DUP(0)

NAME0 DB 'INPUT 1.DAT', 0

NAME1 DB 'OUTPUT1.DAT', 0

DATA ENDS

SSEG SEGMENT STACK

DB 256DUP ()

SSEG ENDS

CSEG SEGMENT

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

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 ;从'INPUT1.DAT'中读取数据

; **** BEGIN ****

LEA SI, SOURCE

LEA DI, RESULT

XOR BX, BX

(1)

MOV CX, N

GOON: LODSB

(2)

ADD BX, AX

(3)

JAE P1

CMP AL, 80

JAE P2

CMP AL, 70

JAE P3

CMP AL, 60

JAE P4

INC (4)

(5)

P4: INC BYTE PTR[DI+3]

JMP NEXT

P3: INC BYTE PTR[DI+2]

JMP NEXT

P2: INC BYTE&n

点击查看答案

第3题

请编制程序,其功能是:内存中连续存放着20个十六位二进制数,对每个数逻辑右移,使其最低位为"1"(值

请编制程序,其功能是:内存中连续存放着20个十六位二进制数,对每个数逻辑右移,使其最低位为"1"(值为零的字不变)。

例如:

内存中有A704H(1010011100000100B),0000H,9A58H…

结果为 29C1H(0010100111000001B),0000H,134BH…

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

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

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

试题程序:

请编制程序,其功能是:内存中连续存放着20个十六位二进制数,对每个数逻辑右移,使其最低位为"1"(值

点击查看答案

第4题

请编制程序,其功能是:内存中连续存放着20个无符号字节数序列,请将它们排成升序(从小到大)。 例如:

请编制程序,其功能是:内存中连续存放着20个无符号字节数序列,请将它们排成升序(从小到大)。

例如:

内存中有01H,04H,02H…(假设后17个字节均大与04H)

结果为 01H,02H,04H…(后跟17个字节,按从小到大的顺序排列)

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

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

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

试题程序:

请编制程序,其功能是:内存中连续存放着20个无符号字节数序列,请将它们排成升序(从小到大)。 例如:

点击查看答案

第5题

请编制程序PROG1.ASM,其功能是:内存中连续存放的20个8位有符号数(补码)是由一个8位A/D转换器采集

请编制程序PROG1.ASM,其功能是:内存中连续存放的20个8位有符号数(补码)是由一个8位A/D转换器采集的双极性信号(Xn),现要求对该信号作如下限幅处理(处理后的信号记为Yn):

a) Yn=-100 Xn<-100

b) Yn=Xn ∣Xn∣≤100

c) Yn=100 Xn>100

例如:

Xn:68H,60H,8EH,38H,…

Yn:64H,61H,9CH,38H,…

部分程序已在PROG1.ASM中给出,请填空BEGIN和END之间已给出的源程序使其完整(空白己用横线标出,每行空白一般只需一条指令,但功能相当的多条指令亦可)或删除 BEGIN和END之间原有的代码并自行编写程序片段来完成要求的功能。

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

对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。

试题程序:

EXTRN LOAD:FAR, SAVE:FAR

N EQU 20

M EQU 100

DSEG SEGMENT

SOURCE DW N DUP()

RESULT DW N DUP(0)

NAME0 DB 'INPUTI.DAT',0

NAME1 DB 'OUTPUT1.DAT',0

DSEG ENDS

SSEG SEGMENT STACK

DB 128 DUP()

SSEG 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 ; 从INPUT1.DAT中读取数据

; **** BEGIN ****

LEA SI,SOURCE

LEA DI,RESULT

(1)

NEXT: MOV AX,[SI]

CMP AX,-M

(2) L1

CMP AL,M

(3)

MOV AL,M

JMP L2

L1: MOV AL,-M

L2: MOV [DI],AL

(4)

(5)

(6)

; **** END ****

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

LEA SI,NAME1 ; 结果文件名起始地址

MOV CX,N ; 字节数

CALL SAVE ; 保存结果到OUTPUT1.DAT文件中

RET

START ENDP

CSEG ENDS

&nbs

点击查看答案

第6题

请编制程序,其功能是:将一数据采集系统中采集的80个字节无符号数(已存于SOURCE开始的内存区域)按

请编制程序,其功能是:将一数据采集系统中采集的80个字节无符号数(已存于SOURCE开始的内存区域)按算术平均数字滤波方法进行数字滤波,每8个数求一个平均值(含去余数)。将10个平均值依次写入RESULT指示的内存区域。

例如:

原采集数据 1EH,31H,31H,33H,58H,75H,38H,34H,49H,A2H,98H, DFH,99H,64H,64H,B7H,…

结果为 3DH,CCH,…

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

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

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

试题程序:

请编制程序,其功能是:将一数据采集系统中采集的80个字节无符号数(已存于SOURCE开始的内存区域)

点击查看答案

第7题

请编制程序,其功能是:内存中连续存放着16个12位无符号二进制数DB11DB10…DB0,其存放格式均为 DB11

请编制程序,其功能是:内存中连续存放着16个12位无符号二进制数DB11DB10…DB0,其存放格式均为

DB11 DB10 DB9 DB8 DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 0 0

请编制程序,其功能是:内存中连续存放着16个12位无符号二进制数DB11DB10…DB0,其存放格式

请判别这16个12位二进制数是否大于800H:若大于800H,则相应地在内存中存入01H;否则,存入00H。最后存放这16个12位二进制数中大于800H的数的个数n(n用一个字节表示)。

例如:

内存中有12H,30H,84H,50H,80H,00H…

结果为 00H,01H,00H…(共16个字节),后跟n

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

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

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

试题程序:

请编制程序,其功能是:内存中连续存放着16个12位无符号二进制数DB11DB10…DB0,其存放格式

点击查看答案

第8题

请编制程序,其功能是:内存中连续存放着20个无符号二进制字序列Xi(i=1,2,…,20),字的最高3位为000,

请编制程序,其功能是:内存中连续存放着20个无符号二进制字序列Xi(i=1,2,…,20),字的最高3位为000,此序列对应某一信号在一段时间内的连续变化,现对该信号进行一阶低通数字滤波,其滤波方程为:

Yi=(15*Yi-1/16)+(Xi/16),Y0=0

Yi(i=1,2…,20)为滤波后得到的新序列,结果存入内存。

例如:

内存中有01FFH,02FFH…

结果 001H,004DH…

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

请填空BEGIN和END之间已经给出的一段源程序使其完整,需填空处已经用横线标出,每个空白一般只需要填一条指令或指令的一部分(指令助记符或操作数),也可以填入功能相当的多条指令,或删去BEGIN和END之间原有的代码并自行编程来完成所要求的功能。对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。

试题程序:

请编制程序,其功能是:内存中连续存放着20个无符号二进制字序列Xi(i=1,2,…,20),字的最高

点击查看答案

第9题

请编制程序PROG1.ASM,其功能是;从SOURCE开始存放的21个8位有符号数(补码),相邻数的差距不超过-8~

请编制程序PROG1.ASM,其功能是;从SOURCE开始存放的21个8位有符号数(补码),相邻数的差距不超过-8~7,可采用差分压缩,其方法如下:第一个数据不变,其后数据取与前一数据之差值并用4位二进制补码表示,两个差值拼成一个字节,前一个差值放在高4位,后一个差值放在低4位。

例如:

原数据为:X[n]: 23H, 27H, 2AH, 29H, 22H...

压缩后为:Y[n]:23H, 43H, F9H...

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

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

对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。调试中若发现整个程序中存在错误之处,请加以修改。

试题程序:

EXTRN LOAD: FAR, SAVE: FAR

N EQU 20

DSEG SEGMENT

L DW ?

SOURCE DW N DUP()

RESULT DW N DUP(0)

NAME0 DB 'INPUT1. DAT', 0

NAME1 DB 'OUTPUT1. DAT', 0

DSEG ENDS

SSEG SEGMENT STACK

DB 128 DUP()

SSEG 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,L ; 数据区起始地址

LEA SI,NAME0 ; 输入文件名首址送SI

MOV CX,2+N ; 输入字节数送CX

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

;****BEGIN****

LEA SI,SOURCE

LEA DI,RESULT

CLD

MOVSB ; Y[0]=X[0]

XOR BX, BX ; FLAG=0

MOV DX,N*2 ; 计数

ZTE: LODSB

SUB (1) ; X [n]-X [n-1]

(2) ; FLAG=NOT FLAG

J (3) SWIM

MOV 4, CL

MOV AH, AL

JMP NEXT

SWIM: (4)

OR AL, AH

STOSB

NEXT: (5)

JN

点击查看答案
赏学吧APP
TOP
重置密码
账号:
旧密码:
新密码:
确认密码:
确认修改
购买搜题卡查看答案
购买前请仔细阅读《购买须知》
请选择支付方式
微信支付
支付宝支付
点击支付即表示你同意并接受《服务协议》《购买须知》
立即支付
搜题卡使用说明

1. 搜题次数扣减规则:

功能 扣减规则
基础费
(查看答案)
加收费
(AI功能)
文字搜题、查看答案 1/每题 0/每次
语音搜题、查看答案 1/每题 2/每次
单题拍照识别、查看答案 1/每题 2/每次
整页拍照识别、查看答案 1/每题 5/每次

备注:网站、APP、小程序均支持文字搜题、查看答案;语音搜题、单题拍照识别、整页拍照识别仅APP、小程序支持。

2. 使用语音搜索、拍照搜索等AI功能需安装APP(或打开微信小程序)。

3. 搜题卡过期将作废,不支持退款,请在有效期内使用完毕。

请使用微信扫码支付(元)
订单号:
遇到问题请联系在线客服
请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系在线客服
恭喜您,购买搜题卡成功 系统为您生成的账号密码如下:
重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁。
发送账号到微信 保存账号查看答案
怕账号密码记不住?建议关注微信公众号绑定微信,开通微信扫码登录功能
警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“赏学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

- 微信扫码关注赏学吧 -
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反赏学吧购买须知被冻结。您可在“赏学吧”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
- 微信扫码关注赏学吧 -
请用微信扫码测试
温馨提示
每个试题只能免费做一次,如需多次做题,请购买搜题卡
立即购买
稍后再说
赏学吧