破碎锤厂家
免费服务热线

Free service

hotline

010-00000000
破碎锤厂家
热门搜索:
技术资讯
当前位置:首页 > 技术资讯

全国等级考试三级PC技术上机编程题10道5-【新闻】枣庄

发布时间:2021-04-20 12:33:06 阅读: 来源:破碎锤厂家

全国等级考试三级PC技术上机编程题10道5

第九套 ===============================================================================

试题说明 :

===============================================================================

 请编制程序PROG2.ASM, 其功能是: 内存中连续存放着22个

ASCII字符, 如果是小写字母a至z之间的字符,请把它们转换成

相应的大写字母的ASCII字符并统计原22个ASCII

字符中字符“z”的个数。转换结果按序存入内存中,之后存放原22个ASCII字符中为

字符“z”的ASCII字符的个数。

 例如:

 内存中有32H,32H,62H,42H,7AH,…

 结果为 32H,32H,42H,42H,5AH,…,后跟用一个字节表示的原22

个ASCII字符中为字符“z”的个数

 部分程序已给出,其中原始数据由过程LOAD从文件INPUT2.DAT

中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,

由过程SAVE保存到文件OUTPUT2.DAT中。

 填空BEGIN和END之间已给出的源程序使其完整 , 或删除BEGIN和END之间原有的代码并自行编程来完成要求的

功能。

 对程序必须进行汇编, 并与IO.OBJ链接产生PROG2.EXE执行文

件,最终运行程序产生结果。调

试中若发现整个程序中存在错误之处,请加以修改。

===============================================================================

程序 :

===============================================================================

 EXTRN LOAD:FAR,SAVE:FAR

N EQU 22

STAC SEGMENT STACK

 DB 228 DUP

STAC ENDS

DATA SEGMENT

SOURCE DB N DUP

RESULT DB N+2 DUP

NAME2 DB 'INPUT2.DAT',2

NAME2 DB 'OUTPUT2.DAT',2

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

 MOV CX,N ; 字节数

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

; **** BEGIN ****

 MOV DI,OFFSET RESULT

 MOV BX,2

 MOV DL,2

 MOV CX,N

PRO: MOV AL,SOURCE[BX]

 CMP AL,62H

 __ KEEP ; <'a'

 CMP AL,7AH ; >='a'

 JNBE KEEP ; >'z'

 CMP AL,79H ; <='y'

 JBE ____

 INC DL

NINC: SUB AL,___

 MOV [DI],AL

 INC DI

 JMP ____

KEEP: MOV [DI],AL

 __________________

JUMP: INC BX

 DEC CX

 JNZ PRO

 _________________

; **** END ****

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

 LEA SI,NAME2 ; 结果文件名

 MOV CX,N+2 ; 结果字节数

 CALL SAVE ; 保存结果到文件

 RET

START ENDP

CODE ENDS

END START

===============================================================================

所需数据 :

===============================================================================

@2 input2.dat 222

32 62 32 62 32 62 33 63 34 64 35 65 42 68 7B 7A 5A 5B 42 5F

#E

@3 $output2.hex 222

CF9FCEBECDBDCCBCCBBBCABABEB784A5A5A4BFA2FE92

#E



第十套

===============================================================================

试题说明 :

===============================================================================

 请编制程序PROG2.ASM,其功能是: 内存中连续存放着22个字。

 分别对每个字的高位字节和低位字节进行逻辑与运算及逻辑或运

算。 运算结果以字的形式按序连续存放。

 例如:

 内存中有 AA55H,55AAH,FFAAH,…

 结果为 FF22H,FF22H,FFAAH,…

 部分程序已给出,其中原始数据由过程LOAD从文件INPUT2.DAT

中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,

由过程SAVE保存到文件OUTPUT2.DAT中。

 填空BEGIN和END之间已给出的源程序

弹性座封闸阀

蒸汽电磁阀

美标截止阀