五、完成下列各题(每题6分,共12分) 1、指出下列指令的错误。
(1)MOV AH,BX 操作数类型不匹配
(2)MOV CS,AX 代码段寄存器不能作为目的操作数 (3)ADD [BX],[DI] 两存储器操作数之间不能直接操作
六、完成下列各题(共18分)
1、写出下述程序段的功能 MOV AX,0 MOV BX,1 MOV CX,50 NEXT:ADD AX,BX ADD BX,2 LOOP NEXT MOV S,AX
完成1+3+5+……+99,并将结果送S单元 七、分析题
1、请将左边的词汇和右边的说明联系起来,即在括号内填入所选的A、B、C…… (1)CPU ( I ) A、保存当前栈顶地址的寄存器
(2)EU ( G ) B、告诉CPU要执行的操作,在程序运行时执行 (3)堆栈 ( E ) C、唯一代表存贮空间中的每个字节单元的地址
(4)SP ( A ) D、能被计算机直接识别的语言 (5)控制标志( H ) E、以后进先出方式工作的存贮器空间
(6)物理地址( C ) F、把若干模块连接起来,成可执行文件的系统程序 (7)机器语言( D ) G、执行部件,由ALU和寄存器组成 (8)连接程序( F ) H、控制操作的标志
(9)指令 ( B ) I、分析并控制指令执行的部件
2、程序改错
本程序的作用是将以S1为起始地址的20个字符,依次传送到同数据段的以S2为起始地址的一段字节之中,请指出程序中哪条指令有错误,并加以改正。
SI[S1]和S2[SI]分别表示S1、S2中各字节的有效地址,[SI]表示距S1或S2的起始地址的字节数)
程序: 改正: MOV SI,0
MOV CX,10 MOV CX,20 NEXT:MOV AL,S1[SI] MOV S2[SI],AL
INC S1[SI] INC SI LOOP
八、简单程序设计
1、有两个无符号数分别存放于DATA1和DATA2单元,要求将两数中大的一个挑选出来,并送入DATA3单元。 MOV AL,DATA1 CMP AL,DATA2 JA S1
MOV AL,DATA2
S1: MOV DATA3,AL HLT