首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编制程序,其功能是:以SOURCE开始的内存区域存放着N个字节的压缩BCD码,将每个压缩BCD码转换成两个 ASCII值,并在每个ASCII值的最高位增加偶校验位,结果存放在RESULT指示的内存区域。 例如: 原压缩BCD码:26H,75H
请编制程序,其功能是:以SOURCE开始的内存区域存放着N个字节的压缩BCD码,将每个压缩BCD码转换成两个 ASCII值,并在每个ASCII值的最高位增加偶校验位,结果存放在RESULT指示的内存区域。 例如: 原压缩BCD码:26H,75H
admin
2009-02-15
62
问题
请编制程序,其功能是:以SOURCE开始的内存区域存放着N个字节的压缩BCD码,将每个压缩BCD码转换成两个 ASCII值,并在每个ASCII值的最高位增加偶校验位,结果存放在RESULT指示的内存区域。
例如:
原压缩BCD码:26H,75H,91H,33H…
结果为: B2H,36H,B7H…
部分程序已经给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中,转换结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。
请填空BEGIN和END之间已经给出的一段原程序使其完整,需填空处已经用横线标出,每个空白一般只需要填一条指令或指令的一部分(指令助记符或操作数),也可以填入功能相当的多条指令,或删去BEGIN和END之间原有的代码并自行编程来完成所要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。
[试题程序]
EXTRN LOAD:FAR,SAVE:FAR
N EQU 10
STAC SEGMENT STACK
DB 128 DUP(?)
STAC ENDS
DATA SEGMENT
SOURCE DB N DUP(0)
RESULT DB 2*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,NANE0 ;原始数据文件名
MOV CX,N ;字节数
CALL LOAD ;从’INPUT1.DAT’ 中读取数据
; *************BEGIN *************
LEA SI,SOURCE
MOV DI,OFFSET RESULT
MOV CX,N
SERCH1: MOV (1)
MOV AH,AL
AND AH,0FH
AND AL,0FOH
PUSH CX
MOV CL,4
(2)
(3)
ADD AL,30H
(4)
OR AL,80H
SERCH2: MOV [DI],AL
INC DI
(5)
JP SERCH3
OR AH,80H
SERCH3: MOV [DI],AH
INC DI
INC SI
(6) SERCH1
; ******** END ***********
LEA DX,RESULT ; 结果数据区首址
LEA SI,NAMEl ;结果文件名起始地址
MOV CX,2*N ;字节数
CALL SAVE ;保存结果到,OUTPUT1.DAT,文件中
RET
START ENDP
CODE ENDS
END START
选项
答案
(1)AL,[SI] (2)SHRAL,CL (3)POPCX(4)JP SERCH2 (5)ADDAH,30H (6)LOOP
解析
此程序要实现两个功能:将N个字节的压缩BCD码转换成2N个ASCII值,并在每个ASCII值的最高位增加偶校验位。这里考查压缩BCD码与ASCII码之间的转换,特别是对SHR指令的理解和状态标志位PF的运用。
程序的基本结构如下:
堆栈段定义了一个128字节的堆栈区。堆栈段下面是数据段。数据段中定义了四个字节型变量:原始数据区SOURCE、结果数据区RESULT、原始数据文件名NAME0、结果数据文件名NAME1。数据段下面是代码段,在代码段开始告诉汇编程序,代码段、数据段和堆栈段分别属于段寄存器CS、DS、SS。
先将原始数据偏移地址装入到SI中,结果数据偏移地址送DI。 CX赋初值为N,用于控制循环处理的次数。
SERCH1段的开始要填写第(1)空,将[SI]中的内容传送到AL。所以第(1)空填写“AL,[SI]”。将AL暂存在AH中。接着用两条逻辑“与”指令,将AH的高四位屏蔽掉,将AL的低四位屏蔽掉。CX先压入堆栈中,再将CL赋值为4,用以控制下面的移位指令的移位位数。将AL逻辑右移四位,则AL的原高四位数字移入到低四位,高四位现在变成了0。第(2)空填写“SHRAL,CL”。
有压入就必有弹出,与前面的“PUSH CX”指令相对应,第(3)空填写“POP CX”。然后将AL中的值加30H,就将压缩BCD码的高四位转换成相应的ASCII字符了。再由状态标志位PF求AL的偶校验位。若PF=1,说明AL中有偶数个1,则偶校验位为0,AL的最高位不变,转向SERCH2段。否则,PF=0,则AL的偶校验位为1,将偶校验位1加到AL的最高位,用指令“ORAL,80H”来实现,所以第(4)空填写“JPSERCH2”。
SERCH2段,将转换后的结果AL存入到[DI]中,DI加1。接着将压缩BCD码的低四位(已存放在AH中)转换成ASCII值,所以第(5)空填写“ADDAH,30H”。接下来两条指令,是同求高四位的偶校验位一样,来求低四位的偶校验位。
SERCH3段,将转换后的结果AH存放到[DI]中,DI地址加1,SI地址加1,然后循环到SERCH1入口处,继续处理下一个压缩BCD码,所以第(6)空填写“LOOP”。
转载请注明原文地址:https://kaotiyun.com/show/B8rZ777K
本试题收录于:
三级PC技术题库NCRE全国计算机三级分类
0
三级PC技术
NCRE全国计算机三级
相关试题推荐
结构化分析方法所形成的软件需求说明书中一般应包括:数据描述、【】和性能描述。
J.Martin指出,一个企业可能有几十个甚至几百个业务过程。在确定职能范围和业务过程中,()对系统适应性是至关重要的。
信息系统可行性研究的结果是要对项目今后的工作得出一个基本结论。以下关于可行性研究结论的论述中,不正确的是
主题数据库与【】有关,与一般应用项目无关。
BSP方法的资源识别过程是按资源生命周期的四个阶段来划分的,下列()属于回收或分配阶段。
下面是关于关系数据库视图的描述。Ⅰ.视图是关系数据库三级模式中的内模式Ⅱ.视图能够对机密数据提供安全保护Ⅲ.视图对重构数据库提供了一定程度的逻辑独立性Ⅳ.对视图的一切操作最终要转换为对基本表的操作Ⅴ.所有的视图都是可以更新的以上
测试用例应该由两部分组成,即输入数据和______。
显示存储器的容量是显示卡的重要性能指标之一,它直接影响着可以支持的显示器分辨率和颜色数目。例如一台彩显的分辨率是1280×1024,像素深度为24位,则显示存储器容量至少应有
数码相机是一种常用的图像输入设备。下面有关数据相机的叙述中,错误的是
假设8250的基准工作时钟为1.8432MHz,要求8250的通信波特率为9600,分配给8250各端口的地址为3F8H~3FFH。对8250除数寄存器进行初始化编程的一段程序为:MOVAL,80HMOVD
随机试题
Butforyourhelp,I______inthisexamination.
急性机械性小肠梗阻,不常见的症状是
昏睡的主要临床特点是
甲国A公司(买方)与乙国B公司(卖方)签订一进口茶叶合同,价格条件为CFR,装运港的检验证书作为议付货款的依据,但约定买方在目的港有复验权。货物在装运港检验合格后交由C公司运输。由于乙国当时发生疫情,船舶到达甲国目的港外时,甲国有关当局对船舶进行了熏蒸消毒
对于屋外管母线,下列哪几项消除微风振动的措施是无效的?
下图为我国援建某国的港口工程,该港区的波浪玫瑰图各方向频率的径向长度比见图示,如下表所列:问题:NNW向波高≥1m的波浪出现的频率是多少?
《注册建造师管理规定》规定,下列不属于不予注册的法定情形的是()。
在香港,曾经有过一场激烈无比的洋酒倾销战。经过1年的激战之后,英国的“威士忌”只卖了17.5万瓶,法国的“白兰地”却卖了350万瓶。白兰地遥遥领先,是威士忌的20倍。在日本,英国“威士忌”的销售量大约是法国“白兰地”的2倍,在别的国家情况也大致相同。而且威
2013年11月12日,中国共产党十八届三中全会审议通过了《中共中央关于全面深化改革若干重大问题的决定》。《决定》集中全党智慧,顺应人民意愿,是对全面深化改革进行总体部署的纲领性文件,是为赢得战略机遇、实现可持续发展作出的重大决策。中央政治局决定高举中国特
Atthispoint,mostofusgenerallyhaveaclueaboutthebasicsofstayingingoodhealth—eatwell,exercise,don’tdrinktoom
最新回复
(
0
)