请编制程序PROG1.ASM,其功能是:以SOURCE开始的内存区域存放着N个字节的压缩BCD码,将每个压缩BCD码转换成两个ASCII码,并在最高位增加偶校验位,结果存放到RESULT指示的内存区域内。 例如: 原压缩BCD码:26H,75H,91H,33H,…… 结果为:B2H,36H,B7H,35H,39H,B1H,33H,33H,…… 部分程序已给出,其中原始数据由过程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 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,NAME0 ; 原始数据文件名 MOV CX,N ; 字节数 CALL LOAD ; 从INPUT1.DAT中读取数据 ; **** BEGIN **** LEA SI,SOURCE MOV DI,OFFSET RESULT MOV CX,N SERCHI: 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,NAME1 ; 结果文件名起始地址 MOV CX,2*N ; 字节数 CALL SAVE ; 保存结果到OUTPUT1.DAT文件中 RET START ENDP CODE ENDS END START
某企业2010年主营业务收入为12000万元,主营业务成本为7000万元,财务费用为200万元,利润总额为570万元,净利润为426万元,其资产负债表如下: 资产负债表编制单位:某企业 2010年12月31日 单位:万元 资产 年初数 年末数 负债与所有者权益 年初数 年末数 货币资金 320 385 短期借款 380 680 应收账款 855 1344 应付账款 670 1308 其他应收款 160 356 应付工资 200 416 存货 1200 2107 应交税金 248 350 流动资产合计 2535 4192 流动负债合计 1498 2754 长期投资 1583 1625 应付债券 3200 4000 负债合计 4698 6754 固定资产原值 11000 13032 减:累计折旧 2000 2457 实收资本 6240 6240 固定资产净值 9000 10575 资本公积 384 564 盈余公积 1440 2100 无形资产 220 202 未分配利润 576 936 所有者权益合计 8640 9840 资产总计 13338 16594 负债与所有者权益合计 13338 16594 根据上述资料,回答下列问题: 该企业的营业利润率和净资产收益率分别为( )。
A. 5.21%,4.61%
B. 4.75%,4.61%
C. 5.21%,4.86%
D. 4.75%,4.86%