两个4位BCD码相加,设被加数存于内部RAM的40H、41H单元,加数存于45H、46H单元,和存于50H、51H单元,请编制加法程序段。
2=1,输入时钟频率为10KHz,则其输出方波的频率为()KHz 。
A.2NF和3NF
B.3NF和2NF
C.3NF和BCNF
D.2NF和BCNF
A.数值位相加减,最后再单独处理符号位
B.两数相加时,如果被加数和加数同号,则数值位求和
C.两数相减时,如果被减数和减数异号,则数值位求差
D.数值位进行求和时,数值位直接相加,结果的符号取被加数/被减数的符号;如果最高数位产生了进位,则加/减结果有溢出
A.是无损联接分解,也是保持FD的分解
B.是无损联接分解,但不保持FD的分解
C.不是无损联接分解,但保持FD的分解
D.既不是无损联接分解,也不保持FD的分解
例如:
原压缩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
设K为R<U,F>中的属性或属性组合,若KU,则K为R的 ______。
A.外部码
B.候选码
C.主属性
D.主码