首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
编制一个程序,其实现的功能为:将内存中从SOURCE开始的区域里存放的20个字节的压缩BCD码转换为ASCⅡ码,每个压缩的BCD码转换为两个ASCⅡ码,并在最高位加上奇校验位,结果存放到RESULT开始的内存区域。 例如: 内存中有:73H,4
编制一个程序,其实现的功能为:将内存中从SOURCE开始的区域里存放的20个字节的压缩BCD码转换为ASCⅡ码,每个压缩的BCD码转换为两个ASCⅡ码,并在最高位加上奇校验位,结果存放到RESULT开始的内存区域。 例如: 内存中有:73H,4
admin
2012-03-05
76
问题
编制一个程序,其实现的功能为:将内存中从SOURCE开始的区域里存放的20个字节的压缩BCD码转换为ASCⅡ码,每个压缩的BCD码转换为两个ASCⅡ码,并在最高位加上奇校验位,结果存放到RESULT开始的内存区域。
例如:
内存中有:73H,45H……
则结果为:37H,B3H,34H,B5H……
部分程序已经给出,其中原始数据由过程LOAD从文件INPUT.DAT中读入以SOURCE开始的内存单元中。运算结果要求从RESULT开始的内存单元存放,由过程SAVE保存到文件OUTPUT.DAT中。
请填空BEGIN和END之间已给出的源程序使其完整,空白已经用横线标出,每行空白一般只需要一条指令,但采用功能相当的多条指令也行,考生也可以删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。
【试题程序】
EXTRN LOAD:FAR,SAVE:FAR
N EQU 20
DSEG SEGMENT
SOURCE DB N DUP(?)
RESULT DB N*2 DUP(0)
NAME0 DB ’INPUT.DAT’,0
NAME1 DB ’OUTPUT.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 ********
LEA SI,SOURCE
LEA DI,RESULT
MOV CX,N
AGAIN: MOV AL,[SI]
MOV AH,AL
(1)
AND AH,0FOH
(2)
MOV CL,4
(3)
POP CX
ADD AL,30H
(4) NEXT
OR AL,80H
NEXT: MOV [DI],AL
INC DI
ADD AH,30H
(5) NEXT1
OR AH,80H
NEXT1: MOV [DI],AH
INC DI
INC SI
LOOP AGAIN
; ******** END ********
LEA DX,RESULT
LEA SI,NAME1
MOV CX,N*2
CALL SAVE
RET
START ENDP
CSEG ENDS
END START
选项
答案
(1) ANDAL,0FH (2) PUSH CX(3) SHRAH, CL (4) JNP (5) JNP
解析
题目要求将压缩的BCD码转换为两个ASCⅡ码,则首先要将BCD码分离出来,转换为非压缩的BCD码,然后转换为 ASCⅡ码。最高位要求加奇校验位,所以要对转换以后的数据进行判断,如果数据中1的个数为奇数的话,则直接将其存储到结果存储区,否则要将数据的最高位变为1。
程序中,已经将数据的高4位分离到AH寄存器中,所以还需要将低4位的数据分离到一个寄存器中,有后面的程序可以看出应该分离到AL寄存器中,所以第一个空白处应填写AND AL,0FH。高4位数据分离到AH寄存器以后,需要将数据从高 4位移到低4位来,变成非组合的BCD码。由于移动的位数为4,所以需要使用CL寄存器,而CX寄存器被用来作为程序循环次数的控制器,所以需要在使用CL寄存器之前对CX进行入栈和出栈操作,即第二个空白处应填PUSH CX。第三个空白处执行的是右移操作,所以应填为SHR AH,CL。执行完数据分离以后,将非组合的BCD码转换为ASCⅡ码,转换的时候只需要将非组合的BCD码与30H执行与操作即可。转换完成后,要在量高位加奇校验位,即要对转换后数据中1的个数进行判断,所以最后两个空应填JNP,表示当数据中1的个数为奇数时跳转到数据存储的程序段执行,否则将数据的最高位变为1,然后再进行存储。
转载请注明原文地址:https://kaotiyun.com/show/5KgZ777K
本试题收录于:
三级PC技术题库NCRE全国计算机三级分类
0
三级PC技术
NCRE全国计算机三级
相关试题推荐
Windows98是由多个模块组成的一个功能强大的操作系统,下列哪个模块负责处理键盘和鼠标的输入,并以窗口、图标、菜单和其他界面元素的形式完成输出任务?
PC机中DRAM内存条的类型有多种,若按存取速度从高到低的顺序排列,正确的是:
根据下面的数据定义:ORG10HDAT1DB10DUP(?)DAT2EQU12HDAT3DW56H,$+10数据项$+10的值是:
已知:DAT1LABELBYTEDAT2DW0ABCDH依次执行SHLDAT1,1和SHRDAT2,1指令后,DAT2字存储单元中的内容是:
Pentium微处理器中一个补码表示的16位整数为1111111010011101,其十进制值是【】。
为了充分使用Pentium4微处理器36位的地址空间,最大页面应为4MB,因而程序初始化时除了将PSE(页大小扩展)置1外,还应该将PGE(页扩展)和PAE(页地址扩展)两个标志位状态设置为:
以太局域网为了避免网卡之间的地址冲突,每块网卡都必须给定一个全球惟一的地址,称为网卡的物理地址,厂家在生产网卡时会将该地址烧入网卡的ROM中,该地址可用12位的【】进制数表示。
在Windows98提供的系统工具中,可以查看当前系统内核驱动程序(含驱动程序的名称、版本、来源、占用内存空间等信息)的系统工具是【】。
Windows98提供了多种多媒体服务组件,以支持不同的多媒体应用。下列选项中,用于数字视频处理的软件包是
随机试题
赵某担任甲上市公司总经理,并持有该公司股票10万股。钱某为甲公司董事长兼法定代表人。2011年7月1日,钱某召集甲公司董事会,9名董事中有4人出席,另有1名董事孙某因故未能出席,书面委托钱某代为出席投票;赵某列席会议。会上,经钱某提议,出席董事会的全体董
A、eitherB、heightC、neighborD、neitherCei在C项中读[ei],而在A、B、D三项中读[ai]。
2岁男孩,头部向右侧倾斜,下颌转向左侧,查体可见右侧胸锁乳突肌中下端挛缩,表面皮肤不红,温度正常
A、药品名称、剂型、规格、数量、用法用量B、用药问题与指导、药学监测数据C、临床诊断、费用、患者信息D、既往用药史、药物过敏史E、医师签名、药品金额处方正文内容包括()。
在社会主义市场经济条件下,我国投资宏观调控的方式以间接调控为主,主要手段有()。
FIDIC《施工合同条件》规定,指定分包商行为给业主造成损失,对此事件( )。
甲公司和乙公司均为增值税一般纳税人,销售产品适用的增值税税率均为17%。甲公司有关资料如下:(1)甲公司于2016年4月1日取得乙公司10%的股权,成本为6200万元,甲公司作为可供出售金融资产核算。2016年6月30日其公允价值为6300万元。(2)
乙公司是美国一家著名的计算机软件公司,在20世纪80年代中期的销售额和利润分别占美国计算机行业的40%和70%,可是从1986年情况开始恶化,仅1993年便亏损了81亿美元,公司不得不进行一系列的变革以挽救公司的命运,从战略变革的时机来看,这次变革属于(
1,3,4,8,16,()
根据“产品”表建立视图myview,视图中含有包括了“产品号”左边第一位是“1”的所有记录,正确的SQL命令是()。
最新回复
(
0
)