收藏 分享(赏)

微型计算机原理与接口技术答案(1)省名师优质课赛课获奖课件市赛课百校联赛优质课一等奖课件.ppt

上传人:知识海洋 文档编号:24123841 上传时间:2024-09-28 格式:PPT 页数:59 大小:241.54KB
下载 相关 举报
微型计算机原理与接口技术答案(1)省名师优质课赛课获奖课件市赛课百校联赛优质课一等奖课件.ppt_第1页
第1页 / 共59页
微型计算机原理与接口技术答案(1)省名师优质课赛课获奖课件市赛课百校联赛优质课一等奖课件.ppt_第2页
第2页 / 共59页
微型计算机原理与接口技术答案(1)省名师优质课赛课获奖课件市赛课百校联赛优质课一等奖课件.ppt_第3页
第3页 / 共59页
微型计算机原理与接口技术答案(1)省名师优质课赛课获奖课件市赛课百校联赛优质课一等奖课件.ppt_第4页
第4页 / 共59页
微型计算机原理与接口技术答案(1)省名师优质课赛课获奖课件市赛课百校联赛优质课一等奖课件.ppt_第5页
第5页 / 共59页
亲,该文档总共59页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、第一章作业习题课第一章作业习题课杭州电子科技大学自动化学院杭州电子科技大学自动化学院微机原理与接口技术1/592024/9/282024/9/281 1微处理器微处理器微处理器微处理器只是一个中央处理器(只是一个中央处理器(CPUCPU),由算术),由算术逻辑部件(逻辑部件(ALUALU),累加器和通用存放器组,程),累加器和通用存放器组,程序计数器,时序和控制逻辑部件,内部总线等组序计数器,时序和控制逻辑部件,内部总线等组成。微处理器不能组成独立工作系统,也不能独成。微处理器不能组成独立工作系统,也不能独立执行程序,必须配上存放器,外部输入、输出立执行程序,必须配上存放器,外部输入、输出接口

2、组成一台微型计算机方能工作。接口组成一台微型计算机方能工作。2.2.微处理器,微型计算机,微型计算机系统微处理器,微型计算机,微型计算机系统有什么联络与区分?有什么联络与区分?2/592024/9/282024/9/282 2微型计算机微型计算机微型计算机微型计算机由由CPUCPU,存放器,输入,存放器,输入/输出接口电路输出接口电路和系统总线组成。它已含有计算功效,能独立执和系统总线组成。它已含有计算功效,能独立执行程序,但若没有输入行程序,但若没有输入/输出设备,数据及程序不输出设备,数据及程序不能输入,运算结果无法显示或输出,仍不能正常能输入,运算结果无法显示或输出,仍不能正常工作。工作

3、。以微型计算机为主体,配上外部输入以微型计算机为主体,配上外部输入/输出设备及输出设备及系统软件就组成了系统软件就组成了微型计算机系统微型计算机系统微型计算机系统微型计算机系统。没有配置软。没有配置软件计算机称为裸机,依然什么工作也不能做,必件计算机称为裸机,依然什么工作也不能做,必须配置系统软件和应用软件,这么才能够正常提须配置系统软件和应用软件,这么才能够正常提供使用。供使用。3/592024/9/282024/9/283 3微处理器是中央处理器(微处理器是中央处理器(CPUCPU)。它是由算术逻)。它是由算术逻辑部件(辑部件(ALUALU),累加器和存放器组,指令指针),累加器和存放器组

4、,指令指针存放器存放器IPIP,段存放器,时序和控制逻辑部件,内,段存放器,时序和控制逻辑部件,内部总线等组成。部总线等组成。3.3.微处理器有哪些主要部件组成?其功效是微处理器有哪些主要部件组成?其功效是什么?什么?4/592024/9/282024/9/284 4微处理器主要部件作用:微处理器主要部件作用:算术逻辑部件算术逻辑部件算术逻辑部件算术逻辑部件主要完成算术运算及逻辑运算。主要完成算术运算及逻辑运算。通用存放器组通用存放器组通用存放器组通用存放器组用来存放参加运算数据、中间结果或用来存放参加运算数据、中间结果或地址。地址。程序计数器程序计数器程序计数器程序计数器指向要执行下一条指令

