微计算机原理(第2版)第三章课后习题答案解析
- 格式:doc
- 大小:113.50 KB
- 文档页数:17
微型计算机原理和接口技术第三章课后答案本文回答了微型计算机原理和接口技术第三章的课后题目,涵盖了数字逻辑电路、组合逻辑电路、时序逻辑电路和存储器等内容。
1. 数字逻辑电路1.1. 逻辑电路和数字逻辑电路的基本概念逻辑电路是由逻辑门(与门、或门、非门等)和触发器等基本逻辑元件组合而成的电路。
数字逻辑电路是逻辑电路在数字系统中的应用,主要用于实现数字信号的逻辑运算和信号的转换等功能。
1.2. 数字逻辑门电路的组合和简化数字逻辑电路中常见的逻辑门有与门(AND)、或门(OR)、非门(NOT)等。
这些逻辑门可以通过组合和简化来构造更复杂的逻辑电路,例如与非门(NAND)、或非门(NOR)等。
1.3. 数字逻辑电路的时序特性数字逻辑电路的时序特性主要包括延迟时间、上升时间和下降时间等。
延迟时间表示信号经过电路的传播所需的时间,上升时间和下降时间表示信号从一个逻辑状态到另一个逻辑状态所需的时间。
2. 组合逻辑电路2.1. 组合逻辑电路的定义和特点组合逻辑电路是由多个逻辑门组合而成的电路,输入信号直接决定输出信号,不涉及时钟信号和状态存储。
2.2. 组合逻辑电路的设计方法组合逻辑电路的设计方法主要有真值表法、卡诺图法和特征方程法。
真值表法通过列出输入输出的真值表来进行设计,卡诺图法通过画出卡诺图进行化简,特征方程法通过建立逻辑方程进行设计。
2.3. 组合逻辑电路的应用组合逻辑电路广泛应用于数字系统中,包括逻辑运算、数据选择、数据的编码和解码等功能。
3. 时序逻辑电路3.1. 时序逻辑电路的定义和特点时序逻辑电路是由触发器和组合逻辑电路组合而成的电路,通过时钟信号来控制触发器的状态转换。
时序逻辑电路具有状态存储的功能,可以实现存储和记忆功能。
3.2. 触发器和时序逻辑电路的设计方法触发器是时序逻辑电路的基本组件,常见的触发器包括SR 触发器、D触发器和JK触发器等。
时序逻辑电路的设计方法主要是通过状态转换图、状态转移表和重建方程等方法进行设计。
习题31.假定(DS)=2000H,(ES)=2100H,(SS)=1500H,(SI)=00A0H,(BX)=0100H,(BP)=0010H,数据变量V AL的偏移地址为0050H,请指出下列指令原操作数是什么寻址方式,其物理地址是多少?(1)MOV AX, 0ABH (2) MOV AX, [100H](3) MOV AX, V AL (4) MOV BX, [SI](5) MOV AL, V AL[BX] (6) MOV CL, [BX][SI](7) MOV V AL[SI], BX (8) MOV [BP][SI], 100答:(1) 立即数寻址,无物理地址(2) 直接寻址,物理地址=2000H×10H+100H=20100H(3) 直接寻址,物理地址=2000H×10H+0050H=20050H(4) 寄存器间接寻址,物理地址=2000H×10H+00A0=200A0H(5) 相对寄存器寻址,物理地址=2000H×10H+(0050+0100H)=20150H(6) 基址加变寻址,物理地址=2000H×10H+(0100H+00A0H)=201A0H(7) 寄存器寻址,无物理地址(8) 立即数寻址,无物理地址2.已知(SS)=0FFA0H,(SP)=00B0H,先执行两条把8057H和0F79H分别进栈的PUSH指令,再执行一条POP指令,试画出堆栈区和SP内容变化的过程示意图。
答:“8057H”进栈,则SP自动从00B0H指向00B2H,“0F79H”进栈,则SP 自动从00B2H指向00B4H;执行一条POP指令,“0F79H”被弹出栈,SP从00B4H 指向00B2H。
图略。
3.设有关寄存器及存储单元的内容如下:(DS)=2000H, (BX)=0100H, (AX)=1200H, (SI)=0002H, (20100H)=12H, (20101H)=34H, (20102H)=56H, (20103H)=78H, (21200H)=2AH, (21201H)=4CH, (21202H)=0B7H, (21203H)=65H.试说明下列各条指令单独执行后相关寄存器或存储单元的内容。
第三章课后题答案注:存储单元或寄存器名用“()”,表示存储单元或寄存器的内容寄存器名用“[]”,表示寄存器内容为一个内存单元的地址习题答案:1、指出指令中源操作数的寻址方式1)立即数寻址2)直接寻址3)寄存器间接寻址4)寄存器相对寻址5)寄存器寻址6)基址变址相对寻址7)寄存器寻址8)段内间接寻址9)端口间接寻址10)寄存器相对寻址11)立即数寻址12)立即数寻址2、指令是否正确,若不正确说明原因1)错误,立即数不能直接传送到段寄存器,可以用MOV AX,0100H MOVDS,AX两条指令实现2)错误,数据类型不匹配源操作数字节操作,目的操作数字操作数3)正确4)错误,端口地址>0FFH时,必须使用端口间接寻址方式。
可以用下两条指令实现:MOV DX,310H OUT DX,AL5)正确6)正确7)错误,没有同时用两个变址寄存器寻址内存单元的指令。
8)正确允许段超越9)错误,数据类型不匹配10)错误,BP不能作为间址寄存器11)正确12)错误,立即数不能作为目的操作数13)错误,堆栈指令不能用立即数14)错误,不能在两个内存单元之间直接用MOV指令传送数据。
15)错误,数据类型不匹配16)正确17)错误,CS段寄存器不能做目的操作数18)错误,没有指明操作数类型是字还是字节19)错误,端口间接寻址时,间址寄存器只能是DX不能是其它寄存器20)错误,移位指令和循环指令当操作次数大于1时,只能用CL存储操作次数。
21)错误,交换指令中不能用段寄存器22)错误,堆栈操作只能是字类型3、写出物理地址的计算表达式1)PA= (DS) * 10H + (DI)2)PA= (DS) * 10H + (BX) + (SI)3)PA= (DS) * 10H + (BX) + (DI) +54)PA= (ES) * 10H + (BX)5)PA= (DS) * 10H + 1000H6)PA= (DS) * 10H + (BX)+(DI)+2000H7)PA= (SS) * 10H + (BP)+(SI)8)PA= (DS) * 10H + (DI)4、计算物理地址1)PA= (DS) * 10H + (BX)=30000H+2000H=32000H2)PA= (DS) * 10H + (BX)+(SI)+1000H=30000H+2000H+0100H+1000H=33100H3)PA= (DS) * 10H + (BX)+(SI)=32100H4)PA= (ES) * 10H + (BX)=40000H+2000H=42000H5、代码段可寻址的空间范围:0E0000H~0EFFFFH6、(SP)=1FFEH,(AX)=5000H, (BX)=5000H7、两条指令的相同点:同为减法指令,均执行(AX)-09H操作;不同点:SUB指令有返回结果,而CMP指令没有返回结果。
>第3章3.1:汇编语言有什么特点解:汇编语言是一种以处理器指令系统为基础的低级程序设计语言,它采用助记符表达指令操作码,采用标识符号表示指令操作数,可以直接、有效地控制计算机硬件,因而容易创建代码序列短小、运行快速的可执行程序3.2编写汇编语言源程序时,一般的组成原则是什么?解:(1)完整的汇编语言源程序由段组成(2)一个汇编语言源程序可以包含若干个代码段、数据段、附加段或堆栈段,段与段之间的顺序可随意排列(3)需独立运行的程序必须包含一个代码段,并指示程序执行的起始点,一个程序只有一个起始点(4)所有的可执行性语句必须位于某一个代码段内,说明性语句可根据需要位于任一段内(5)通常,程序还需要一个堆栈段3.3 MODEL伪指令是简化段定义源程序格式中必不可少的语句,它设计了哪7种存储模式?各用于创建什么性质的程序?解:3.4如何规定一个程序执行的开始位置,主程序执行结束应该如何返回DOS,源程序在何处停止汇编过程?解:开始位置:用标号指明返回DOS:利用DOS功能调用的4CH子功能来实现汇编停止:执行到一条END伪指令时,停止汇编3.5逻辑段具有哪些属性?解:段定位、段组合和段类型。
3.6给出采用一个源程序格式书写的例题3.1源程序例题3.1:创建一个在屏幕上显示一段信息的程序……解:stack segment stackdb 1024(0)stack endsdata segmentstring db 'Hello,Assembly!',0dH,0aH,‘$’data endscode segment 'code'assume cs:code,ds:data,ss:stackstart: mov dx,offset stringmov ah,9int 21hcode endsend start3.7DOS支持哪两种可执行程序结构,编写这两种程序时需要注意什么?解:(1). EXE程序程序可以有多个代码段和多个数据段,程序长度可以超过64KB通常生成EXE结构的可执行程序(2). COM程序只有一个逻辑段,程序长度不超过64KB需要满足一定条件才能生成COM结构的可执行程序(MASM 6.x需要采用TINY模式)3.8举例说明等价“EUQ”伪指令和等号“=”伪指令的用途解:符号定义伪指令有“等价EQU”和“等号=”:符号名 EQU 数值表达式符号名 EQU <字符串>符号名=数值表达式EQU用于数值等价时不能重复定义符号名,但“=”允许有重复赋值。
第三章80x86 指令系统3-1 指令由操作码字段和操作数字段组成。
8086的指令长度在1~6字节范围。
3-2 分别指出下列指令中源操作数和目的操作数的寻址方式。
若是存储器寻址,使用表达式表示出EA=?PA=?(1) MOV SI, 2100H (2) MOV CX, DISP[BX] (3) MOV [SI], AX(4) ADC ZX, [BX][SI] (5) AND AX, DX (6) MOV AX, [BX+10H](7) MOV AX, ES:[BX] (8)MOV AX, [BX+SI+20H] (9) MOV [BP], CX(10) PUSH DS解:源操作数寻址目的操作数寻址EA PA1) MOV SI, 2100H 立即数寻址寄存器————(2) MOV CX, DISP[BX] 寄存器相对寻址寄存器[BX+SISP] (DS)*16+(BX+DISP)(3) MOV [SI], AX 寄存器寻址寄存器间接[SI[ (DS)*16+(SI)(4) ADC ZX, [BX][SI] 基址变址寻址寄存器[BX+SI] (DS)*16+(BX)+(SI)(5) AND AX, DX 寄存器寻址寄存器————(6) MOV AX, [BX+10H] 寄存器相对寻址寄存器[BX+DISP] (DS)*16+(BX)+10H(7) MOV AX, ES:[BX] 带段超越寄存器寻址寄存器[BX] (ES)*16+(BX)(8)MOV AX, [BX+SI+20H] 相对基址变址寻址寄存器[BX+SI+20H] (DS)*16+(BX)+(SI)+20H(9) MOV [BP], CX 寄存器寻址寄存器间接[BP] (SS)*16+(BP)(10) PUSH DS 固定寻址寄存器[SP] (SS)*16+(SP)3-3 已知8086中一些寄存器的内容和一些存储器单元的内容如图3-1所示,试指出下列各条指令执行后,AX中的内容。
微机原理与接口技术(第二版)课后习题答案完整版标准化文件发布号:(9312-EUATWW-MWUB-WUNN-INNUL-DQQTY-习题11.什么是汇编语言,汇编程序,和机器语言答:机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。
汇编语言是面向及其的程序设计语言。
在汇编语言中,用助记符代替操作码,用地址符号或标号代替地址码。
这种用符号代替机器语言的二进制码,就把机器语言编程了汇编语言。
使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序。
2.微型计算机系统有哪些特点具有这些特点的根本原因是什么答:微型计算机的特点:功能强,可靠性高,价格低廉,适应性强、系统设计灵活,周期短、见效快,体积小、重量轻、耗电省,维护方便。
这些特点是由于微型计算机广泛采用了集成度相当高的器件和部件,建立在微细加工工艺基础之上。
3.微型计算机系统由哪些功能部件组成试说明“存储程序控制”的概念。
答:微型计算机系统的硬件主要由运算器、控制器、存储器、输入设备和输出设备组成。
“存储程序控制”的概念可简要地概括为以下几点:①计算机(指硬件)应由运算器、存储器、控制器和输入/输出设备五大基本部件组成。
②在计算机内部采用二进制来表示程序和数据。
③将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作,使计算机在不需要人工干预的情况下,自动、高速的从存储器中取出指令加以执行,这就是存储程序的基本含义。
④五大部件以运算器为中心进行组织。
4.请说明微型计算机系统的工作过程。
答:微型计算机的基本工作过程是执行程序的过程,也就是CPU自动从程序存放的第1个存储单元起,逐步取出指令、分析指令,并根据指令规定的操作类型和操作对象,执行指令规定的相关操作。
如此重复,周而复始,直至执行完程序的所有指令,从而实现程序的基本功能。
5.试说明微处理器字长的意义。
答:微型机的字长是指由微处理器内部一次可以并行处理二进制代码的位数。
第1章作业答案1.1 微处理器、微型计算机和微型计算机系统三者之间有什么不同?把CPU(运算器和控制器)用大规模集成电路技术做在一个芯片上,即为微处理器。
微处理器加上一定数量的存储器和外部设备(或外部设备的接口)构成了微型计算机。
微型计算机与管理、维护计算机硬件以及支持应用的软件相结合就形成了微型计算机系统。
1.2 CPU在内部结构上由哪几部分组成?CPU应该具备哪些主要功能?CPU主要由起运算器作用的算术逻辑单元、起控制器作用的指令寄存器、指令译码器、可编程逻辑阵列和标志寄存器等一些寄存器组成。
其主要功能是进行算术和逻辑运算以及控制计算机按照程序的规定自动运行。
1.3微型计算机采用总线结构有什么优点?采用总线结构,扩大了数据传送的灵活性、减少了连线。
而且总线可以标准化,易于兼容和工业化生产。
1.4数据总线和地址总线在结构上有什么不同之处?如果一个系统的数据和地址合用一套总线或者合用部分总线,那么要靠什么来区分地址和数据?数据总线是双向的(数据既可以读也可以写),而地址总线是单向的。
8086CPU为了减少芯片的引脚数量,采用数据与地址线复用,既作数据总线也作为地址总线。
它们主要靠信号的时序来区分。
通常在读写数据时,总是先输出地址(指定要读或写数据的单元),过一段时间再读或写数据。
第2章作业答案2.1 IA-32结构微处理器直至Pentillm4,有哪几种?80386、30486、Pentium、Pentium Pro、PeruiumII、PentiumIII、Pentium4。
2.6IA-32结构微处理器有哪几种操作模式?IA一32结构支持3种操作模式:保护模式、实地址模式和系统管理模式。
操作模式确定哪些指令和结构特性是可以访问的。
2.8IA-32结构微处理器的地址空间如何形成?由段寄存器确定的段基地址与各种寻址方式确定的有效地址相加形成了线性地址。
若末启用分页机制,线性地址即为物理地址;若启用分页机制,则它把线性地址转为物理地址。
微型计算机原理第三章80X86微处理器1.简述8086/8088CPU中BIU和EU的作用,并说明其并行工作过程。
答:(1)BIU的作用:计算20位的物理地址,并负责完成CPU与存储器或I/O端口之间的数据传送。
(2)EU的作用:执行指令,并为BIU提供所需的有效地址。
(3)并行工作过程:当EU从指令队列中取出指令执行时,BIU将从内存中取出指令补充到指令队列中。
这样就实现了取指和执行指令的并行工作。
2.8086/8088CPU内部有哪些寄存器?其主要作用是什么?答:8086/8088CPU内部共有14个寄存器,可分为4类:数据寄存器4个,地址寄存器4个,段寄存器4个和控制寄存器2个。
其主要作用是:(1)数据寄存器:一般用来存放数据,但它们各自都有自己的特定用途。
AX(Accumulator)称为累加器。
用该寄存器存放运算结果可使指令简化,提高指令的执行速度。
此外,所有的I/O指令都使用该寄存器与外设端口交换信息。
BX(Base)称为基址寄存器。
用来存放操作数在内存中数据段内的偏移地址,CX(Counter)称为计数器。
在设计循环程序时使用该寄存器存放循环次数,可使程序指令简化,有利于提高程序的运行速度。
DX(Data)称为数据寄存器。
在寄存器间接寻址的I/O指令中存放I/O端口地址;在做双字长乘除法运算时,DX与AX一起存放一个双字长操作数,其中DX存放高16位数。
(2)地址寄存器:一般用来存放段内的偏移地址。
SP(Stack Pointer)称为堆栈指针寄存器。
在使用堆栈操作指令(PUSH或POP)对堆栈进行操作时,每执行一次进栈或出栈操作,系统会自动将SP的内容减2或加2,以使其始终指向栈顶。
BP(Base Pointer)称为基址寄存器。
作为通用寄存器,它可以用来存放数据,但更经常更重要的用途是存放操作数在堆栈段内的偏移地址。
SI(Source Index)称为源变址寄存器。
SI存放源串在数据段内的偏移地址。
微机原理课后习题参考答案(总25页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--上册第一章P9微处理器、微型计算机、微型计算机系统的区别是什么答:(1)微型计算机中的运算器和控制器合起来称为中央处理器,也就是微处理器,又称微处理机。
(2)微型计算机是由cpu、主存储器、输入/输出接口电路和系统总线构成。
(3)微型计算机系统由微型计算机、输入/输出设备、外存储器、系统软件、电源、面板和机架等组成。
微型计算机由哪些基本部分构成微型计算机是由cpu、主存储器、输入/输出接口电路和系统总线构成。
说明CISC、RISC及其主要区别。
CISC是指复杂指令系统计算机,RISC是指精简指令系统计算机。
他们的区别在于不同的CPU设计理念和方法。
RISC指令系统仅包含哪些必要的经常使用的指令,不经常使用的功能,往往通过基本指令组合来完成。
完成特殊功能时效率比较低。
CISC的指令系统比较丰富,一些特殊功能都有相应的指令。
处理特殊任务效率较高。
RISC对存储器操作相对简单,使对存储器访问的控制简化;而CISC机器的存储器操作指令较多,对存储器的访问有更多的指令直接操作,要求的控制逻辑比较复杂。
RISC在一条指令执行的适当地方可以响应中断;而CISC机器是在一条指令执行结束后响应中断。
RISC CPU的电路构成比CISC CPU简单,因此面积小、功耗也更低;CISC电路CPU电路复杂,同水平比RISC CPU面积大、功耗大。
RISC CPU结构比较简单,布局紧凑规整,设计周期较短,比较容易采用一些并行计算的最新技术;CISC CPU结构复杂,设计周期长,技术更新难度大。
从使用角度看,RISC 微处理器结构简单,指令规整,性能容易把握,易学易用;CISC微处理器结构复杂,功能强大,实现特殊功能容易。
第二章8086CPU 由哪两大部分组成简述它们的主要功能。
总线接口部件BIU跟执行部件EU。
第三章 80x86 指令系统3-1 指令由操作码字段和操作数字段组成。
8086的指令长度在1~6字节范围。
3-2 分别指出下列指令中源操作数和目的操作数的寻址方式。
若是存储器寻址,使用表达式表示出EA=? PA=?(1) MOV SI, 2100H (2) MOV CX, DISP[BX] (3) MOV [SI], AX(4) ADC ZX, [BX][SI] (5) AND AX, DX (6) MOV AX, [BX+10H](7) MOV AX, ES:[BX] (8)MOV AX, [BX+SI+20H] (9) MOV [BP], CX(10) PUSH DS解:源操作数寻址目的操作数寻址EA PA1) MOV SI, 2100H 立即数寻址寄存器————(2) MOV CX, DISP[BX] 寄存器相对寻址寄存器[BX+SISP] (DS)*16+(BX+DISP)(3) MOV [SI], AX 寄存器寻址寄存器间接[SI[ (DS)*16+(SI)(4) ADC ZX, [BX][SI] 基址变址寻址寄存器[BX+SI] (DS)*16+(BX)+(SI)(5) AND AX, DX 寄存器寻址寄存器————(6) MOV AX, [BX+10H] 寄存器相对寻址寄存器[BX+DISP] (DS)*16+(BX)+10H(7) MOV AX, ES:[BX] 带段超越寄存器寻址寄存器[BX] (ES)*16+(BX)(8)MOV AX, [BX+SI+20H] 相对基址变址寻址寄存器[BX+SI+20H] (DS)*16+(BX)+(SI)+20H(9) MOV [BP], CX 寄存器寻址寄存器间接[BP] (SS)*16+(BP)(10) PUSH DS 固定寻址寄存器[SP] (SS)*16+(SP)3-3 已知8086中一些寄存器的内容和一些存储器单元的内容如图3-1所示,试指出下列各条指令执行后,AX中的内容。
(1)MOV AX, 2010H (2) MOV AX, BX (3) MOV AX, [1200H](4)MOV AX, [BX] (5) MOV AX, 1100H[BX] (6) MOV AX, [BX][SI](7)MOV AX, 1100H[BX+SI] (8) MOVLEA AX, [SI]解:(1)(AX)=2010H (2)(AX)=0100H (3)(AX)=4C2AH (4)(AX)=3412H (5)(AX)=4C2AH (6)(AX)=7856H (7)(AX)=65B7H (8)(AX)=0002H图3-13-4 已知(AX)=2040H,(DX)=380H,端口(PORT)=(80H)=1FH ,(PORT+1)=45H,执行下列指令后,指出结果等于多少? 解:(1)OUT DX, AL (0380H)=40H(2)OUT DX, AX (380H)=40H (381h)=20H (3)IN AL, PORT (AL)=1FH (4)IN AX, 80H (AX)=451FH (5)OUT PORT1, AL (PORT1)=40H (6)OUT PORT1, AX (PORT1)=2040H3-5 已知:(SS)=0A2F0H,(SP)=00C0H,(AX)=8B31H,(CX)=0F213,试画出下列指令执行到位置1和位置2时堆栈区和SP 指针内容的变化示意图。
图中应标出存储单元的实际地址PA 。
PUSH AXPUSH CX ;位置1 POPF ;位置2解:已知(SS)=0A2F0H ,指令顺序依次编号为①、②、,示意图如图所示:(SS)=0A2F0H0A2FBCH 13H ←②(SP)-4=00BCH (位置1) F2H0A2FBEH 31H ←①(SP )-2=00BEH ③(SP)+2=00BCH +0002H=00BEH (位置2) 8BH0A2FC0H(SP )=00C0HM30100H 12H30101H 34H30102H 56H30103H 78H …… …… 31200H 2AH 31201H 4CH 31202H B7H 31203H 65H CPU BX 0100H SI 0002H DS 3000H3-6 识别下列指令的正确性,对错误的指令,说明出错的原因。
(1)MOV DS, 100(2)MOV [1000H], 23H(3)MOV [1000H],[2000H](4)MOV DATA, 1133H(5)MOV 1020H, DX(6)MOV AX, [0100H+BX+BP](7)MOV CS, AX(8)PUSH AL(9)PUSH WORD PTR[SI](10)IN AL, [80H] (11)OUT CX, AL(12)IN AX, 380H(13)MOV CL, 3300H(14)MOV AX, 2100H[BP](15)MOV DS, ES(16)MOV IP, 2000H(17)PUSH CS(18)POP CS(19)LDS CS, [BX](20)MOV GAMMA, CS√解:(1)×,不能对段寄存器送立即数(2)×,存储单元类型不正确(3)×,MOV 不能实现两个存储单元间直接传送(4)×,段名不能作目的操作数(5)×,立即数不能作目的操作数(6)×,基址寄存器BX和BP只能使用其中一个(7)×,CS不能用作目的操作数(8)×,堆栈操作作为字操作AL应改为 AX(9)√(10)×,80H为输入端口号不加方括号(11)×,应输出到端口而不是通用寄存器(12)×,用DX做间址寄存器380H应存 DX(13)×,类型不匹配(14)√(15)×,两个段寄存器间不能直接传送(16)×,IP不能直接用作目的操作数(17)√(18)×,CS不能做目的操作数(19)×,目的操作数应是通用寄存器而不能是段寄存器CS(20)×,符号名不能作为目的操作数3-7 已知存储器数据段中的数据如图3-3所示。
阅读下列的两个程序段后,回答:1.每个程序段的运行结果是什么?2.两个程序段各占多少字节的内容,执行时间是多少?(1) LES SI, NUM1 MOV AX, [SI] ADD AX, 4[SI] MOV 8[SI], AX ADD SI, 2MOV AX, [SI] ADC AX, 4[SI] MOV 8[SI], AX (2)MOV AX, NUM1 ADD AX, NUM2 MOV SUM, AXMOV AX, NUM1+2 ADC AX, NUM2+2 MOV SUM+2, AX解:1、运行结果如下:(1) 0AC6863A0H (2) 0AC6863A02、时钟周期字节数(1) LES SI, NUM1 2+EA 2~4MOV AX, [SI] 10 3ADD AX, 4[SI] 9+EA 2~4MOV 8[SI], AX 10 3ADD SI, 2 4 3~4 MOV AX, [SI] 10 3 ADC AX, 4[SI] 9+EA 2~4 MOV 8[SI], AX 10 2~4(2) MOV AX, NUM1 10 3ADD AX, NUM2 9+EA 2~4MOV SUM, AX 9+EA 2~4MOV AX, NUM1+2 9+EA 2~4ADC AX, NUM2+2 9+EA 2~4 MOV SUM+2, AX 9+EA 2~4图3-3 3-8 已知数据如图3-3所示,数据的低位在前,按下列要求编写程序段: 1. 完成NUM1和单元NUM2两个字数据相加,和存放在NUM1中。
2. 完成NUM1单元开始的连续4个字节数据相加,和不超过一字节,存放SUM 单元。
3. 完成NUM1单元开始的连续8个字节数据相加,和16位数,放在SUM 和SUM+1两个单元(用循环)。
4. 完成NUM1和NUM2的双倍精度字数据相加,和放在NUM2开始的字单元中。
解: 1、CLCLEA SI, NUM1MOV AX, WORD PTR [SI] ADD AX, WORD PTR NUM2 MOV WORD PTR [SI], AX MOV AX, WORD PTR [SI+2] ADC AX, WORD PTR NUM2+2 MOV WORD PTR [SI+2], AX HLT2、LEA SI, NUM1 MOV AL, [SI] ADD AL, 1[SI] ADD AL, 2[SI] ADD AL, 3[SI] MOV SUM, AL HLT3、 CLCCLDLEA SI, NUM1MNUM1 48H DS41H 16H 28H NUM2 58H22H 52H 84H SUMMOV AH, 0MOV CX, 7XOR BH, BHAGA: MOV BL, 1[SI]ADC AX, BXINC SIDEC CXJNZ AGAMOV SUM, AXHLT4、LEA SI, NUM1LEA DI, NUM2MOV AX, [SI]ADD AX, [DI]MOV [DI], AXMOV AX, 2[SI]ADC AX, 2[DI]MOV 2[DI], AX3-9 已知的BCD数如图3-3所示,低位在前,按下列要求编写计算BCD数据(为组合型BCD)的程序段。
1.完成从NUM1单元开始的连续8个组合型BCD数相加,和(超过一字节)放在SUM和SUM+1两个单元中。
2.完成NUM1单元和NUM2单元的两个BCD数相减,其差存入SUM单元,差=?,(CF)=?解:1、CLCCLDLEA SI, NUM1MOV CX, 7MOV AH, 0MOV AL, [SI]AGA: INC SIADC AL,[SI]DAALOOP AGAMOV SUM, ALMOV SUM+1, AHHLT2、 CLCMOV AH, 0SUB AL, NUM2 DASMOV SUM, AL差=0F0H=-10H, CF=13-10 写出下列程序段完成的数学计算公式,并画出数据存放的示意图。
MOV AX, XMOV DX, X+2ADD AX, YADC DX, Y+2SUB AX, ZSBB DX, Z+2MOV W, AXMOV W+2, DX解:W=X+Y-Z,数据存放如图所示:3-11 已知数据如图3-3所示,低位在前,按下列要求编写程序段 1. NUM1和NUM2两个数据相乘(均为无符号数),乘积放在SUM 开始的单元。