




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、串操作指令特点:1. 可用前缀使其重复操作;2. 每操作一次自动修改SI和DI内容,当DF=0时为增量,DF=1为 减量;3. 所有源操作数地址放在SI中,在DS段,串长 64K; 所有目标操作数地址放在 DI中,在ES段,串长 64K ;4. 用重复前缀时,如果条件满足且 CX工0时重复,每重复一次 CX J CX- 1,否则结束重复;5. 重复操作时IP不变,中断返回后继续操作。使用串操作指令时注意:1. SI J源串首(末)址DI J目标串首(末)址;2. CX J串长度;3. 设DF值;4. 选重复前缀;5. 使用条件重复前缀时,判断结束条件(即 是CX=0还是ZF=0/1结束)指令执
2、行时间:计算机中的计时单位:(1).指令周期:执行一条指令所花的时间;(2).总线周期:CPU每访问一次内存或I/O端口所花的时间;(3).时钟周期(T周期):计算机主频的倒数,用T表示,即T=1 / F1、试分别说明下列指令中源操作数和目的操作数采用的寻址方式:(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)2、答案:目的操作数源操作数MOVAX,0FFFFH寄存器立即MOVES,AX寄存器寄存器XORCL,100H寄存器直接ADDSI,DX寄存器间寄存器MOVES:2000H,CL直接寄存器SUBBX+SI,1基+变立即ADCAX,BX+SI+10H寄存器相对基+变PUSHD
3、S隐含寄存器CLD隐含CMPBP+DI,CL基+变寄存器若(BX)=1123H,(SI)=佃68H,位移量=0313H,(DS)=佃71H,试确定由这些寄存器和下列寻址方式产生的有效地址和物理地址:答案:EA物址0313H佃 A23H1123H1A833H(1)(2)直接寻址;用BX的寄存器间接寻址;(3) 用BX的寄存器相对寻址;(4) 用BX和SI的基址变址寻址;(5) 用BX和SI的相对基址加变址寻址。1436H 1AB46H 2A8BH 1C19BH 2D9EH 1C4AEH3、连续执行以下指令,并在空格中填写执行指令的结果。答案:MOV AX,2060HMOV DS,AXADD AL
4、,AHINCAXMOV DX,512 SUB AX,DXAL= 60HAH=20HCF=DS=2060HAH=20HCF=AL= 80HAH=20HCF=0AL=81HAH=20HCF=0DL= 00HDH=02HCF=0AL=81H AH=1EH CF=0第3章:汇编语言程序设计1. 本章学习要求(1) .应熟悉的内容:汇编语言的格式、语句行的构成。(2) .应掌握的内容:指示性语句、指令性语句及相互区别、作用。(3) .应熟悉掌握的内容:各种结构的汇编语言程序设计的方法,特别是分支结构和循环结构程序的特点和设计。2. 本章重点难点分析:伪指令、程序设计、子程序中参数通过堆栈传递较难。通过看
5、 例题、做作业和上机实习解决。如:汇编程序是将由助记符号所编写的汇编语言源程序转换为计算机能直接执行的目标程序 的软件,即:汇编语言源程序ASM汇 编 程目 标 程 序连接程序可 执 行 文 件序>MASM.OBJ LINK.EXE上图可看出汇编语言源程序(扩展名为.ASM)经过“汇编程序”汇编后生成二 进制编码的目标程序(.OBJ),再经过“连接程序”生成可执行文件(.EXE)便可以 上机执行或使用DEBUG程序进行调试。而指示性语句(伪指令)是告诉汇编程序如何将汇编语言源程序转换为目标程序的语句,在可执行的目标程序生成后的软件中,伪指令是看不见的。女口: SEGMENT是表示一个段的
6、开始, ENDS表示段结束;而ASSUME告诉汇编程序,将某一个段寄存器设置为存放某一个逻辑段的段址,即明确 指出源程序中的逻辑段与物理段之间的关系。当汇编程序汇编一个逻辑段时,即可利用相应的段寄存器寻址该逻辑段中的指令或数据。也就是说ASSUME是建立一个段寄存器与段名的对照表,汇编时使汇编程序能找到本段属于哪个段寄存器,在此对照表中所出现的存储器操作数,寻址时只需给出偏移地址,否则还应给出段地址。关键字NOTHING表示取消前面用ASSUME伪操作对这个段寄存器的设置。使用ASSUME语句,仅仅告诉汇编程序关于段寄存器与定义段之间的对应关系。但它这些段地址的真正装入, 仍需要并不意味着汇编
7、后这些段地址已装入了相应的段寄存器中,用程序来完成,且这 4 个段寄存器的装入略有不同。3. 本章典型例题分析:【例 1】若从 0200H 单元开始有 100 个数,编一个程序检查这些数,正数保持不变,负数都取补后送回。DATASEGMENTORG0200HSTRINGDB4 DUP (-55,5 DUP(6,-10,-8,9),2 DUP(-4,0)DATAENDSSTACKSEGMENT PARA STACK 'STACK'DB100 DUP (?)STACKENDSCODESEGMENTASSUMECS:CODE,DS:DA TA,ES:DATA,SS:STACKSTAR
8、TPROCFARBEGIN:PUSHDSMOVAX, 0PUSHAXMOVAX, DATAMOVDS, AXMOVES, AXMOVCX, 100LEASI, STRINGAGAIN:MOVAL, SIANDAL, ALJNSOVER ;AL > 0,跳至 OVERNEGAL ;AL v 0,对 AL 求补OVER:MOVSI, ALINCSILOOPAGAININT3RETSTARTENDPCODEENDSENDBEG【例 2】数据块间的搬移程序。 程序要求把内存中一数据块(称为源数据块 )传送到另一存储区 (称为目的数据块 )。图 4-11给出源数据块和目的数据块在存储器中可能的 3
9、种情况:两块分离和有部分重叠。对于两个数 据块分离的情况,如图4-11(a),数据的传送从数据块的首址开始,或者从数据块的末址开始均可。但对于有部分重叠的情况, 则要加以分析, 否则重叠部分部分会因 “搬移” 而遭破坏, 从图4-11(b)和(c)可以得出以下结论:当源数据块首址v目的块首址时,从数据块末地址开始传送数据。当源数据块首址目的块首址时,从数据块首地址开始传送数据。流程图如图4-12所示,00000H源数据块":FFFFFH目的数据块(b)(a)源数卜据块图4-11数据块之间的三种情况图 4-12程序如下:STACK SEGMENT STACKDW 64 DUP( ?)S
10、TACK ENDSCODE SEGMENTASSUME CS: CODE, SS: STACKSTART:MOVCX,0010H;取搬家字节数(16个字节)MOVSI,3100H;取源块首址MOVDI ,3200H;取目的块首址CMPSI,DI;从首址开始?JA A2;是,转移ADDSI,CXADDDI,CXDECSIDECDIA1:MOVAL,SIMOVDI,ALDECSIDECDIDECCXJNEA1JMPA3A2:MOVAL,SIMOVDI,ALINCSIINCDIDECCXJNEA2A3:MOVAH,4CHINT21HCODEENDSENDSTART;否,以末地址开始搬家;从末址开始搬
11、家;从首址开始搬家4. 本章作业 (带答案):2、若在自 2000H 单元开始有一个 1000个字节的数据块, 要把它传送到自 2200H 开始的存储区中去,用以下三中方法,分别编制程序:( 1) 不用串操作指令。( 2) 用单个传送的串操作数据传送指令。( 3) 用带重复前缀的串操作数据传送指令。程序如下:DATASEGMENTORG2000HN1DBn1,n2, n1000N2EQU2000H+1000- 1CONEQU1000DATAENDSSTACKSEGMENTSTACK STACK'DW100DUP(?)STACKENDSCODESEGMENTORG1000HASSUMEC
12、S:CODE,DS:DATA,ES:DATA,SS:STACKMAINPROCSTART:MOVAX,DATAMOVDS,AXL1:MAIN CODEMOV LEA MOV MOV MOVMOVDEC DECLOOP MOV INT ENDP ENDS ENDES,AX SI,N1+1000 1 DI,N2 CX,CON AL,SIDI,ALSIDIL1AH,4CH 21HSTART;STD ;MOVSB;LOOPL1;REP MOVSB3、若在存储器中有数(a * 10 + b)*10+c)*10+d (假设和小于 65535) 程序如下:a、b、c、d (它们连续存放),编写一个程序实现:
13、DATA SEGMENTBCMDWa,b,c,dDATAENDSCODESEGMENTASSUME CS: CODE,BCD1PROCFARSTART:MOV AX,DATAMOVDS,AXLEASI,BCMMOVCX,3MOVAX,SIL1 :INCSISHLAX,1 ;MOVBX,AX;SHLAX,1 ;SHLAX,1 ;ADDAX,BX;ADDAX,SILOOPL1INCSIMOVSI,AXMOVAH,4CHINT21HBCD1ENDPCODEENDSDS: DATA(AX )-(AX)X 2(BX )-(AX)X 2(AX )-(AX)X 4(AX )-(AX)X 8(AX )-(AX
14、)X 10END START4、已知数组A包含10个互不相等的整数,数组 B包含15个互不相等的整数。 试编写一程序,将既在 A中出现又在B中出现的偶数存放在数组 C中。程序如下:DATA SEGMENTORG 0500HDATAADWA1,A2,A10DATABDWB1,B2,B15COUNTA EQU10COUNTB EQU15DATACDW10 DUP(?)DATAENDSSTACKSEGMENT STACK 'STACK'DB100 DUP(?)STACKENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTA
15、RT PROC FARBEGIN: PUSH DSMOVAX,0PUSHAXMOVAX,DATAMOVES,AXMOVDS,AXLEABX,DATAC;(BX)=数组C首址CLDLEASI,DATAA;(SI)= 数组A首址MOVDX,COUNTA;(DX)=数组A兀素个数LP1: LODSW;取数组A元素到AXLEADI,DATAB;(DI)= 数组B首址MOVCX,COUNTB;(CX)=数组B元素个数REPNE SCASW;(AX)= 数组 B 元素 ?不同重复JNZNEXT;B中无此A元素转NEXTTESTAX, 01HJNZNEXTMOVBX,AX;有A元素且是偶数存入C中INCBX
16、INCBXNEXT: DEC DX JNZ LP1 INT 3START ENDPCODE ENDSEND BEGIN5、若自 STRING 开始有一个字符串(以 $'号作为字符串的结束标志) ,请编 程查找此字符串中有无字符 #',有多少个 #',并将个数存放在 NUMBER 字 单元中,且把每一个 #'字符所存放的偏移地址放到自 POINTER 开始的连续 存储字单元中。程序如下:DATASEGMENTORG0100HSTRINGDB'593#6707#84BK47#68H#8K8#497$'NUMBERDB?POINTERDW50 DUP
17、(?)DATAENDSSTACKSEGMENT PARA STACK'STACK'DB100 DUP(?)STACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACKSTARTPROCFARBEGIN:PUSHDSMOVAX,0PUSHAXMOVAX ,DATAMOVES,AXMOVDS,AXLEASI ,STRINGLEADI ,POINTERXORBL,BL;BL 清 0AGAIN:MOVAL ,SICMPAL ,'$';与'$比'较JZSTOPCMPAL ,'# 'JN
18、ZNEXTMOVDX,SIMOVDI ,DXINCDIINCDIINCBLNEXT:INCSIJMPAGAINSTOP:LEADI ,NUMBERMOVDI ,BLINT3STARTENDPCODE ENDSENDBEGIN一、8282 (地址锁存器)的作用:在T1时锁存地址信息。二、8284(时钟发生器)的作用:1. 提供系统时钟CLK2. 同步 RESET3同步READY4.提供其他系统时钟三、8286(总线缓冲器)的作用:1. 数据缓冲2. 增强总线负载能力3. 控制数据传送方向四、8288(总线控制器)的作用:在8088/8086工作在最大模式时,根据 S2S0的信号,输出系统各种控制
19、信号.本章作业:(带答案)若用4KX 1位的RAM芯片组成16KX 8位的存储器,需要多少芯片 (32片)? A19A0地 址线中哪些参与片内寻址(A0A13) ?哪些参与作芯片组的片选择信号 下列RAM各需要多少条地址线进行寻址?多少条数据 I/O1.2.(A14A19) ?地址线数据线地址线数据线(1)512 X 4;94(5) 4K X 1;121(2)1K X 4;1046) 16K X 4;144(3)1K X 8;108(7) 64K X 1 ;161(4)2K X 1;111(8) 256K X 4;184使用下列RAMI芯片,组成所需的存储容量,各需多少 RAM芯片?各需多少
20、RAM芯片组?线?共需多少寻址线?每块片子需多少寻址线?3.片数组数总线数片内线(1) 512X 4的芯片,组成8K X 8的存储容量;3216139(2) 1024X 1的芯片,组成32K X 8的存储容量;256321510(3) 1024X 4的芯片,组成4K X 8的存储容量;841210(4) 4K X 1的芯片,组成64K X 8的存储容量;1281616124.若用2114芯片组成2KB RAM地址范围为3000H37FFH,问地址线应如何连接?(假设CPU只有16条地址线,C B A8根数据线,可选用线选法和全译码法)A15 A14 A13 A12 A11A10 A9 A8 A
21、7A00 0 1 1 0 0 0 0 00 0 1 1 0 1 1 1 174LS138A q A 0r ioA亟ffAIDA 11k t曲rYjc!IU呀而Jb711C2B一Y5WERDALi1417DO D3D4 D7* 4 厂AO A9AO A91I1AO - A9AO * A9CSCS21142114WE i/o 1-1/04*NE i/o j -i/04i rI iDO D3D3AO A9AO A91 lIiAC A9AO A9Ycs21142114"E I/O 1 -1/04WE i/o i-i/041 1I104 - D7D4第三部分综合练习题1名词解释:?ASSUME
22、 , SEGMENT , CPU, BCD 码,ASCII 码, RAM , EPROM , IP, SP, CS,DS,开中断,总线周期,T周期,段寄存器,字节、字,汇编程序,堆栈,字长,中 断,伪指令,指示性语句、指令性语句、OFFSET、物理地址、逻辑地址、ROM、ORGAB、DB、CB、指令周期 、全译码、局部译码、内存、外存综合练习题答案如下:1、名词解释(略)3、判断下列指令正误,如果错误请指出原因答案:(1)MOVCL, 259x数据不匹配(2)XORBL, BHV(3)ADD100, ALx立即数不能为目标操作数(4)MOVSS, 2200Hx立即数不能直接送基寄存器(5)PO
23、PCSxPOP不能对CS(6)XCHGCX,DXV(7)INAL,260Hx端口地址超过256,应用DX间接寻址(8)MOVBP+SI, BXx源和目标操作数不能同时为存储器操作数(9)LEABX, AXx源操作数应为存储器操作数(10)MOVAX, 10HBXV4、 问答题:(1) 何为逻辑地址?何为物理地址?它们俩者之间有何关系?答:物理地址是存储器的实际地址,一个存储单元的物理地址是惟一,逻辑地址为程序设计中所使用的存储器地址,它由段基址和地内偏移地址两部份构成,物理地址=段基址x 16+偏移地址,可见一个存储单元的逻辑地址可以有若干个。(2) 什么是总线周期?一个基本的总线周期由多少个
24、T构成?答: CPU每访问一次总线所花的时间称为总线周期,一个基本的总线周期由四个 T周期构成。(3) 在使用串操作指令(如MOVS)前应注意些什么?答:使用串操作指令时应注意以下五点: 1 将源串的首(末)地址送入SI中、将目 标串的首(末)地址送入DI中;2 将串长度送入 CX中;3 设置DF的值;4 选 择适当的重复前缀;5判断串操作指令的结束条件。(4) 8088 CPU有多少根地址线?多少根数据线?它最大直接寻址范围是多少? 一次对外数据传送多少 BIT二进制数?答:8088 CPU有20根地址线,8根数据线,它最大直接寻址范围是1MB,一次对外数据传送8BIT二进制数。(5) 微机
25、中的基本计时有哪几种?它们之间的有何关系?答:微机中的基本计时有:指令周期;总线周期;时钟周期。一个指令周期由若干时钟周期或总线周期构成,一个基本的总线周期由四个时钟周期构成,时钟周期是最小的计时单位,它是微机主频的倒数。(6) 8086 / 8088微处理器内部有哪些寄存器?其主要作用是什么?答:8086 / 8088 微处理器内部有: AX、BX、CX、DX、SI、DI、CS、DS、SS、ES、IP、SP、FR、BP存放数据、偏移地址、段基址以及标志。5、自1000H单元开始,有100个无符号数(字节),编写程序计算这100个数 的和,并把和存放在 佃71H和 佃72H单元,且高位存放在 佃72H单元。程序如下:DATA SEGMENTORG1000HN1DBn1,n2, n100N2EQU1971HCONEQU100DATAENDSSTACKSEGMENTSTACK STACK'DW100DUP(?)STACKENDSCODESEGMENTORG2000HASSUMECS:CODE,DS:DATA, SS:STACKMAINPROCSTART:MOVAX,DATAMOVDS,AXLEASI,N1MOVCX,CONXORAX,AXL1:ADDAL,SIADCAH,0INCSILOOPL1MOVN
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年高效酸雾净化器项目资金需求报告代可行性研究报告
- 2025科研设备租赁合同样本
- 2025娱乐场所员工劳动合同书模板
- 2025合肥服务合同范本
- 2025年北京市劳动合同样本
- 2025二手车买卖合同
- 2025新款企业办公房产租赁合同
- 2025年签订的违章建筑房屋租赁合同是否有效
- 2025企业合同转让协议
- 2025年的担保公司贷款合同范本
- 2025届上海市浦东新区高三二模英语试卷(含答案)
- 开曼群岛公司法2024版中文译本(含2024年修订主要内容)
- 【MOOC】航空燃气涡轮发动机结构设计-北京航空航天大学 中国大学慕课MOOC答案
- 悦己人生-大学生心理健康智慧树知到期末考试答案章节答案2024年哈尔滨工业大学
- 职业卫生评价考试计算题汇总
- JJF 1318-2011 影像测量仪校准规范-(高清现行)
- 5711装备质量问题处理通用要求
- 酸洗磷化线材项目建议书范文
- 中山大学教授和副教授职务聘任实施办法(试行)
- 恒速传动装置的工作原理
- 住院病历交接登记本
评论
0/150
提交评论