5、,次序执行指令指向要执行下一条指令,次序执行指令时,每取一个指令字节,程序计数器加时,每取一个指令字节,程序计数器加1 1。控制逻辑部件控制逻辑部件控制逻辑部件控制逻辑部件负责对整机控制,包含从存放器中取负责对整机控制,包含从存放器中取指令,对指令进行译码和分析,确定指令操作及操指令,对指令进行译码和分析,确定指令操作及操作对应控制信号和时序,送到微型计算机其它部件,作对应控制信号和时序,送到微型计算机其它部件,使使CPUCPU内部及外部协调工作。内部及外部协调工作。内部总线内部总线内部总线内部总线用来传送用来传送CPUCPU内部数据及控制信号。内部数据及控制信号。5/592024/9/282

6、024/9/285 5第二章第二章 作业作业习题课习题课6/591.8086CPU由哪两部分组成?它们主要功效由哪两部分组成?它们主要功效是什么?是什么?8086CPU8086CPU由由总线接口部件总线接口部件总线接口部件总线接口部件BIUBIU和指令执行部件和指令执行部件和指令执行部件和指令执行部件EUEU组成,组成,BIUBIU和和EUEU操作是并行。操作是并行。总线接口部件总线接口部件BIUBIU功效:地址形成、取指令、指令功效:地址形成、取指令、指令排队、读排队、读/写操作数和总线控制。全部与外部操作写操作数和总线控制。全部与外部操作由其完成。由其完成。指令执行部件指令执行部件EUEU

7、功效:指令译码,执行指令。功效:指令译码,执行指令。7/592024/9/282024/9/287 78086CPU8086CPU存放器有通用存放器组、指针和变址存存放器有通用存放器组、指针和变址存放器、段存放器、指令指针存放器及标志位存放器放器、段存放器、指令指针存放器及标志位存放器PSWPSW。4 4个个个个1616位通用存放器位通用存放器位通用存放器位通用存放器,它们分别是,它们分别是AXAX,BXBX,CXCX,DXDX,用以存放,用以存放1616位数据或地址。也可分为位数据或地址。也可分为8 8个个8 8位位存放器来使用,低存放器来使用,低8 8位是位是ALAL、BLBL、CLCL、

8、DLDL,高,高8 8位是位是AHAH、BHBH、CHCH、DHDH,只能存放,只能存放8 8位数据,不位数据,不能存放地址。能存放地址。2.8086CPU中有哪些存放器?各有什么用途?中有哪些存放器?各有什么用途?8/592024/9/282024/9/288 8指针和变址存放器指针和变址存放器指针和变址存放器指针和变址存放器存放内容是某一段内地址偏移量,存放内容是某一段内地址偏移量,用来形成操作数地址,主要在堆栈操作和变址运算用来形成操作数地址,主要在堆栈操作和变址运算中使用。中使用。段存放器段存放器段存放器段存放器给出对应逻辑段首地址,称为给出对应逻辑段首地址,称为“段基址段基址”。段基

9、址与段内偏移地址结合形成段基址与段内偏移地址结合形成2020位物理地址。位物理地址。指令指针存放器指令指针存放器指令指针存放器指令指针存放器用来存放将要执行下一条指令在现用来存放将要执行下一条指令在现行代码中偏移地址。行代码中偏移地址。1616位位标志存放器标志存放器标志存放器标志存放器PSWPSW用来存放运算结果特征,惯用用来存放运算结果特征,惯用作后续条件转移指令转移控制条件。作后续条件转移指令转移控制条件。9/592024/9/282024/9/289 9比较两数是否相等?比较两数是否相等?将两数相减,当全零标志位将两数相减,当全零标志位ZF=1ZF=1时,说明两数时,说明两数相等,当相

10、等,当ZF=0ZF=0时,两数不等。时,两数不等。两数运算后结果是正数还是负数?两数运算后结果是正数还是负数?用符号标志位用符号标志位SFSF来判断,来判断,SF=1SF=1,为负数;,为负数;SF=0SF=0,为正数。,为正数。5.要完成下述运算或控制,用什么标志位判要完成下述运算或控制,用什么标志位判断?其值是什么?断?其值是什么?10/592024/9/282024/9/281010两数相加后是否溢出?两数相加后是否溢出?用溢出标志位来判断,用溢出标志位来判断,OF=1OF=1,产生溢出;,产生溢出;OF=0OF=0,没有溢出。没有溢出。采取偶校验方式。判定是否要补采取偶校验方式。判定是

