请编制程序PROG1,ASM,其功能是:内存中连续存放着12个字节的数字ASCII码字符串,将它们转换成相应无符号数字,并在原第1、5、9个数字前插入一个24H数值。将这20个数值存入 RESULT指示的区域。例如:源数:30H,31H,32H,33H,34H,35H,36H,…结果:24H,00H,01H,02H,03H,24H,04H,…部分程序已经给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存元中,运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。填空BEGIN和END之间已给出的源程序使其完整(空白已用横线标出,每行空白一般只需一条指令,但采用功能相当的多条指令也可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。对程序必须进行汇编,并与IO.OBJ链接产生执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。PROG1.ASM文件内容如下:EXTRN LOAD:FAR,SAVE:FARN EQU 16STAC SEGMENT STACKDB 128 DUP(?)STAC ENDSDATA SEGMENTSOURCE DB NDUP(?)RESULT DB N+4DUP(0)NAME0 DB INPUT1.DAT',0NAME1 DB 'OUTPUT1.DAT',0DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACSTART PROC FARPUSH DSXOR AX,AXPUSH AXMOV AX,DATAMOV DS,AXLEA DX,SOURCE ;数据区起始地址LEA SI,NAMEO ;原始数据文件名MOV CX,N ;字节数CALL LOAD ;从INPUT1.DAT文件中读取数据; * * * * BECIN * * * *___________MOV DI,0MOV CX,4MOV BX,_INSER1: DEC BXJZ EXITMOV RESULT[DI),0FFH___________MOV CX,4CHAN: MOV AL,SOURCE[SI]___________MOV RESULT[DI],AL___________INC DIDEC CXJZ ______JMP CHANEXIT: NOP;* * * * END * * * *LKA DX,RESULT ;结果数据区首址LEA SI,NAME1 ;结果文件名&nb

请编制程序PROG1,ASM,其功能是:内存中连续存放着12个字节的数字ASCII码字符串,将它们转换成相应无符号数字,并在原第1、5、9个数字前插入一个24H数值。将这20个数值存入 RESULT指示的区域。

例如:

源数:30H,31H,32H,33H,34H,35H,36H,…

结果:24H,00H,01H,02H,03H,24H,04H,…

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

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

PROG1.ASM文件内容如下:

EXTRN LOAD:FAR,SAVE:FAR

N EQU 16

STAC SEGMENT STACK

DB 128 DUP(?)

STAC ENDS

DATA SEGMENT

SOURCE DB NDUP(?)

RESULT DB N+4DUP(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,NAMEO ;原始数据文件名

MOV CX,N ;字节数

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

; * * * * BECIN * * * *

___________

MOV DI,0

MOV CX,4

MOV BX,_

INSER1: DEC BX

JZ EXIT

MOV RESULT[DI),0FFH

___________

MOV CX,4

CHAN: MOV AL,SOURCE[SI]

___________

MOV RESULT[DI],AL

___________

INC DI

DEC CX

JZ ______

JMP CHAN

EXIT: NOP

;* * * * END * * * *

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

LEA SI,NAME1 ;结果文件名

&nb


相关考题:

微型计算机的内存是以字节(byte)为存储单位组成,每个内存字节的唯一编号称为()。 A、机内代码B、指令C、ASCII码D、地址

请编制程序PROG1.ASM,其功能是:将连续20个字节的ASCII码(30~39之间)顺序转换成10个压缩BCD码。例如:原始数据 31H,33H,35H,38H……(后面依次有16个ASCII码)转换后为 13H,58H,……(后面依次有8个压缩BCD码)部分程序已经给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中,运算结果(要求从RESULT开始存入)由SAVE过程保存到OUTPUT. DAT中。请在BEGIN和END之间补充一段源程序,完成要求的功能。原有数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中,结果要求从RESULT开始存放,由SAVE保存到OUTPUT1.DAT文件对程序必须进行汇编,并与IO.OBJ连接产生PROG1.EXE执行文件,最终产生运行结果(无结果或结果不正确均不得分)。部分程序如下:EXTRN LOAD:FAR,SAVE:FARN EQU 20STAC SEGMENT STACKDB 128 DUP(?)STAC ENDSDATA SEGMENTSOURCE DB 31H,32H,33H,34H,35H,36H,37H,38HRESULT DB N DUP(0)NAME0 DB 'INPUT1.DAT', 0NAME1 DB 'OUTPUT1.DAT', 0DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACSTART PROC FARPUSH DSXOR AX,AXPUSH AXMOV AX,DATAMOV DS,AXLEA DX,SOURCE ; 数据区起始地址LEA SI,NAME0 ; 原始数据文件名MOV CX,N ; 字节数CALL LOAD ; 从 "INPUT1. DAT"中读取数据**** BEGIN ******** END ****LEA DX,RESULT ; 结果数据区首地址LEA SI, NAME1 ; 结果文件名MOV CX,N ; 结果字节数CALL SAVE ; 保存结果到文件RETSTART ENDPCODE ENDSEND START相关知识:●BCD码和压缩BCD码BCD码就是以二进制数表示十进制数,以4位二进制数表示1位十进制数,0000~1001表示0~9,1010~1111六个状态无意义。非压缩BCD码以一个字节表示一位BCD码,压缩BCD码一个字节表示两位BCD码。●ASCII码与压缩BCD码之间的转换0~9的ASCH码为30H~39H,从数字的ASCII码求数字本身,只要用他的ASCII码减去30H即可。由两位非压缩BCD码构成一个字节的压缩BCD码可将高位的BCD码移到高四位,然后与低位的BCD码进行逻辑或(OR)操作即可完成。编程思路:第一步:分析本程序要求完成的功能。本程序要求完成以下功能:(1)从数据文件INPUT1.DAT中读取20个字节的ASCII码存放在SOURCE开始的内存单元中。(2)将SOURCE开始的20个ASCII码求出其对应的数值,然后转换成压缩的BCD码,依次放在RESULT开始的内存单元中。(3)将处理之后的字符串存入到OUTPUT1.DAT。第二步:用相应汇编程序来实现其功能。(1)数据的读取和存入题目中已经给出,只要完成20个ASCII码到压缩BCD的转换即可。(2)由ASCII码到压缩BCD码的转换过程如下:由于20位ASCII码正好转换成10个字节压缩BCD码,不存在某个字节的BCD码只有一位。因此依次从SOURCE开始的内存单元取两个ASCII码,前一个转换成压缩BCD码的高位,后一个转换成压缩BCD码的低位来构成压缩BCD码;每两个ASCII码转换成一个字节的压缩BCD码,直至转换完毕。

请编制程序,其功能是:内存中连续存放着20个ASCII字符,如果是小写字母a~z之间的字符,请把它们转换成相应的大写字符;若为其他字符,不作转换。例如:内存中有61H('a'),62H('b'),31H('1'),41H('A'),42H('B')…结果为 41H('A'),42H('B'),31H,41H('A'),42H('B')…部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。请填空BEGIN和END之间已给出的源程序使其完整(空白己用横线标出,每个空白一般只需一条指令,但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成所要求的功能。对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。试题程序:

在Visual Basic的转换函数中将数值转换为字符串的函数是();将数字字符串转换为数值的函数是();将字符转换为相应的ASCII码的函数是()。

一个ASCII码是用()个字节。(填写阿拉伯数字)

32、在ASCII码表中可以看到每个小写字母的ASCII码比它相应的大写字母的ASCII码值大_____(只需填数字)。

若计算机内存中连续2个字节的内容其十六进制形式为34和64,则它们不可能是()A.2个西文字符的ASCII码B.1个汉字的机内码C.1个16位整数D.图像中一个或两个像素的编码

2、若计算机内存中连续2个字节的内容其十六进制形式为34和64,则它们不可能是()A.2个西文字符的ASCII码B.1个汉字的机内码C.1个16位整数D.图像中一个或两个像素的编码

7、一个ASCII码是用()个字节。(填写阿拉伯数字)