题目内容 (请给出正确答案)
[主观题]

请编制程序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

查看答案
如搜索结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能会需要:
您的账号:
发送账号密码至手机
发送
更多“请编制程序PROG1.ASM,其功能是;从SOURCE开始存…”相关的问题

第1题

请编制程序PROG1.ASM,其功能是:计算10×3矩阵中每一行元素(八位二进制数)之和,并将其存放在指定的

请编制程序PROG1.ASM,其功能是:计算10×3矩阵中每一行元素(八位二进制数)之和,并将其存放在指定的内存区中。

例如:

内存中有0,0,0,(第1行),1,1,1,(第2行),……,9,9,9(第10行)

结果为0000H,0003H,…,001BH

部分程序已经给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存元中,转换结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。填空BEGIN和END之间已经给出的一段源程序使其完整,填空处已经用横线标出,每个空白一般只需要填一条指令或指令的一部分(指令助记符或操作数),考生也可以填入功能相当的多条指令,或删去BEGIN和END之间原有的代码并自行编程来完成要求的功能。

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

PROG1.ASM文件内容如下:

EXTRN LOAD: FAR, SAVE: FAR

N EQU 30

DSEG SEGMENT

SOURCE DB N DUP()

RESULT DW N/3 DUP(0)

I EQU 10

J EQU 3

NAME0 DB 'INPUT1. DAT' ,0

NAME1 DB 'OUTPUT1. DAT' ,0

DSEG ENDS

SSEG SEGMENT STACK

DB 256 DUP()

SSEG ENDS

CSEG SEGMENT

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

START PROC FAR

PUSH DS

XOR AX, AX

PUSH AX

MOV AX, DSEG

MOV DS, AX

MOV ES, AX

LEA DX, SOURCE

LEA SI, NAMEO

MOV CX, N

CALL LOAD

; * * * BEGIN * * *

LEA SI, SOURCE

LEA DI, RESULT

MOV BX, 1

LPI: MOV DX,O

点击查看答案

第2题

请编制程序PROG1.ASM,其功能是:对一个由可打印ASCII字符(ASCII码20H-7FH)组成的字符串可采用下列

请编制程序PROG1.ASM,其功能是:对一个由可打印ASCII字符(ASCII码20H-7FH)组成的字符串可采用下列方法进行压缩:从串首开始向后扫描,如某字符单独出现则该字符不变,如某字符连续出现n次,则该字符用ESC(1BH),n,〈原字符〉三个字节来代替(假定n不超过255)。

设内存中从SOURCE开始有一用上述方法压缩的字符串,其以00H结束,解压后长度不超过 100。试编程对其解压缩,结果存入RESULT开始的内存单元。

例如:

原串:41H,1BH,06H,43H,61H,00H

解压后:41H,43H,43H,43H,43H,43H,43H,61H,00H("ACCCCCCa")

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

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

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

PROG1.ASM文件内容如下:

EXTRN LOAD:FAR,SAVE:FAR

N EQU 100

ESC_CODE EQU 27

STAC SEGMENT STACK

DB 128DUP()

STAC ENDS

DATA SEGMENT

SOURCE DB N DUP(0)

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

;* * * * BEGIN * * * *

LEA SI,SOURCE

LEA DI,RESULT

CLD

LO: LODSB

CMP AL,0

JE QUIT

CMP AL,ESC_CODE

_____ EXPAND

_____ _____

JMP LO

EXPAND: _____ _____ ;解压

XOR CX,CX

_____ _____

点击查看答案

第3题

请编制程序PROG1.ASM,其功能是:内存中连续存放着二个有符号字节序列Ak和Bk,求序列Ck(Ck=Ak+Bk)。

请编制程序PROG1.ASM,其功能是:内存中连续存放着二个有符号字节序列Ak和Bk,求序列Ck(Ck=Ak+Bk)。例如:

源数Ak:0lH,02H,02H,02H,04H,05H…

源数Bk:01H,02H,02H,02H,04H,05H…

结果Ck:02H,04H,04H,04H,08H,0AH…

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

请在BEGIN和END之间补充一段源程序,完成要求的功能。

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

PROG1.ASM文件内容如下:

EXTRN LOAD: FAR, SAVE: FAR

N EQU 10 ;每个序列的长度

STAC SEGMENT STACK

DB 128 UP()

STAC ENDS

DATA SEGMENT

SOURCE DB N * 2DUP() ;顺序存放AO, ..., A9 ,BO,.. ,B9

RESULT DW N DUP(0) ;顺序存放CO,...,C9

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*2 ;字节数

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

; * * * * BEGIN * * * *

MOV DI,OFFSET RESULT ;结果从RESULT开始存放

MOV BX,0

MOV CX,N

PRO: MOV AH ,0