11、否要补“1”1”?用奇偶校验标志位判断,有偶数个用奇偶校验标志位判断,有偶数个“1”1”时,时,PF=1PF=1,不需要补,不需要补“1”1”;有奇数个;有奇数个“1”1”时,时,PF=0PF=0,需,需要补要补“1”1”。11/592024/9/282024/9/281111(5 5)两数相减后比较大小?)两数相减后比较大小?ZF=1ZF=1时,说明两数是相等;时,说明两数是相等;ZF=0ZF=0时:时:无符号数时无符号数时,CF=0CF=0,被减数大;,被减数大;CF=1CF=1,被减数小。,被减数小。带符号数时带符号数时,SF=OF=0SF=OF=0或或SF=OF=1SF=OF=1,被减

12、数大;,被减数大;SF=1SF=1,OF=0OF=0或或SF=0SF=0,OF1OF1,被减数小。,被减数小。(6 6)中止信号能否允许?)中止信号能否允许?用中止标志位来判断,用中止标志位来判断,IF=1IF=1,允许,允许CPUCPU响应可屏蔽响应可屏蔽中止;中止;IF=0IF=0,不响应。,不响应。12/592024/9/282024/9/28121280868086存放器采取分体式结构:偶地址存放体和奇存放器采取分体式结构:偶地址存放体和奇地址存放体,各为地址存放体,各为512k512k。用用A A0 0和和BHEBHE来选择存放体。当来选择存放体。当A A0 0=0=0时,访问偶地时

13、,访问偶地址存放体;当址存放体;当BHE=0BHE=0时,访问奇地址存放体;当时,访问奇地址存放体;当A A0 0=0=0,BHE=0BHE=0时,访问两个存放体。时,访问两个存放体。6.8086系统中存放器采取什么结构?用什么系统中存放器采取什么结构?用什么信号来选中存放体?信号来选中存放体?13/592024/9/282024/9/2813139.实模式下,段存放器装入以下数据,写出实模式下,段存放器装入以下数据,写出每段起始和结束地址。(每段起始和结束地址。(未布置!未布置!)a)1000Ha)1000H 10000H 10000H1FFFFH1FFFFHb)1234Hb)1234H 1

14、2340H 12340H2233FH2233FHc)2300Hc)2300H 23000H 23000H32FFFH32FFFHd)E000Hd)E000H E0000H E0000HEFFFFHEFFFFHe)AB00He)AB00H AB000H AB000HBAFFFHBAFFFH14/592024/9/282024/9/28141410.在实模式下对以下在实模式下对以下CS:IP组合,求出要执组合,求出要执行下一条指令存放器地址。行下一条指令存放器地址。a)CS:IP=1000H:H a)CS:IP=1000H:H 1H1Hb)CS:IP=H:1000H b)CS:IP=H:1000H

15、 21000H21000Hc)CS:IP=1A00H:B000H c)CS:IP=1A00H:B000H 25000H25000Hd)CS:IP=3456H:AB09H d)CS:IP=3456H:AB09H 3F069H 3F069H15/592024/9/282024/9/28151511.实模式下,求以下存放器组合所寻址存放实模式下,求以下存放器组合所寻址存放单元地址:单元地址:a)DS=1000H,DI=Ha)DS=1000H,DI=H 1H 1Hb)SS=2300H,BP=3200Hb)SS=2300H,BP=3200H 26200H 26200Hc)DS=A000H,BX=1000

16、Hc)DS=A000H,BX=1000H A1000H A1000Hd)SS=2900H,SP=3A00Hd)SS=2900H,SP=3A00H 2CA00H 2CA00H16/592024/9/282024/9/281616 12.若当前若当前SS3500H,SP0800H,说明,说明堆栈段在存放器中物理地址,若此时入栈堆栈段在存放器中物理地址,若此时入栈10个字节,个字节,SP内容是什么?若再出栈内容是什么?若再出栈6个字节,个字节,SP为何值?为何值?堆栈段物理地址范围:堆栈段物理地址范围:35000H35000H44FFFH44FFFH当前栈顶物理地址为:当前栈顶物理地址为:35000

