《微型计算机原理与接口技术_课后习题答案_中科大出版社_第四版复习过程.ppt》由会员分享,可在线阅读,更多相关《微型计算机原理与接口技术_课后习题答案_中科大出版社_第四版复习过程.ppt(144页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、*1 1第一章作业第一章作业(zuy)习题习题课课AUSTAUST-School of Electrical and Information Engineering School of Electrical and Information Engineering Mr.ZHAOMr.ZHAO微机(wi j)原理与接口技术第一页,共144页。*2 2微处理器只是一个中央处理器(微处理器只是一个中央处理器(微处理器只是一个中央处理器(微处理器只是一个中央处理器(CPUCPU),由算术逻辑部),由算术逻辑部),由算术逻辑部),由算术逻辑部件(件(件(件(ALUALU),累加器和通用寄存器组,程序计数
2、器,时),累加器和通用寄存器组,程序计数器,时),累加器和通用寄存器组,程序计数器,时),累加器和通用寄存器组,程序计数器,时序和控制逻辑部件,内部总线等组成。微处理器不能构序和控制逻辑部件,内部总线等组成。微处理器不能构序和控制逻辑部件,内部总线等组成。微处理器不能构序和控制逻辑部件,内部总线等组成。微处理器不能构成成成成(guchng)(guchng)独立工作的系统,也不能独立执行程序,独立工作的系统,也不能独立执行程序,独立工作的系统,也不能独立执行程序,独立工作的系统,也不能独立执行程序,必须配上存储器,外部输入、输出接口构成必须配上存储器,外部输入、输出接口构成必须配上存储器,外部输
3、入、输出接口构成必须配上存储器,外部输入、输出接口构成(guchng)(guchng)一台微型计算机方能工作。一台微型计算机方能工作。一台微型计算机方能工作。一台微型计算机方能工作。2.2.微处理器,微型计算机,微型计算机系统有什微处理器,微型计算机,微型计算机系统有什么联系么联系(linx)(linx)与区别?与区别?第二页,共144页。*3 3微型计算机由微型计算机由微型计算机由微型计算机由CPUCPU,存储器,输入,存储器,输入,存储器,输入,存储器,输入/输出接口电路和系输出接口电路和系输出接口电路和系输出接口电路和系统总线组成。它已具有计算功能,能独立执行程序,但统总线组成。它已具有
4、计算功能,能独立执行程序,但统总线组成。它已具有计算功能,能独立执行程序,但统总线组成。它已具有计算功能,能独立执行程序,但若没有输入若没有输入若没有输入若没有输入/输出设备,数据及程序不能输入,运算结输出设备,数据及程序不能输入,运算结输出设备,数据及程序不能输入,运算结输出设备,数据及程序不能输入,运算结果无法显示或输出,仍不能正常工作。果无法显示或输出,仍不能正常工作。果无法显示或输出,仍不能正常工作。果无法显示或输出,仍不能正常工作。以微型计算机为主体,配上外部输入以微型计算机为主体,配上外部输入以微型计算机为主体,配上外部输入以微型计算机为主体,配上外部输入/输出设备及系统输出设备及
5、系统输出设备及系统输出设备及系统软件就构成了微型计算机系统。没有配置软件的计算机软件就构成了微型计算机系统。没有配置软件的计算机软件就构成了微型计算机系统。没有配置软件的计算机软件就构成了微型计算机系统。没有配置软件的计算机称为裸机称为裸机称为裸机称为裸机(lu j)(lu j),仍然什么工作也不能做,必须配置,仍然什么工作也不能做,必须配置,仍然什么工作也不能做,必须配置,仍然什么工作也不能做,必须配置系统软件和应用软件,这样才可以正常提供使用。系统软件和应用软件,这样才可以正常提供使用。系统软件和应用软件,这样才可以正常提供使用。系统软件和应用软件,这样才可以正常提供使用。第三页,共144
6、页。*4 4微处理器是中央处理器(微处理器是中央处理器(CPUCPU)。它是由算术逻辑部件)。它是由算术逻辑部件(bjin)(bjin)(ALUALU),累加器和寄存器组,指令指针寄存),累加器和寄存器组,指令指针寄存器器IPIP,段寄存器,时序和控制逻辑部件,段寄存器,时序和控制逻辑部件(bjin)(bjin),内部,内部总线等组成。总线等组成。3.3.微处理器有哪些主要部件组成微处理器有哪些主要部件组成(z chn)(z chn)?其功能是什么?其功能是什么?第四页,共144页。*5 5微处理器主要部件作用:算术逻辑部件主要完成算术运算及逻辑运算。通用寄存器组用来存放参加运算的数据、中间结
7、果或地址。程序计数器指向要执行的下一条指令,顺序执行指令时,每取一个指令字节,程序计数器加1。控制逻辑部件负责对整机的控制,包括从存储器中取指令,对指令进行译码和分析,确定指令的操作及操作相应的控制信号和时序,送到微型计算机的其他部件,使CPU内部及外部协调工作(gngzu)。内部总线用来传送CPU内部的数据及控制信号。第五页,共144页。9.(1)1101.01B=13.25 (2)111001.0011B=57.1875 (3)101011.0101B=43.3125 (4)111.0001B=7.062510.(1)A3.3H=163.1875 (2)129.CH=297.75 (3)A
8、C.DCH=172.859375 (4)FAB.3H=4011.1875第六页,共144页。11.(1)23=27Q=17H (2)107=153Q=6BH(3)1238=2326Q=4D6H (4)92=134Q=5CH12.将下列十进制数转换(zhunhun)为8位有符号2进制数(1)+32=00100000B(2)-1212原=00001100B 12反=11110011B-12补=11110100B(3)+100=01100100B(4)-9292原=01011100B 92反=10100011B-92补=10100100B第七页,共144页。13.将下列(xili)十进制数转换为压缩
9、和非压缩BCD(1)102 (2)44 (3)301 (4)1000(1)102压缩BCD=0000 0001 0000 0010B102非压缩BCD=0000 0001 0000 0000 0000 0010B(2)44压缩BCD=0100 0100B44非压缩BCD=0000 0100 0000 0100B(3)301压=0000 0011 0000 0001B301非压=0000 0011 0000 0000 0000 0001B(4)1000压=0001 0000 0000 0000B1000非压=0000 0001 0000 0000 0000 0000 0000 0000B第八页,
10、共144页。14.将下列二进制数转换为有符号十进制数。(1)1000 0000B (2)0011 0011B(3)1001 0010B (4)1000 1001B答:把它们(t men)看成是补码。(1)-128(2)+51(3)-110(4)-119思考:若看成是原码、反码又分别是多少?第九页,共144页。第二章第二章 作业作业(zuy)习题课习题课AUSTAUST-School of Electrical and Information Engineering School of Electrical and Information Engineering Mr.ZHAOMr.ZHAO第十
11、页,共144页。*11111.8086CPU由哪两部分组成?它们的主要由哪两部分组成?它们的主要(zhyo)功能是什么?功能是什么?8086CPU8086CPU由总线接口部件由总线接口部件BIUBIU和指令执行部件和指令执行部件EUEU组成,组成,BIUBIU和和EUEU的操作的操作(cozu)(cozu)是并行的。是并行的。总线接口部件总线接口部件BIUBIU的功能:地址形成、取指令、指令排的功能:地址形成、取指令、指令排队、读队、读/写操作写操作(cozu)(cozu)数和总线控制。所有与外部的数和总线控制。所有与外部的操作操作(cozu)(cozu)由其完成。由其完成。指令执行部件指令执
12、行部件EUEU的功能:指令译码,执行指令。的功能:指令译码,执行指令。第十一页,共144页。*12128086CPU的寄存器有通用寄存器组、指针和变址寄存器、段寄存器、指令指针寄存器及标志位寄存器PSW。4个16位通用寄存器,它们(t men)分别是AX,BX,CX,DX,用以存放16位数据或地址。也可分为8个8位寄存器来使用,低8位是AL、BL、CL、DL,高8位是AH、BH、CH、DH,只能存放8位数据,不能存放地址。2.8086CPU中有哪些中有哪些(nxi)寄存器?各有什么用寄存器?各有什么用途?途?第十二页,共144页。*1313指针和变址寄存器存放的内容是某一段内地址偏移量,指针和
13、变址寄存器存放的内容是某一段内地址偏移量,指针和变址寄存器存放的内容是某一段内地址偏移量,指针和变址寄存器存放的内容是某一段内地址偏移量,用来形成操作数地址,主要在堆栈操作和变址运算中使用来形成操作数地址,主要在堆栈操作和变址运算中使用来形成操作数地址,主要在堆栈操作和变址运算中使用来形成操作数地址,主要在堆栈操作和变址运算中使用。用。用。用。段寄存器给出相应逻辑段的首地址,称为段寄存器给出相应逻辑段的首地址,称为段寄存器给出相应逻辑段的首地址,称为段寄存器给出相应逻辑段的首地址,称为“段基址段基址段基址段基址”。段基址与段内偏移地址结合形成段基址与段内偏移地址结合形成段基址与段内偏移地址结合
14、形成段基址与段内偏移地址结合形成2020位物理地址。位物理地址。位物理地址。位物理地址。指令指针寄存器用来存放将要执行的下一条指令指针寄存器用来存放将要执行的下一条指令指针寄存器用来存放将要执行的下一条指令指针寄存器用来存放将要执行的下一条(y tio)(y tio)指指指指令在现行代码中的偏移地址。令在现行代码中的偏移地址。令在现行代码中的偏移地址。令在现行代码中的偏移地址。1616位标志寄存器位标志寄存器位标志寄存器位标志寄存器PSWPSW用来存放运算结果的特征,常用作用来存放运算结果的特征,常用作用来存放运算结果的特征,常用作用来存放运算结果的特征,常用作后续条件转移指令的转移控制条件。
15、后续条件转移指令的转移控制条件。后续条件转移指令的转移控制条件。后续条件转移指令的转移控制条件。第十三页,共144页。*1414比较两数是否相等?比较两数是否相等?将两数相减,当全零标志位将两数相减,当全零标志位ZF=1ZF=1时,说明两数相等,时,说明两数相等,当当ZF=0ZF=0时,两数不等。时,两数不等。两数运算两数运算(yn sun)(yn sun)后结果是正数还是负数?后结果是正数还是负数?用符号标志位用符号标志位SFSF来判断,来判断,SF=1SF=1,为负数;,为负数;SF=0SF=0,为,为正数。正数。5.要完成下述运算或控制要完成下述运算或控制(kngzh),用什么标志,用什
16、么标志位判断?其值是什么?位判断?其值是什么?第十四页,共144页。*1515两数相加后是否溢出?两数相加后是否溢出?用溢出标志位来判断,用溢出标志位来判断,OF=1OF=1,产生溢出;,产生溢出;OF=0OF=0,没,没有溢出。有溢出。采用采用(ciyng)(ciyng)偶校验方式。判定是否要补偶校验方式。判定是否要补“1”“1”?用奇偶校验标志位判断,有偶数个用奇偶校验标志位判断,有偶数个“1”“1”时,时,PF=1PF=1,不需,不需要补要补“1”“1”;有奇数个;有奇数个“1”“1”时,时,PF=0PF=0,需要补,需要补“1”“1”。第十五页,共144页。*1616(5)两数相减后比
17、较大小?ZF=1时,说明两数是相等的;ZF=0时:无符号数时,CF=0,被减数大;CF=1,被减数小。带符号数时,SF=OF=0或SF=OF=1,被减数大;SF=1,OF=0或SF=0,OF=1,被减数小。(6)中断信号能否允许?用中断标志位来判断,IF=1,允许CPU响应(xingyng)可屏蔽中断;IF=0,不响应(xingyng)。第十六页,共144页。*171780868086存储器采用分体式结构:偶地址存储器采用分体式结构:偶地址(dzh)(dzh)存储体和奇存储体和奇地址地址(dzh)(dzh)存储体,各为存储体,各为512k512k。用用A0A0和和BHEBHE来选择存储体。当来
18、选择存储体。当A0=0A0=0时,访问偶地址时,访问偶地址(dzh)(dzh)存储体;当存储体;当BHE=0BHE=0时,访问奇地址时,访问奇地址(dzh)(dzh)存储体;存储体;当当A0=0A0=0,BHE=0BHE=0时,访问两个存储体。时,访问两个存储体。6.8086系统系统(xtng)中存储器采用什么结构?中存储器采用什么结构?用什么信号来选中存储体?用什么信号来选中存储体?第十七页,共144页。*18189.实模式下,段寄存器装入如下实模式下,段寄存器装入如下(rxi)数据,数据,写出每段的起始和结束地址。(未布置!)写出每段的起始和结束地址。(未布置!)a)1000Ha)1000
19、H 10000H1FFFFH1FFFFHb)1234Hb)1234H 12340H 12340H2233FHc)2300Hc)2300H 23000H32FFFH32FFFHd)E000H E0000H E0000HEFFFFHEFFFFHe)AB00He)AB00H AB000HBAFFFHBAFFFH第十八页,共144页。*191910.在实模式在实模式(msh)下对下列下对下列CS:IP的组合,求的组合,求出要执行的下一条指令的存储器地址。出要执行的下一条指令的存储器地址。a)CS:IP=1000H:2000H a)CS:IP=1000H:2000H 12000Hb)CS:IP=2000
20、H:1000H 21000H21000Hc)CS:IP=1A00H:B000H 25000H25000Hd)CS:IP=3456H:AB09H 3F069H 3F069H第十九页,共144页。*202011.实模式下,求下列寄存器组合实模式下,求下列寄存器组合(zh)所寻址的所寻址的存储单元地址:存储单元地址:a)DS=1000H,DI=2000H 12000Hb)SS=2300H,BP=3200H 26200Hc)DS=A000H,BX=1000Hc)DS=A000H,BX=1000H A1000Hd)SS=2900H,SP=3A00Hd)SS=2900H,SP=3A00H 2CA00H第二
21、十页,共144页。*2121 12.若当前SS3500H,SP0800H,说明堆栈段在存储器中的物理地址,若此时(c sh)入栈10个字节,SP内容是什么?若再出栈6个字节,SP为什么值?堆栈段的物理地址范围:35000H44FFFH当前栈顶的物理地址为:35000H+0800H=35800H入栈10个字节以后:SP=0800H-000AH=07F6H出栈6个字节以后:SP=07F6H+0006H=07FCH第二十一页,共144页。*2222 13.某程序数据段中存放了两个字,某程序数据段中存放了两个字,1EE5H和和2A8CH,已知,已知DS7850H,数据存放的偏移地址,数据存放的偏移地址
22、为为3121H及及285AH。试画图说明它们在存储器中的。试画图说明它们在存储器中的存放情况。若要读取这个存放情况。若要读取这个(zh ge)两个字,需要对两个字,需要对存储器进行几次操作?存储器进行几次操作?第二十二页,共144页。*2323它们的物理地址分别是:78500H+3121H=7B621H,78500H+285AH=7AD5AH。1EE5H的偏移地址是3121H,是奇地址,需要进行(jnxng)两次操作;2A8CH的偏移地址是285AH,是偶地址,需要一次操作。第二十三页,共144页。*2424最小模式最小模式(msh)(msh)为单机系统,系统中所需要的控制为单机系统,系统中所
23、需要的控制信号由信号由CPUCPU提供,实现和存储器及提供,实现和存储器及I/OI/O接口电路的连接口电路的连接。接。15.说明说明(shumng)8086系统中系统中“最小模式最小模式”和和“最大模式最大模式”两种工作方式的主要区别是什么?两种工作方式的主要区别是什么?第二十四页,共144页。*2525最大模式可以构成多处理器/协处理器系统,即一个系统中存在两个以上微处理器,每个处理器执行自己的程序。系统中所需要的控制信号由总线控制器8288提供,8086CPU提供信号控制8288,以实现全局资源分配及总线控制权传递。在两种模式中,CPU的2431引脚意义(yy)不同。最小模式中引脚MN/M
24、X接5V,最大模式中该引脚接地。第二十五页,共144页。*2626CPU与存储器(或者I/O端口)进行数据交换时,CPU首先要送出地址信号,然后再发出控制信号及传送数据。由于8086引脚的限制,地址和数据分时复用(f yn)一组总线,所以要加入地址锁存器,先锁存地址,使在读/写总线周期内地址稳定。16.8086系统中为什么要用地址系统中为什么要用地址(dzh)锁存器锁存器?8282地址地址(dzh)锁存器与锁存器与CPU如何连接?如何连接?第二十六页,共144页。*27278282是三态缓冲的8位数据交换锁存器,由选通信(tng xn)号STB与CPU的地址锁存允许信号ALE相连,当STB端选
25、通信(tng xn)号出现,8位输入数据锁存到8个D触发器中。中断允许(ynx)标志位IF控制INTR引脚的中断输入。17.哪个哪个(n ge)标志位控制标志位控制CPU的的INTR引脚?引脚?第二十七页,共144页。*2828总线周期:总线周期:BIU完成一次访问完成一次访问(fngwn)存储器或存储器或I/O端口操作所需要的时间。端口操作所需要的时间。读总线周期,在读总线周期,在T3或或TW状态数据出现在数据总线上;状态数据出现在数据总线上;写总线周期,在写总线周期,在T2状态数据出现在数据总线上。状态数据出现在数据总线上。18.什么叫总线周期?在什么叫总线周期?在CPU读读/写总线周期中
26、,写总线周期中,数据数据(shj)在哪个机器状态出现在数据在哪个机器状态出现在数据(shj)总线上?总线上?第二十八页,共144页。*292920.8086CPU重新启动后,从何处重新启动后,从何处(h ch)开始开始执行指令?执行指令?从内存的从内存的FFFF0HFFFF0H开始执行开始执行(zhxng)(zhxng)指令。指令。21.8086CPU最小模式最小模式(msh)系统配置包括哪几系统配置包括哪几部分?部分?包括时钟发生器、地址锁存器、数据收发器、存储器包括时钟发生器、地址锁存器、数据收发器、存储器及及I/OI/O接口。接口。第二十九页,共144页。*3030 补充题1:已知段地址
27、和偏移(pin y)地址分别为2015H和0028H,此存储单元的物理地址是什么?存储单元的物理地址:20150H+0028H=20178H 补充(bchng)题2:若CSA000H,求当前代码在存储器中的物理地址范围是什么?若数据段位于52000H到61FFFH的64K范围内,问DS=?物理地址范围:A0000HAFFFFH,DS=5200H。第三十页,共144页。18 18 十一月十一月 2022 2022第三章作业第三章作业(zuy)习题课习题课微机(wi j)原理与接口技术AUSTAUST-School of Electrical and Information Engineering
28、 School of Electrical and Information Engineering Mr.ZHAOMr.ZHAO第三十一页,共144页。18 18 十一月十一月 2022 20222.DS=1000H,BX=0200H,SI=0002H2.DS=1000H,BX=0200H,SI=0002H (10200H10205H)10200H10205H)依次依次(yc)(yc)存有存有10H,2AH,3CH,46H,59H,6BH10H,2AH,3CH,46H,59H,6BH(1 1)MOV AX,0200H ;AX=0200MOV AX,0200H ;AX=0200(2 2)MOV
29、AX,200H MOV AX,200H 物理地址物理地址=1000H10H+0200H=10200H,=1000H10H+0200H=10200H,AX=2A10HAX=2A10H(3 3)MOV AX,BX ;AX=0200HMOV AX,BX ;AX=0200H(4 4)MOV AX,3BX MOV AX,3BX 物理地址物理地址=1000H10H+0200H+3H=10203H,AX=5946H=1000H10H+0200H+3H=10203H,AX=5946H(5 5)MOV AX,BX+SIMOV AX,BX+SI 物理地址物理地址=1000H10H+0200H+2H=10202H,
30、AX=463CH=1000H10H+0200H+2H=10202H,AX=463CH(6 6)MOV AX,2BX+SIMOV AX,2BX+SI 物理地址物理地址=1000H10H+200H+2H+2H=10204H,AX=6B59H=1000H10H+200H+2H+2H=10204H,AX=6B59H第三十二页,共144页。18 18 十一月十一月 2022 20223.DS=1000H,ES=2000H,SS=3500H,3.DS=1000H,ES=2000H,SS=3500H,SI=00A0H,DI=0024H,BX=0100H,BP=0200H,VAL=0030H SI=00A0H
31、,DI=0024H,BX=0100H,BP=0200H,VAL=0030H (1 1)MOV AX,MOV AX,100H 100H 直接寻址方式直接寻址方式(fngsh)(fngsh),10100H 10100H 物理地址物理地址DS10H+100H=10000H+0100H=10100HDS10H+100H=10000H+0100H=10100H(2 2)MOV AX,MOV AX,VAL VAL 直接寻址方式直接寻址方式(fngsh)(fngsh),10030H 10030H 物理地址物理地址DS10H+VAL=10000H+0030H=10030H DS10H+VAL=10000H+0
32、030H=10030H(3 3)MOV AX,MOV AX,BXBX 寄存器间接寻址,寄存器间接寻址,10100H 10100H 物理地址物理地址DS10H+BX=10000H+0100H=10100H DS10H+BX=10000H+0100H=10100H (4 4)MOV AX,MOV AX,ES:BX ES:BX 寄存器间接寻址,寄存器间接寻址,20100H 20100H 物理地址物理地址ES10H+BX=20000H+0100H=20100H ES10H+BX=20000H+0100H=20100H(5 5)MOV AX,MOV AX,SISI 寄存器间接寻址,寄存器间接寻址,100
33、A0H100A0H物理地址物理地址=DS10H+SI=10000H+00A0H=100A0H=DS10H+SI=10000H+00A0H=100A0H第三十三页,共144页。18 18 十一月十一月 2022 2022(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 寄存器间接寄存器间接(jin ji)(jin j
34、i)寻址,寻址,35200H35200H物理地址物理地址=SS10H+BP=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相对基址变址寻址,相对基
35、址变址寻址,10154H10154H物理地址物理地址=DS10H+BX+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=35224H第三十四页,共144页。5.第三十五页,共144页。18 18 十一月十
36、一月 2022 20226 6(1 1)MOVMOVDL,DL,AXAX 错,寄存器寻址方式中,目的操作数与源操作数长度必须错,寄存器寻址方式中,目的操作数与源操作数长度必须(bx)(bx)一一致致(2 2)MOV MOV 8650H,8650H,AX AX 错,目的操作数不可以是立即数错,目的操作数不可以是立即数(3 3)MOVMOVDS,DS,0200H0200H 错,错,MOVMOV指令不允许将立即数传入段寄存器指令不允许将立即数传入段寄存器(4 4)MOVMOVBX,BX,1200H1200H 错错,MOV,MOV指令的两个操作数不能同时为存储器指令的两个操作数不能同时为存储器(5 5
37、)MOVMOVIP,IP,0FFH0FFH 错错,IP,IP不能作为不能作为MOVMOV指令的目的操作数指令的目的操作数(6 6)MOVMOVBX+SI+3,BX+SI+3,IPIP 错错,IP,IP不能作为不能作为MOVMOV指令的源操作数指令的源操作数(7 7)MOVMOVAX,AX,BXBPBXBP 错,错,BXBX与与BPBP不可以同时出现在源操作数当中不可以同时出现在源操作数当中(8 8)MOVMOVAL,AL,ES:BP ES:BP 对对第三十六页,共144页。18 18 十一月十一月 2022 2022(9 9)MOVMOVDL,DL,SIDISIDI 错,错,SISI与与DID
38、I是两个变址寄存器,不可以同时出现在源操作数中。是两个变址寄存器,不可以同时出现在源操作数中。(1010)MOVMOV AX,AX,OFFSET 0A20HOFFSET 0A20H 错,错,OFFSETOFFSET后面跟的应该是符号地址,再把符号地址的值作为操后面跟的应该是符号地址,再把符号地址的值作为操作数。作数。(1111)MOVMOV AL,AL,OFFSET TABLEOFFSET TABLE 错,错,TABLETABLE的偏移地址是的偏移地址是1616位,目的与源长度不一致位,目的与源长度不一致(1212)XCHGXCHGAL,AL,50H50H 错,交换指令可以在寄存器之间,寄存器
39、和存储器之间进行,不可错,交换指令可以在寄存器之间,寄存器和存储器之间进行,不可以是立即以是立即(lj)(lj)数。数。(1313)ININBL,BL,05H05H 错错,BL,BL不能作为不能作为ININ指令的目的操作数指令的目的操作数,只能用只能用ALAL或或AXAX(1414)OUTOUT AL,AL,0FFEH0FFEH 错,端口地址错,端口地址0FFEHFFH,0FFEHFFH,应用应用DXDX间接寻址间接寻址,同时源操作数和目标同时源操作数和目标操作数的位置颠倒了操作数的位置颠倒了,应改为应改为OUT DX,ALOUT DX,AL。第三十七页,共144页。7.第三十八页,共144页
40、。18 18 十一月十一月 2022 20228.SS=1050H,SP=0100H,AX=4860H,BX=1287H8.SS=1050H,SP=0100H,AX=4860H,BX=1287H48H48H60H60H1050H:00FEH1050H:00FEHSPSP(a)(a)执行执行PUSH AXPUSH AX后后1050H:00FCH1050H:00FCH48H48H60H60H12H12H87H87HSPSP(b)(b)执行执行PUSH BXPUSH BX后后1050H:00FEH1050H:00FEH87H87H12H12H60H60H48H48HSPSP(c)(c)执行执行POP
41、 BXPOP BX后后1050H:0100H1050H:0100H87H87H12H12H60H60H48H48HSPSP(d)(d)执行执行POP AXPOP AX后后第三十九页,共144页。*404010.AX=2508H10.AX=2508H,BX=0F36HBX=0F36H,CX=0004HCX=0004H,DX=1864HDX=1864H(1 1)ANDANDAH,AH,CLCLAH=04HAH=04H,CF=0CF=0;(;(0010 0101B0010 0101B与与0000 0100B0000 0100B)(2 2)ORORBL,BL,30H30HBL=36HBL=36H,CF
42、=0CF=0;(;(0011 0110B0011 0110B或或0011 0000B0011 0000B)(3 3)NOTNOTAXAXAX=DAF7HAX=DAF7H,CFCF无影响;(无影响;(0010 0101 0000 1000B0010 0101 0000 1000B取反后取反后1101 1010 1111 0111B1101 1010 1111 0111B)(4 4)XORXORCX,CX,0FFF0H0FFF0HCX=FFF4HCX=FFF4H,CF=0CF=0;(;(0000 0000 0000 0100B0000 0000 0000 0100B和和1111 1111 1111
43、 1111 1111 0000B1111 0000B异或后异或后1111 1111 1111 0100B1111 1111 1111 0100B)(5 5)TESTTEST DH,DH,0FH0FHTESTTEST操作并不修改操作并不修改(xigi)(xigi)结果,结果,CF=0CF=0;第四十页,共144页。*4141(6 6)CMPCMP CX,CX,00H00HCMPCMP操作操作(cozu)(cozu)并不修改结果,并不修改结果,CF=0CF=0;(7 7)SHRSHR DX,DX,CLCLDX=0186HDX=0186H,CF=0CF=0;(8 8)SARSARAL,AL,1 1A
44、H=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 1000B 0010 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=0CF=0。(1212)RORROR DX,D
45、X,CLCLDX=4186HDX=4186H,CF=0CF=0。第四十一页,共144页。*424211.DATA11.DATASEGMENTSEGMENT STRING DB The personal computer&TVSTRING DB The personal computer&TV DATA ENDS DATA ENDSEDATA SEGMENTEDATA SEGMENTGET_CHARGET_CHARDBDB26DUP(?)26DUP(?)NEW_STRNEW_STRDBDBThe computerThe computer EDATA ENDS EDATA ENDS (1)(1)M
46、OV MOV SI,SI,OFFSET STRINGOFFSET STRING MOV MOV DI,DI,OFFSET GET_CHAROFFSET GET_CHAR MOV MOV CX,CX,001AH001AH CLDCLD REPREPMOVSBMOVSB第四十二页,共144页。*4343(2)(2)MOVMOVSI,SI,OFFSET STRINGOFFSET STRING MOVMOVDI,DI,OFFSET NEW_STROFFSET NEW_STR MOV CX,MOV CX,001AH001AH CLDCLD REPZREPZ CMPSBCMPSB;DS:SI-ES:DID
47、S:SI-ES:DI JNEJNECLR_ALCLR_AL MOVMOVAL,AL,1 1 JMP SET_BLJMP SET_BL CLR_AL:CLR_AL:MOVMOV AL,AL,0 0 SET_BL:SET_BL:MOVMOVBL,BL,001AH001AHSUBSUBBL,BL,CLCLHLTHLT第四十三页,共144页。*4444(3 3)MOVMOVDI,DI,OFFSETOFFSETSTRINGSTRING MOVMOVCX,CX,001AH001AH MOVMOVAL,AL,&CLDCLDL1:L1:SCASBSCASB;AL-ES:DIAL-ES:DI JZ FINDJZ
48、 FINDNEXT:NEXT:LOOPLOOP L1L1HLTHLTFIND:FIND:MOV BL,MOV BL,MOV DI-1,MOV DI-1,BLBL;用空格用空格(kn)(kn)替换替换&JMPJMPNEXTNEXT第四十四页,共144页。*4545(4 4)MOV MOV SI,SI,OFFSET STRINGOFFSET STRING;数据段,源串;数据段,源串 MOV MOV DI,DI,OFFSET CAPSOFFSET CAPS;附加段,大写字符;附加段,大写字符 MOV MOV BX,BX,OFFSET CHARTOFFSET CHART;附加段,其它字符;附加段,其它
49、字符 MOV MOV CX,CX,001AH001AH CLDCLD L1:L1:LODSB LODSB;ALDS:SIALDS:SIMOVMOVSI-1,SI-1,00H00H;取出字符后该单元取出字符后该单元(dnyun)(dnyun)清清零零 CMPCMPAL,AL,AA JBJBOTHEROTHER CMPCMPAL,AL,ZZJAJAOTHEROTHERSTOSBSTOSB;存大写字符存大写字符JMPJMPL2L2 OTHER:OTHER:XCHGXCHGBX,BX,DIDI;存其它字符存其它字符 STOSBSTOSB XCHG BX,XCHG BX,DIDI L2:L2:LOOPL
50、OOPL1L1 HLT HLT 第四十五页,共144页。12.第四十六页,共144页。*474713.(1)JMP13.(1)JMP PROG_NPROG_N 段内直接段内直接(zhji)(zhji)近转移,目的地址为近转移,目的地址为1200H:0278H(1200H:0278H(或或12278H)12278H)(2)JMP (2)JMPBXBX 段内寄存器间接转移,目的地址为段内寄存器间接转移,目的地址为1200H:0300H(1200H:0300H(或或12300H)12300H)(3)JMP (3)JMPBXBX 物理地址物理地址DS10H+BX=2000H10H+0300H=2030