MOV AL,_____ ;序列Bk中的一个字节

MOV DL, AL ; 暂存Bk

_____ AL, SOURCE [BX] ; Ck = Bk + Ak

JNO STAY ; 无溢出转STAY

JUMP1: MOV AH ,00 ; 有溢出

ADD DL,O

JNS JUMP ; Bk是正数(为一个正数加上

; 一个正数,结果为负数的溢出

; 情况)转JUMP(AH已为OOH)

MOV AH,_____ ; Bk是负数(为一个负数加上

&nbs

点击查看答案

第4题

请编制程序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

点击查看答案

第5题

请编制程序PROG1.ASM,其功能是:内存中从SOURCE开始连续存放着20个字(WORD),试统计每个字中二进制

请编制程序PROG1.ASM,其功能是:内存中从SOURCE开始连续存放着20个字(WORD),试统计每个字中二进制位为1的个数。结果以字节存放。例如:内存中有139CH,518CH,1489H,…,结果为07H,08H,05H,….

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

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

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

注意:源程序非填空部分可能存在个别非法指令,考生阅读源程序或调试该程序时若发现这些非法指令,请加以修改!

EXTRN LOAD:FAR,SAVE:FAR

N EQU 20

STAC SEGMENT STACK

DB 128 DUP()

STAC ENDS

DATA SEGMENT

SOURCE DW N DUP()

RESULT DB NDUP(0)

NAMEO 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 S1,NAMEO ;原始数据文件名

MOV CX,N * 2 ;字节数

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

; * * * * BEGIN * * * *

LEA SI,SOURCE

LEA DI,RESULT

CLD

MOV DX,N

LOOP0: LODS _____

_______

MOV CX,16

LOOP1: ROL AX,1

J_____ NEXT

INC BX

NEXT: LOOP _____

MOV [D1],BL

______

DEC DX

JNZ LOOP0

; * * * * END * * * *

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

LEA SI,NAME1 ;结果文件名

&nbs

点击查看答案

第6题

请编制程序PROG1.ASM,其功能是:对10个无符号字节数据排序(升序),然后剔除第一个数和最后一个数,

请编制程序PROG1.ASM,其功能是:对10个无符号字节数据排序(升序),然后剔除第一个数和最后一个数,并按四舍五入原则计算其余8个数据的算术平均值。将剩余的8个数据存入指定的内存区域中,其后存放平均值。

例如:

内存中有:1,5,4,0,7,9,2,6,8,3

结果为:1,2,3,4,5,6,7,8,5

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

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

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

试题程序:

EXTRN LOAD:FAR, SAVE:FAR

N EQU 10

DSEG SEGMENT

SOURCE DB N DUP()

RESULT DB N-1 DUP(0)

NAME0 DB 'INPUT1. DAT',0

NAME1 DB 'OUTPUT 1.DAT',0

TEMP DW 0

DSEG ENDS

SSEG SEGMENT STACK

DB 256 DUP()

SSEG ENDS

CSEG SEGMENT

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

START PROC FAR

PUSH DS

XOR AX, AX

PUSH AX

MOV AX, DSEG

MOV DS, AX

MOV ES, AX

LEA DX, SOURCE

LEA SI, NAME0

MOV CX, N

CALL LOAD

;*** BEGIN ***

MOV BX, (1)

GOONI: (2)

LEA SI, SOURCE

GOONJ: MOV AL, [SI]

CMP AL, [SI+1]

JLE NEXT

XCHG AL, [SI+1]

MOV [SI], AL

NEXT: ADD SI, 1

LOOP GOONJ

(3)

JNZ GOONI

CLD

LEA SI, SOURCE

LEA DI, RESULT

MOV CX, (4)

INC SI

LP2: LODSB

CBW

ADD TEMP, AX

STOSB

LP1: LOOP LP2

MOV AX, TEMP

(5)

DIV DL

ADD AH, AH

点击查看答案

第7题

请编制程序PROG1.ASM,其功能是:将内存中的20个有符号字节数据依次除以5,并按照四舍五入原则(即余

请编制程序PROG1.ASM,其功能是:将内存中的20个有符号字节数据依次除以5,并按照四舍五入原则(即余数绝对值的2倍小于除数,则舍去)将商存入指定的内存区域。

例如:

内存中有:10H,01H,27H,00H,FFH,FSH,……

结果为:03H,00H,08H,00H,00H,FEH,……

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

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

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

试题程序:

EXTRN LOAD:FAR,SAVE:FAR

N EQU 20

X EQU 5

DSEG SEGMENT

SOURCE DB N DUP()

RESULT DB N DUP(0)

NAME0 DB 'INPUT1.DAT',0

NAME1 DB 'OUTPUT1.DAT',0

DSEG ENDS

SSEG SEGMENT STACK

DB 256 DUP ()

SSEG ENDS

CSEG SEGMENT

ASSUME CS:CSEC, SS:SSEC, DS:DSEG

START PROC FAR

PUSH DS

XOR AX,AX

PUSH AX

MOV AX,DSEG

MOV DS,AX

MOV ES,AX

LEA DX,SOURCE

LEA SI,NAME0

MOV CX,N

CALL LOAD

; *** BEGIN ***

LEA SI,SOURCE

LEA DI,RESULT

CONT: LODSB

CBW

MOV DL,X

IDIV DL

(1) ; 余数为负数吗

JNS PLUS

(2) ; 求绝对值

ADD AH,AH

CMP AH,DL

JB (3)

SUB AL,1

JMP NEXT

PLUS: ADD (4)

CMP AH,DL

JB NEXT

(5)

NEXT: STOSB

CMP SI,N

JB CONT

; *** END ***

LEA DX,RESULT

LEA SI,NAME 1

MOV CX,N

&nb

点击查看答案

第8题

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

请编制程序PROG1.ASM,其功能是:将一数据采集系统中采集的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链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。调试中若发现整个程序中存在错误之处,请加以修改。

试题程序:

EXTRN LOAD:FAR, SAVE:FAR

N EQU 10

STAC SEGMENT STACK

DB 128 DUP ()

STAC ENDS

DATA SEGMENT

SOURCE DB 8*N DUP(0)

RESULT DB N DUP(0)

NAME0 DB 'INPUT1.DAT',0

NAME 1 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,8*N ; 字节数

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

; **** BEGIN ****

LEA SI,SOURCE

MOV (1)

MOV DX,N

MAGN1: XOR AX,AX

XOR BX,BX

MOV CX, (2)

MAGN2: MOV AL,[SI] ; 取数并求和放BX中

ADD BX, (3)

INC SI

(4)

MOV AX,BX

(5)

(6)

(7)

(8)

DEC DX

(9) MAGN1

; **** END ****

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

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

MOV CX,N ; 字节数

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

RET

START ENDP

CODE ENDS

点击查看答案

第9题

请编制程序,其功能为:已知斐波那契(Fibonacci)数0,1,1,2,3,5,8,13……这些数的关系是:从第三项开始

请编制程序,其功能为:已知斐波那契(Fibonacci)数0,1,1,2,3,5,8,13……这些数的关系是:从第三项开始,每项都是它前面两项之和。若用ai表示第i项,则有a1=0、a2=1、 ai=ai-1+ai-2(i≥3)。试求出第24个斐波那契数,存放在RESULT开始的内存单元中。

部分程序已经给出,其中原始数据由LOAD过程从文件INPUT1.DAT中读入从SOURCE开始的内存单元,运算结果要求从RESULT开始存放,由SAVE过程保存到OUTPUT1.DAT文件中。请在BEGIN和END之间补充使其完整,完成要求的功能。或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。

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

部分程序如下:

; PROG1.ASM

EXTRN LOAD:FAR, SAVE:FAR

N EQU 1

DSEG SEGMENT

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, SOURCE

LEA SI,NAME0

MOV CX,N

CALL LOAD

; *** BEGIN ***

MOV AX,______

MOV BX, 1

_____________

L1: _____________

_____________

_____________

MOV [RESULT],BX

; *** END ***

LEA DX,RESULT

LEA SI,NAME1

MOV CX,N

CALL SAVE

RET

START ENDP

CSEG ENDS

END START

点击查看答案

第10题

请编制程序,其功能为:将一个ASCII字符串中所有大写字母全部变成小写字母,其他字母不变。字符串以0
0H结束,长度不超过20个字节。

部分程序已经给出,其中原始数据由LOAD过程从文件INPUT1.DAT中读入从SOURCE开始的内存单元,运算结果要求从RESULT开始存放,由SAVE过程保存到OUTPUT1.DAT文件中。请在BEGIN和END之间补充使其完整,完成要求的功能。或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。

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

部分程序如下:

;PROG1.ASM

EXTRN LOAD:FAR, SAVE:FAR

N EQU 20

DSEG SEGMENT

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 256 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

; *** BEGIN ***

……

……

……

; *** END ***

LEA DX, RESULT

LEA SI,NAME1

MOV CX,N

CALL SAVE

RET

START ENDP

CSEG ENDS

END START

点击查看答案
发送账号至手机
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改
温馨提示
每个试题只能免费做一次,如需多次做题,请购买搜题卡
立即购买
稍后再说
警告:系统检测到您的账号存在安全风险

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

微信搜一搜
赏学吧
点击打开微信
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反赏学吧购买须知被冻结。您可在“赏学吧”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
微信搜一搜
赏学吧
点击打开微信