问题 辨音题
选出画线部分读音不同的一项。
( ) 1. A. tall
( ) 2. A. kick
( ) 3. A. headache
( ) 4. A. know
( ) 5. A. another
B. than
B. win
B. each
B. how     
B. that
C. happy
C. size
C. hea
C. now
C. mother
D. math
D. little
D. weather
D. cow
D. think
答案

1. A  2. C  3. B  4. A  5. D

问答题

请编制程序,其功能是:对一个由可打印ASCII字符(ASCII值为20H~7FH)组成的字符串可采用下列方法进行压缩:从串首开始向后扫描,如某字符单独出现则该字符不变,如某字符连续出现n次,则该字符用ESC(1BH),n,<原字符>三个字节来代替(假定n不超过255)。
设内存中从SOURCE开始有一用上述方法压缩的字符串,其以OOH结束,解压后长度不超过100。试编程对其解压缩,结果存入RESULT开始的内存单元。
例如:
原串: 41H,1BH,06H,43H,61H,00H
解压缩后:41H,43H,43H,43H,43H,43H,43H,61H,OOH("ACCCCCCa")
部分程序已给出,原始数据由过程LOAD从文件INPUT.DAT中读入SOURCE开始的内存单元中,结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT.DAT中。
请填空BEGIN和END之间已给出的源程序使其完整,空白己用横线标出,每个空白一般只需一条指令,但采用功能相当的多条指令亦可,或删除BEGIN和END之间原有的代码并自行编写程序片段来完成所要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。
【试题程序】
EXTRNLOAD:FAR, SAVE:FAR
N EQU 100
ESC_CODE EQU 27
STACSEGMENT STACK
DB 128 DUP()
STACENDS
DATASEGMENT
SOURCE DB N DUP()
RESULT DB N DUP(0)
NAME0 DB ’INPUT.DAT’,0
NAME1 DB ’OUTPUT.DAT’,0
DATAENDS
CODESEGMENT
ASSUMECS: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 ;从"INPUT.DAT" 中读取数据
******** BEGIN ********
LEA SI, SOURCE
LEA DI, RESULT
CLD
LO:LODSB
CMP AL, 0
JE QUIT
CMP AL, ESC_CODE
J (1) EXPAND
(2)
JMP L0
EXPAND: (3) ;解压缩
XOR CX, CX
(4)
(5)
(6)
(7)
JMP LO
QUIT:
STOSB ;STORE THE ’00H’
******** END ********
LEA DX, RESULT ;结果数据区首址
LEA SI, NAME1 ;结果文件名起始地址
MOV CX,N;字节数
CALL SAVE;保存结果到"output.dat" 文件
RET
START ENDP
CODEENDS
END START

单项选择题