17、H+0800H=35800H35000H+0800H=35800H入栈入栈1010个字节以后:个字节以后:SP=0800H-000AH=07F6HSP=0800H-000AH=07F6H出栈出栈6 6个字节以后:个字节以后:SP=07F6H+0006H=07FCHSP=07F6H+0006H=07FCH17/592024/9/282024/9/281717 13.某程序数据段中存放了两个字,某程序数据段中存放了两个字,1EE5H和和2A8CH,已知,已知DS7850H,数据存放偏移地,数据存放偏移地址为址为3121H及及285AH。试画图说明它们在存放。试画图说明它们在存放器中存放情况。若要读

18、取这个两个字,需要对器中存放情况。若要读取这个两个字,需要对存放器进行几次操作?存放器进行几次操作?18/592024/9/282024/9/281818它们物理地址分别是:它们物理地址分别是:78500H+3121H=7B621H78500H+3121H=7B621H,78500H+285AH=7AD5AH78500H+285AH=7AD5AH。1EE5H1EE5H偏移地址是偏移地址是3121H3121H,是奇地址,需要进行,是奇地址,需要进行两次操作;两次操作;2A8CH2A8CH偏移地址是偏移地址是285AH285AH,是偶地址,是偶地址,需要一次操作。需要一次操作。19/592024/

19、9/282024/9/281919最小模式为单机系统,系统中所需要控制信号由最小模式为单机系统,系统中所需要控制信号由CPUCPU提供,实现和存放器及提供,实现和存放器及I/OI/O接口电路连接。接口电路连接。15.说明说明8086系统中系统中“最小模式最小模式”和和“最大最大模式模式”两种工作方式主要区分是什么?两种工作方式主要区分是什么?20/592024/9/282024/9/282020最大模式能够组成多处理器最大模式能够组成多处理器/协处理器系统,即一个协处理器系统,即一个系统中存在两个以上微处理器,每个处理器执行自系统中存在两个以上微处理器,每个处理器执行自己程序。系统中所需要控制

20、信号由总线控制器己程序。系统中所需要控制信号由总线控制器82888288提供,提供,8086CPU8086CPU提供信号控制提供信号控制82888288,以实现全局,以实现全局资源分配及总线控制权传递。在两种模式中,资源分配及总线控制权传递。在两种模式中,CPUCPU24312431引脚意义不一样。引脚意义不一样。最小模式中引脚最小模式中引脚MN/MXMN/MX接接5V5V,最大模式中该引,最大模式中该引脚接地。脚接地。21/592024/9/282024/9/282121CPUCPU与存放器(或者与存放器(或者I/OI/O端口)进行数据交换时,端口)进行数据交换时,CPUCPU首先要送出地址

21、信号,然后再发出控制信号首先要送出地址信号,然后再发出控制信号及传送数据。因为及传送数据。因为80868086引脚限制,地址和数据分引脚限制,地址和数据分时复用一组总线,所以要加入地址锁存器,先锁时复用一组总线,所以要加入地址锁存器,先锁存地址,使在读存地址,使在读/写总线周期内地址稳定。写总线周期内地址稳定。16.8086系统中为何要用地址锁存器?系统中为何要用地址锁存器?8282地地址锁存器与址锁存器与CPU怎样连接?怎样连接?22/592024/9/282024/9/28222282828282是三态缓冲是三态缓冲8 8位数据交换锁存器,由选通信位数据交换锁存器,由选通信号号STBSTB

22、与与CPUCPU地址锁存允许信号地址锁存允许信号ALEALE相连,当相连,当STBSTB端选通信号出现,端选通信号出现,8 8位输入数据锁存到位输入数据锁存到8 8个个D D触发器中。触发器中。中止允许标志位中止允许标志位IFIF控制控制INTRINTR引脚中止输入。引脚中止输入。17.哪个标志位控制哪个标志位控制CPUINTR引脚?引脚?23/592024/9/282024/9/282323总线周期总线周期总线周期总线周期:BIUBIU完成一次访问存放器或完成一次访问存放器或I/OI/O端口操作端口操作所需要时间。所需要时间。读总线周期,在读总线周期,在T T3 3或或T TWW状态数据出现

23、在数据总线上;状态数据出现在数据总线上;写总线周期,在写总线周期,在T T2 2状态数据出现在数据总线上。状态数据出现在数据总线上。18.什么叫总线周期?在什么叫总线周期?在CPU读读/写总线周期中,写总线周期中,数据在哪个机器状态出现在数据总线上?数据在哪个机器状态出现在数据总线上?24/592024/9/282024/9/28242420.8086CPU重新开启后,从何处开始执行指重新开启后,从何处开始执行指令?令?从内存从内存FFFF0HFFFF0H开始执行指令。开始执行指令。21.8086CPU最小模式系统配置包含哪几部分?最小模式系统配置包含哪几部分?包含时钟发生器、地址锁存器、数据

