串操作指令特点:1.可用前缀使其重复操作;2.每操作一次自动修改SI和DI内容,当DF=0时为增量,DF=1为减量;3.所有源操作数地址放在SI中,在DS段,串长≤64K;所有目标操作数地址放在DI中,在ES段,串长≤64K;4.用重复前缀时,如果条件满足且CX≠0时重复,每重复一次CX←CX–1,否则结束重复;5.重复操作时IP不变,中断返回后继续操作。使用串操作指令时注意:1.SI←源串首(末)址DI←目标串首(末)址;2.CX←串长度;3.设DF值;4.选重复前缀;5.使用条件重复前缀时,判断结束条件(即是CX=0还是ZF=0/1结束)指令执行时间:计算机中的计时单位:(1).指令周期:执行一条指令所花的时间;(2).总线周期:CPU每访问一次内存或I/O端口所花的时间;(3).时钟周期(T周期):计算机主频的倒数,用T表示,即T=1/F1、试分别说明下列指令中源操作数和目的操作数采用的寻址方式:答案:目的操作数源操作数(1)MOVAX,0FFFFH寄存器立即(2)MOVES,AX寄存器寄存器(3)XORCL,[100H]寄存器直接(4)ADD[SI],DX寄存器间寄存器(5)MOVES:[2000H],CL直接寄存器(6)SUB[BX+SI],1基+变立即(7)ADCAX,[BX+SI+10H]寄存器相对基+变(8)PUSHDS隐含寄存器(9)CLD隐含(10)CMP[BP+DI],CL基+变寄存器2、若(BX)=1123H,(SI)=1968H,位移量=0313H,(DS)=1971H,试确定由这些寄存器和下列寻址方式产生的有效地址和物理地址:答案:EA物址(1)直接寻址;0313H19A23H(2)用BX的寄存器间接寻址;1123H1A833H可执行文件(3)用BX的寄存器相对寻址;1436H1AB46H(4)用BX和SI的基址变址寻址;2A8BH1C19BH(5)用BX和SI的相对基址加变址寻址。2D9EH1C4AEH3、连续执行以下指令,并在空格中填写执行指令的结果。答案:MOVAX,2060HAL=60HAH=20HCF=MOVDS,AXDS=2060HAH=20HCF=ADDAL,AHAL=80HAH=20HCF=0INCAXAL=81HAH=20HCF=0MOVDX,512DL=00HDH=02HCF=0SUBAX,DXAL=81HAH=1EHCF=0第3章:汇编语言程序设计1.本章学习要求(1).应熟悉的内容:汇编语言的格式、语句行的构成。(2).应掌握的内容:指示性语句、指令性语句及相互区别、作用。(3).应熟悉掌握的内容:各种结构的汇编语言程序设计的方法,特别是分支结构和循环结构程序的特点和设计。2.本章重点难点分析:伪指令、程序设计、子程序中参数通过堆栈传递较难。通过看例题、做作业和上机实习解决。如:汇编程序是将由助记符号所编写的汇编语言源程序转换为计算机能直接执行的目标程序的软件,即:汇编语言源程序.ASMMASM.OBJLINK.EXE上图可看出汇编语言源程序(扩展名为.ASM)经过“汇编程序”汇编后生成二进制编码的目标程序(.OBJ),再经过“连接程序”生成可执行文件(.EXE)便可以上机执行或使用DEBUG程序进行调试。而指示性语句(伪指令)是告诉汇编程序如何将汇编语言源程序转换为目标程序的语句,在可执行的目标程序生成后的软件中,伪指令是看不见的。如:SEGMENT是表示一个段的开始,ENDS表示段结束;而ASSUME告诉汇编程序,将某一个段寄存器设置为存放某一个逻辑段的段址,即明确指出源程序中的逻辑段与物理段之间的关系。当汇编程序汇编一个逻辑段时,即可利用相应的段寄存器寻址该逻辑段中的指令或数据。也就是说ASSUME是建立一个段寄存器与段名的对照表,汇编时使汇编程序能找到本段属于哪个段寄存器,在此对照表中所出现的存储器操作数,寻址时只需给出偏移地址,否则还应给出段地址。关键字NOTHING表示取消前面用ASSUME伪操作对这个段寄存器的设置。使用ASSUME语句,仅仅告诉汇编程序关于段寄存器与定义段之间的对应关系。但它汇编程序目标程序连接程序并不意味着汇编后这些段地址已装入了相应的段寄存器中,这些段地址的真正装入,仍需要用程序来完成,且这4个段寄存器的装入略有不同。3.本章典型例题分析:【例1】若从0200H单元开始有100个数,编一个程序检查这些数,正数保持不变,负数都取补后送回。DATASEGMENTORG0200HSTRINGDB4DUP(-55,5DUP(6,-10,-8,9),2DUP(-4,0))DATAENDSSTACKSEGMENTPARASTACK'STACK'DB100DUP(?)STACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACKSTARTPROCFARBEGIN:PUSHDSMOVAX,0PUSHAXMOVAX,DATAMOVDS,AXMOVES,AXM...