24、收发器、存放包含时钟发生器、地址锁存器、数据收发器、存放器及器及I/OI/O接口。接口。25/592024/9/282024/9/282525 补充题补充题1:已知段地址和偏移地址分别为:已知段地址和偏移地址分别为H和和0028H,此存放单元物理地址是什么?,此存放单元物理地址是什么?存放单元物理地址存放单元物理地址:0H+0028H=8H0H+0028H=8H 补充题补充题2:若若CSA000H,求当前代码在存,求当前代码在存放器中物理地址范围是什么?若数据段位于放器中物理地址范围是什么?若数据段位于5H到到61FFFH64K范围内,问范围内,问DS=?物理地址范围:物理地址范围:A0000

25、HAFFFFHA0000HAFFFFH,DS=5200HDS=5200H。26/592024/9/282024/9/282626第三章作业习题课第三章作业习题课杭州电子科技大学自动化学院杭州电子科技大学自动化学院杭州电子科技大学自动化学院杭州电子科技大学自动化学院微机原理与接口技术27/5928 28 九月九月 2024 20242.2.DS=1000H,BX=0200H,SI=0002HDS=1000H,BX=0200H,SI=0002H (10200H10205H)10200H10205H)依次存有依次存有10H,2AH,3CH,46H,59H,6BH10H,2AH,3CH,46H,59H

26、,6BH(1 1)MOV AX,0200H ;MOV AX,0200H ;AX=0200AX=0200(2 2)MOV AX,200H MOV AX,200H 物理地址物理地址=1000H10H+0200H=10200H,=1000H10H+0200H=10200H,AX=2A10HAX=2A10H(3 3)MOV AX,BX MOV AX,BX ;AX=0200H;AX=0200H(4 4)MOV AX,3BX MOV AX,3BX 物理地址物理地址=1000H10H+0200H+3H=10203H,=1000H10H+0200H+3H=10203H,AX=5946HAX=5946H(5 5

27、)MOV AX,BX+SIMOV AX,BX+SI 物理地址物理地址=1000H10H+0200H+2H=10202H,=1000H10H+0200H+2H=10202H,AX=463CHAX=463CH(6 6)MOV AX,2BX+SIMOV AX,2BX+SI 物理地址物理地址=1000H10H+200H+2H+2H=10204H,=1000H10H+200H+2H+2H=10204H,AX=6B59HAX=6B59H28/5928 28 九月九月 2024 20243.DS=1000H,ES=H,SS=3500H,3.DS=1000H,ES=H,SS=3500H,SI=00A0H,DI

28、=0024H,BX=0100H,BP=0200H,VAL=0030H SI=00A0H,DI=0024H,BX=0100H,BP=0200H,VAL=0030H (1 1)MOV AX,MOV AX,100H 100H 直接寻址方式,直接寻址方式,10100H10100H 物理地址物理地址DS10H+100H=10000H+0100H=10100HDS10H+100H=10000H+0100H=10100H(2 2)MOV AX,MOV AX,VAL VAL 直接寻址方式,直接寻址方式,10030H10030H 物理地址物理地址DS10H+VAL=10000H+0030H=10030HDS10

29、H+VAL=10000H+0030H=10030H (3 3)MOV AX,MOV AX,BXBX 存放器间接寻址,存放器间接寻址,10100H10100H 物理地址物理地址DS10H+BX=10000H+0100H=10100H DS10H+BX=10000H+0100H=10100H (4 4)MOV AX,MOV AX,ES:BX ES:BX 存放器间接寻址,存放器间接寻址,0H0H 物理地址物理地址ES10H+BX=0H+0100H=0H ES10H+BX=0H+0100H=0H(5 5)MOV AX,MOV AX,SISI 存放器间接寻址,存放器间接寻址,100A0H100A0H物理

30、地址物理地址=DS10H+SI=10000H+00A0H=100A0H=DS10H+SI=10000H+00A0H=100A0H29/5928 28 九月九月 2024 2024(6 6)MOV AX,MOV AX,BX+10H BX+10H 存放器相对寻址,存放器相对寻址,10110H10110H物理地址物理地址=DS10H+BX+10H=10000H+0100H+10H=10110H=DS10H+BX+10H=10000H+0100H+10H=10110H(7 7)MOV AX,MOV AX,BPBP 存放器间接寻址,存放器间接寻址,35200H35200H物理地址物理地址=SS10H+B

31、P=35000H+0200H=35200H=SS10H+BP=35000H+0200H=35200H(8 8)MOV AX,MOV AX,VALBPSIVALBPSI相对基址变址寻址,相对基址变址寻址,352D0H352D0H物理地址物理地址=SS10H+BP+SI+VAL=SS10H+BP+SI+VAL =35000H+0200H+00A0H+0030H=352D0H =35000H+0200H+00A0H+0030H=352D0H(9 9)MOV AX,MOV AX,VALBXDIVALBXDI 相对基址变址寻址,相对基址变址寻址,10154H10154H物理地址物理地址=DS10H+BX

32、+DI+VAL=DS10H+BX+DI+VAL =10000H+0100H+0024H+0030H=10154H =10000H+0100H+0024H+0030H=10154H(1010)MOV AX,MOV AX,BPDIBPDI基址变址寻址,基址变址寻址,35224H35224H物理地址物理地址=SS10H+BP+DI=SS10H+BP+DI =35000H+0200H+0024H=35224H =35000H+0200H+0024H=35224H30/5928 28 九月九月 2024 20246 6(1 1)MOVMOVDL,DL,AXAX 错,存放器寻址方式中,目标操作数与源操作数

33、长度必须一致错,存放器寻址方式中,目标操作数与源操作数长度必须一致(2 2)MOV MOV 8650H,8650H,AX AX 错,目标操作数不能够是马上数错,目标操作数不能够是马上数(3 3)MOVMOV DS,DS,0200H0200H 错,错,MOVMOV指令不允许将马上数传入段存放器指令不允许将马上数传入段存放器(4 4)MOVMOV BX,BX,1200H1200H 错错,MOV,MOV指令两个操作数不能同时为存放器指令两个操作数不能同时为存放器(5 5)MOVMOV IP,IP,0FFH0FFH 错错,IP,IP不能作为不能作为MOVMOV指令目标操作数指令目标操作数(6 6)MO

34、VMOV BX+SI+3,BX+SI+3,IPIP 错错,IP,IP不能作为不能作为MOVMOV指令源操作数指令源操作数(7 7)MOVMOV AX,AX,BXBPBXBP 错,错,BXBX与与BPBP不能够同时出现在源操作数当中不能够同时出现在源操作数当中(8 8)MOVMOV AL,AL,ES:BP ES:BP 对对31/5928 28 九月九月 2024 2024(9 9)MOVMOV DL,DL,SIDISIDI 错,错,SISI与与DIDI是两个变址存放器,不能够同时出现在源操作数中。是两个变址存放器,不能够同时出现在源操作数中。(1010)MOVMOV AX,AX,OFFSET 0

35、A20HOFFSET 0A20H 错,错,OFFSETOFFSET后面跟应该是符号地址,再把符号地址值作为操作后面跟应该是符号地址,再把符号地址值作为操作数。数。(1111)MOVMOV AL,AL,OFFSET TABLEOFFSET TABLE 错,错,TABLETABLE偏移地址是偏移地址是1616位,目标与源长度不一致位,目标与源长度不一致(1212)XCHGXCHGAL,AL,50H50H 错,交换指令能够在存放器之间,存放器和存放器之间进行,不错,交换指令能够在存放器之间,存放器和存放器之间进行,不能够是马上数。能够是马上数。(1313)ININBL,BL,05H05H 错错,BL

36、,BL不能作为不能作为ININ指令目标操作数指令目标操作数,只能用只能用ALAL或或AXAX(1414)OUTOUT AL,AL,0FFEH0FFEH 错,端口地址错,端口地址0FFEHFFH,0FFEHFFH,应用应用DXDX间接寻址间接寻址,同时源操作数和目同时源操作数和目标操作数位置颠倒了标操作数位置颠倒了,应改为应改为OUT DX,ALOUT DX,AL。32/5928 28 九月九月 2024 20248.SS=1050H,SP=0100H,AX=4860H,BX=1287H8.SS=1050H,SP=0100H,AX=4860H,BX=1287H48H48H60H60H1050H:

37、00FEH1050H:00FEHSPSP(a)(a)执行执行PUSH AXPUSH AX后后1050H:00FCH1050H:00FCH48H48H60H60H12H12H87H87HSPSP(b)(b)执行执行PUSH BXPUSH BX后后1050H:00FEH1050H:00FEH87H87H12H12H60H60H48H48HSPSP(c)(c)执行执行POP BXPOP BX后后1050H:0100H1050H:0100H87H87H12H12H60H60H48H48HSPSP(d)(d)执行执行POP AXPOP AX后后33/5928 28 九月九月 2024 202410.10

38、.ARRAY ARRAY DB DB NEWNEWDB 7 DUPDB 7 DUP(?)(?)SUM SUM DW 0 DW 0 AVERAGEAVERAGEDB 0 DB 0 (1 1)MOVMOV CX,CX,07H 07H MOVMOV BX,BX,00H00H NEXT NEXT:MOVMOV AL,AL,ARRAYBXARRAYBX ADDADDALAL,5 5 DAADAA MOVMOV NEWBXNEWBX,ALAL INCINCBXBX LOOPLOOP NEXTNEXTHLTHLT34/592024/9/282024/9/283434(2 2)MOVMOV CX,CX,06H

39、 06H MOVMOV BXBX,01H01HMOVMOV AH,AH,00H00H MOV MOV ALAL,ARRAYARRAY L1:L1:ADD AL ADD AL,ARRAYBXARRAYBX DAADAA ADCADCAH,AH,00H00H;将进位加到将进位加到AHAH中中 INCINCBXBX LOOP L1LOOP L1MOVMOV SUM,SUM,AXAX35/592024/9/282024/9/283535(3 3)MOVMOV DX,DX,SUMSUM;DX=0H(BCD;DX=0H(BCD码码)MOVMOV BL,BL,07H07HMOVMOV AX,AX,DXDX;

40、取千位、百位数取千位、百位数ANDANDAL,AL,0F0H0F0HMOVMOV CL,CL,04H04HROLROLAL,AL,CLCL;AX=00H;AX=00HAADAAD;ALAH10;ALAH10AL,AH00 AL,AH00 DIVDIVBLBL;十位商在;十位商在ALAL中,余数在中,余数在AHAH中中MOVMOV AVERAGE+1,ALAVERAGE+1,AL;存平均成绩十位;存平均成绩十位MOVMOV AL,AL,DLDL;取个位和数;取个位和数ANDANDAL,AL,0FH0FHAADAAD;ALAH10ALAH10AL,AH00AL,AH00 DIVDIVBLBL;个位

41、商在;个位商在ALAL中,余数在中,余数在AHAH中中MOVMOV AVERAGE,AVERAGE,ALAL;存平均成绩个位;存平均成绩个位MOVMOV AVERAGE+2,AHAVERAGE+2,AH;存余数存余数36/592024/9/282024/9/28363611.AX=2508H11.AX=2508H,BX=0F36HBX=0F36H,CX=0004HCX=0004H,DX=1864HDX=1864H(1 1)ANDAND AH,AH,CLCLAH=04HAH=04H,CF=0CF=0;(;(0010 0101B0010 0101B与与0000 0100B0000 0100B)(2

42、 2)ORORBL,BL,30H30HBL=36HBL=36H,CF=0CF=0;(;(0011 0110B0011 0110B或或0011 0000B0011 0000B)(3 3)NOTNOT AXAXAX=DAF7HAX=DAF7H,CFCF无影响;(无影响;(0010 0101 0000 1000B0010 0101 0000 1000B取反后取反后1101 1010 1111 0111B1101 1010 1111 0111B)(4 4)XORXOR CX,CX,0FFF0H0FFF0HCX=FFF4HCX=FFF4H,CF=0CF=0;(;(0000 0000 0000 0100B

43、0000 0000 0000 0100B和和1111 1111 1111 0000B1111 1111 1111 0000B异或后异或后1111 1111 1111 0100B1111 1111 1111 0100B)(5 5)TESTTEST DH,DH,0FH0FHTESTTEST操作并不修改结果,操作并不修改结果,CF=0CF=0;37/592024/9/282024/9/283737(6 6)CMPCMP CX,CX,00H00HCMPCMP操作并不修改结果,操作并不修改结果,CF=0CF=0;(7 7)SHRSHR DX,DX,CLCLDX=0186HDX=0186H,CF=0CF=

44、0;(8 8)SARSARAL,AL,1 1AH=04HAH=04H,CF=0CF=0;(9 9)SHLSHLBH,BH,CLCLBH=F0HBH=F0H,CF=0CF=0;(1010)SALSAL AX,AX,1 1AX=4A10HAX=4A10H,CF=0CF=0;(;(0010 0101 0000 1000B0010 0101 0000 1000B 左移左移)(1111)RCLRCL BX,BX,1 1若程序执行之前若程序执行之前CF=0CF=0,BX=1E6CHBX=1E6CH,CF=0CF=0;若程序执行之前若程序执行之前CF=1CF=1,BX=1E6DHBX=1E6DH,CF=0C

45、F=0。(1212)RORROR DX,DX,CLCLDX=4186HDX=4186H,CF=0CF=0。38/592024/9/282024/9/28383812.DATA12.DATASEGMENTSEGMENT STRING DB The personal computer&TVSTRING DB The personal computer&TV DATA ENDS DATA ENDSEDATA SEGMENTEDATA SEGMENTGET_CHARGET_CHAR DBDB26DUP(?)26DUP(?)NEW_STRNEW_STRDBDBThe computerThe comput

46、er EDATA ENDS EDATA ENDS (1)(1)MOV MOV SI,SI,OFFSET STRINGOFFSET STRING MOV MOV DI,DI,OFFSET GET_CHAROFFSET GET_CHAR MOV MOV CX,CX,001AH001AH CLDCLD REPREPMOVSBMOVSB39/592024/9/282024/9/283939(2)(2)MOVMOV SI,SI,OFFSET STRINGOFFSET STRING MOVMOV DI,DI,OFFSET NEW_STROFFSET NEW_STR MOV CX,MOV CX,001AH0

47、01AH CLDCLD REPZREPZ CMPSBCMPSB;DS:SI-ES:DIDS:SI-ES:DI JNEJNECLR_ALCLR_AL MOVMOV AL,AL,1 1 JMP SET_BLJMP SET_BL CLR_AL:CLR_AL:MOVMOV AL,AL,0 0 SET_BL:SET_BL:MOVMOV BL,BL,001AH001AHSUBSUBBL,BL,CLCLHLTHLT40/592024/9/282024/9/284040(3 3)MOVMOV DI,DI,OFFSETOFFSETSTRINGSTRING MOVMOV CX,CX,001AH001AH MOVM

48、OV AL,AL,&CLDCLDL1:L1:SCASBSCASB;ALAL-ES:DI-ES:DI JZ FINDJZ FINDNEXT:NEXT:LOOPLOOP L1L1HLTHLTFIND:FIND:MOV BL,MOV BL,MOV DI-1,MOV DI-1,BLBL;用空格替换用空格替换&JMPJMPNEXTNEXT41/592024/9/282024/9/284141(4 4)MOV MOV SI,SI,OFFSET STRINGOFFSET STRING;数据段,源串;数据段,源串 MOV MOV DI,DI,OFFSET CAPSOFFSET CAPS;附加段,大写字符;附加

49、段,大写字符 MOV MOV BX,BX,OFFSET CHARTOFFSET CHART;附加段,其它字符;附加段,其它字符 MOV MOV CX,CX,001AH001AH CLDCLD L1:L1:LODSB LODSB;ALDS:SIALDS:SIMOVMOVSI-1,SI-1,00H00H;取出字符后该单元清零取出字符后该单元清零 CMPCMPAL,AL,AA JBJBOTHEROTHER CMPCMPAL,AL,ZZJAJAOTHEROTHERSTOSBSTOSB;存大写字符存大写字符JMPJMPL2L2 OTHER:OTHER:XCHGXCHG BX,BX,DIDI;存其它字符存

50、其它字符 STOSBSTOSB XCHG BX,XCHG BX,DIDI L2:L2:LOOPLOOPL1L1 HLT HLT 42/592024/9/282024/9/2842421414.(1)JMP.(1)JMP PROG_NPROG_N 段内直靠近转移,目标地址为段内直靠近转移,目标地址为1200H:0278H(1200H:0278H(或或12278H)12278H)(2)JMP(2)JMPBXBX 段内存放器间接转移,目标地址为段内存放器间接转移,目标地址为1200H:0300H(1200H:0300H(或或12300H)12300H)(3)JMP(3)JMPBXBX 物理地址物理地

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 实用文档 > 工作范文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报