微机原理第二版答案
微机原理与接口第二版(陈红卫版)参考答案及复习纲要

第一章1.将下列十进制数转换成二进制数。
(1)49 (2)49.75 (3)100 (4)100.8125解:(1)(49)10=(110001)2(2)(49.75)10=(110001.11)2(3)(100)10=(1100100)2(4)(100.8125)10=(1100100.1101)22.将下列十六进制数转换成二进制数和十进制数。
(1)FAH (2)78A2H (3)FFFFH (4)3CH解:(1)(FA)16=(11111010)2=(250)10(2)(78A2)16=(111100010100010)2=(30882)10(3)(FFFF)16=(1111111111111111)2=(65535)10(4)(3C)16=(111100)2=(60)103.将下列二进制数转换成十六进制数和八进制数。
(1)101101.11 (2)1111111 (3)1101001011.01 (4)10111101解:(1)(101101.11)2=(2D.C)16=(55.6)8(2)(1111111)2=(7F)16=(177)8(3)(1101001011.01)2=(34B.4)16=(1513.2)8(4)(10111101)2=(BD)16=(275)84.设机器字长为8位,写出下列各二进制数的原码、反码和补码。
(1)+1010101 (2)-1000000 (3)+1111111 (4)-1111111解:(1)原码:01010101;反码:01010101;补码:01010101。
(2)原码:11000000;反码:10111111;补码:11000000。
(3)原码:01111111;反码:01111111;补码:01111111。
(4)原码:11111111;反码:10000000;补码:10000001。
5.设下列四组为8位二进制补码表示的十六进制数,计算a+b和a-b,并判断其结果是否溢出。
微机原理答案(第二版)

习题答案1-1解释和区别下列名词术语。
(1). 微处理器μP,微计算机μC,微处理器系统μPS。
(5). 位、字节、字和双字。
(7). RAM和ROM(8). I/O接口和I/O设备。
(9). 芯片总线、片总线、内总线和外总线。
答:(1). 把CPU的复杂电路,包括运算器和控制器作在一片或几片大规模集成电路的半导体芯片上,这种集成电路叫微处理器μP。
微处理器为核心,配上RAM、ROM,I/O接口及有关辅助电路组成的微型化的主计算机装置称为微计算机μC。
微处理器为核心构成的专用系统称为微处理器系统μPS。
(5)一个二进制的位称作位、8个相邻二进制位称作字节、2个字节称作字,2个字(4个字节)称作双字。
(7)能进行随即读写操作的存储器称作RAM。
只读存储器叫ROM。
(8)输入/输出接口电路称作I/O接口,通过I/O接口接入的外部设备如监视器,键盘、鼠标称作I/O设备。
(9)位于CPU芯片内部,用来实现CPU内部各功能单元电路之间的相互连接和信号的传递的总线叫芯片总线。
片总线是微计算机主板或单板微计算机上以CPU芯片为核心,芯片与芯片间连接的总线。
内总线指微计算机系统中实现插件板之间的连接的总线。
如IBM PC 的PC总线,PC-XT总线,PCI、ISA总线等等。
外总线用于系统之间的连接,完成系统与系统之间通信的总线。
如RS-232,IEE488、USB等等。
1-6 将下列十进制数转换为二进制数、十六进制数和BCD数(1)124.625(6)268.875解:(1)124=01111100B=7CH,0.625×16=10,所以0.625=0.AH=0.1010B∴124.625=7C.AH=01111100.1010B=000100100100.011000100101BCD(2)268=256+12=100001100B=10CH,0.875×16=14,∴0.875=0.EH=0.1110B.∴268.875=10C.EH=100001100.111B=001001101000.100001110101BCD1-7 用16位二进制数表示出下列十进制数的原码、反码和补码。
微机原理课后习题答案(机械工业出版社,第二版)[1]
![微机原理课后习题答案(机械工业出版社,第二版)[1]](https://img.taocdn.com/s3/m/8f97f71f6bd97f192279e9a6.png)
第1章计算机基础知识3. 填空:(1) (1234)10=( )2=( )16(2) (34.6875)10=( )2=( )16(3) (271.33)10=( )2=( )16(4) (101011001001)2=( )10=( )16(5) (1AB.E)16=( )10=( )2(6) (10101010.0111)2=( )10=( )16【解】(1) (1234)10=( 10011010010 )2=( 4D2 )16(2) (34.6875)10=( 100010.1011 )2=( 22.B )16(3) (271.33)10=( 100001111.010101 )2=( 10F.54 )16(4) (101011001001)2=( 2761 )10=( AC9 )16(5) (1AB.E)16=( 427.875 )10=(110101011.111 )2(6) (10101010.0111)2=( 170.4375 )10=( AA.7 )164. 已知X=36,Y=-136,Z=-1250,请写出X、Y、Z的16位原码、反码和补码。
【解】[X]原=0000 0000 0010 0100[Y]原=1000 0000 1000 1000[Z]原=1000 0100 1110 0010[X]反=0000 0000 0010 0100[Y]反=1111 1111 0111 0111[Z]反=1111 1011 0001 1101[X]补=0000 0000 0010 0100[Y]补=1111 1111 0111 1000[Z]补=1111 1011 0001 11105. 已知[X]补=01010101B,[Y]补=10101010B,[Z]补=1000111111111111B,求X、Y、Z及X+Y、Y-Z 的十进制值为多少?【解】Y-Z运算时Y需要扩展符号位X=85Y=-86Z=-28673X+Y=01010101B+10101010B=11111111B=-1Y-Z=11111111 10101010B-10001111 11111111B=11111111 10101010B+01110000 00000001B=0110 1111 1010 1011B=285877. 将下列十进制数表示为8421BCD码:(1) 8609 (2) 5254 (3) 2730 (4) 2998【解】 (1)1000 0110 0000 1001(2)0101 0010 0101 0100(3)0010 0111 0011 0000(4)0010 1001 1001 10008. 将下列8421BCD码表示为十进制数和二进制数:(1) 01111001 (2) 001010000101 (3) 011000000111 (4) 010*********【解】(1)79,1001111B(2)285,100011101B(3)607,1001011111B(4)590,1001001110B9. 将下列数值或字符串表示为相应的ASCII码:(1) 51 (2) 7FH (3) C6H (4) Computer (5) how are you?【解】(1)0110101 0110001(2)0110111 1100110 1101000(3)1100011 0110110 1101000(4)1100011 1101111 1101101 1110000 1110101 1110100 1100101 1110010(5)1101000 1101111 1110111 0100000 1100001 1110010 1100101 0100000 1111001 1101111 1110101 011111112. 微型计算机由哪几部分组成,各部分的功能是什么?【解】微型计算机由运算器、控制器、存储器、输入设备、输出设备五大部分组成。
存储器系统微机原理第2版课后答案

第六章存储器系统本章主要讨论内存储器系统,在介绍三类典型的半导体存储器芯片的结构原理与工作特性的基础上,着重讲述半导体存储器芯片与微处理器的接口技术。
6.1 重点与难点本章的学习重点是8088 的存储器组织;存储芯片的片选方法(全译码、部分译码、线选);存储器的扩展方法(位扩展、字节容量扩展) 。
主要掌握的知识要点如下:6.1.1 半导体存储器的基本知识1.SRAM DRAM EPROM和ROM勺区别RAM 的特点是存储器中信息能读能写,且对存储器中任一存储单元进行读写操作所需时间基本上是一样的,RAM中信息在关机后立即消失。
根据是否采用刷新技术,又可分为静态RAM( SRAM和动态RAM( DRAM两种。
SRAM是利用半导体触发器的两个稳定状态表示“ 1 ”和“ 0”;DRAM H利用MOS管的栅极对其衬间的分布电容来保存信息,以存储电荷的多少,即电容端电压的高低来表示“1”和“ 0”;ROM勺特点是用户在使用时只能读出其中信息,不能修改和写入新的信息;EPROM可由用户自行写入程序和数据,写入后的内容可由紫外线照射擦除,然后再重新写入新的内容,EPROI可多次擦除,多次写入。
一般工作条件下,EPROM 是只读的。
2.导体存储器芯片的主要性能指标( 1)存储容量:存储容量是指存储器可以容纳的二进制信息量,以存储单元的总位数表示,通常也用存储器的地址寄存器的编址数与存储字位数的乘积来表示。
(2)存储速度:有关存储器的存储速度主要有两个时间参数:TA:访问时间(Access Time),从启动一次存储器操作,到完成该操作所经历的时间。
TMC存储周期(MemoryCycle ), 启动两次独立的存储器操作之间所需的最小时间间隔。
(3)存储器的可靠性:用MTB—平均故障间隔时间(Mea n Time Between Failures ) 来衡量。
MTBF越长,可靠性越高。
( 4)性能/ 价格比:是一个综合性指标,性能主要包括存储容量、存储速度和可靠性。
微机原理第二版+田辉+课后答案

答:2 =1048576=1MB 习题1-1.微型计算机包括哪几个主要组成部分,各部分的基本功能是什么?答:微型计算机由CPU、存储器、输入/输出接口及系统总线组成。
CPU是微型计算机的核心部件,一般具有下列功能:进行算术和逻辑运算。
暂存少量数据。
对指令译码并执行指令所规定的操作。
与存储器和外设进行数据交换的能力。
提供整个系统所需要的定时和控制信号。
响应其他部件发出的中断请求;总线是计算机系统各功能模块间传递信息的公共通道,一般由总线控制器、总线发送器、总线接收器以及一组导线组成;存储器是用来存储数据、程序的部件;I/O接口是微型计算机的重要组成部件,在CPU 和外设之间起适配作用。
1-2.CPU 执行指令的工作过程。
答:取指令、执行指令。
指令执行的基本过程:(1)开始执行程序时,程序计数器中保存第一条指令的地址,指明当前将要执行的指令存放在存储器的哪个单元。
(2)控制器:将程序计数器中的地址送至地址寄存器MAR,并发出读命令。
存储器根据此地址取出一条指令,经过数据总线进入指令寄存器IR。
(3)指令译码器译码,控制逻辑阵列发操作命令,执行指令操作码规定的操作。
(4)修改程序计数器的内容。
1-3.果微处理器的地址总线为20 位,它的最大寻址空间为多少?201-4.处理器、微型计算机和微型计算机系统之间有什么关系?答:微处理器是微型计算机的核心部件。
微处理器配上存储器、输入/输出接口及相应的外设构成完整的微型计算机。
以微型计算机为主体,配上系统软件和外部设备以后,就构成了完整的微型计算机系统。
1-5.下面十进制数分别转换为二进制、八进制和十六进制数:128,65535,1024答:128,二进制:10000000B,八进制:200O,十六进制:80H65535,二进制:1111111111111111B,八进制:177777O,十六进制:FFFFH1024,二进制:10000000000B,八进制:2000O,十六进制:400H1-6.下面二进制数分别转换为十进制及十六进制数:1011.1010B,1111101.11 B答:1011.1010B,十进制:11.625,十六进制:B.AH1111101.11B,十进制:125.75,十六进制:7D.CH1-7.(5487)10=(0101010010000111)BCD=1010101101111 B若 CPU 的主时钟频率为 10MHz ,则一个时钟周期为10 s ,一个基本总线周期为 4× 1-8.设字长为 8 位,请写出下列数的原码、反码、补码和移码:15,-20,-27/32 答:[+15]原 =00001111, [+15]反 =00001111, [+15]补 =00001111, [+15]移 =10001111[-20]原 =10010100, [-20]反 =11101011, [-20]补 =11101100, [-20]移 =01101100[-27/32]原 =1.1101100, [-27/32]反 =1.0010011, [-27/32]补 =1.0010100,第 2 章 微型计算机系统的微处理器习 题2-1.086/8088 CPU 的功能结构由哪两部分组成?它们的主要功能是什么?答:8086/8088 CPU 的功能结构由以下两部分组成:总线接口单元BIU (Bus Interface Unit ), 执行部件EU (Execution Unit )。
微机原理习题集以及答案第二版

微机原理习题集以及答案第二版第一部分例题与习题第1章微型计算机基础1.1例题1.把十进制数137.875转化为二进制数。
p7解:把十进制数转换成二进制数时,需要对一个数的整数部分和小数部分分别进行处理,得出结果后再合并。
整数部分:通常使用除2取余法小数部分:通常使用乘2取整法余数低位整数高位2|137--------------10.8752|68--------------0×2-------------12|34--------------01.7502|17--------------1×22|8--------------01.500-------------12|4--------------0×2-------------12|2--------------01.0001--------------1高位低位(137)10=(10000111)2(0.875)10=(0.1101)2所以,(137.875)10=(10001001.111)22.把二进制数10011.0111切换为八进制数和十六进制数。
p9解:八进制、十六进制都是从二进制演变而来,三位二进制数对应一位八进制数,四位二进制数对应一位十六进制数,从二进制向八进制、十六进制转换时,把二进制数以小数点为界,对小数点前后的数分别分组进行处理,不足的位数用0补足,整数部分在高位补0,小数部分在低位补0。
(10011.0111)2=(010011.011100)2=(23.34)8(10011.0111)2=(00010011.0111)2=(13.7)16 3.将八进制数23.34切换为二进制数。
p9求解:(23.34)8=(010011.011100)2=(10011.0111)24.x=0.1010,y=-0.0111,求[x-y]补,并判断是否有溢出?p11解:[x-y]补=[x]补+[-y]补[x]迁调=0.1010[y]迁调=1.1001[-y]迁调=0.01110.1010+0.01111.00011说明:当异号相减运算时,通过补码,减法运算转化为两个正数的加法运算,结果为负(符号位为1),表示运算结果溢出。
微机原理课后答案(机械工业出版社2版或3版)

《微机原理及应用》习题答案第一章⏹1.11 请完成下列数制转换:(1)将174.66D转换为对应的二进制和十六进制形式。
(2)将100011101011.01011B转换为对应的十进制和十六进制形式。
(3)将F18A6.6H转换为对应的二进制和十进制形式。
答:174.66D=10101110.1010B=AE.AH100011101011.01011B=2283.34375D=8EB.58HF18A6.6H=989350.375D⏹1.12 请写出与数据+37和-37对应的8位机器数原码、反码和补码,并分别用二进制和十六进制表示出来。
答:-37D=(10100101B)原=(11011010B)反=(11011011B)补⏹1.13 8位机器数46H,若作为无符号数和补码有符号数,其对应的真值各是什么?若作为BCD码和ASCII码,其对应的又是什么?答:无符号数46H=70,补码46H=+70 BCD码46H=46,ASCII码46H=“F”第二章●2.5什么是8088中的逻辑地址和物理地址?逻辑地址如何转换成物理地址?1MB最多能分成多少个逻辑段?请将如下逻辑地址用物理地址表达:(1)FFFFH:0H (2) 40H:17H (3) 2000H:4500H (4) B821H:4567H答:⑴FFFFH:0H = FFFF0H⑵40H:17H = 00417H⑶2000H:4500H = 24500H⑷B821H:4567H = BC777H●2.8已知DS=2000H,BX=0100H,SI=0002,存储单元[20100H]~[20103H]依次存放12H,34H,56H,78H,[21200H]~[21203H]依次存放2AH,4CH,87H,65H,说明下列每条指令执行完后AX寄存器的内容以及源操作数的寻址方式?答:⑴AX=1200H,立即数寻址;⑵AX=0100H,寄存器寻址;⑶AX=4C2AH,直接寻址;⑷AX=3412H,寄存器间接寻址;⑸AX=4C2AH,寄存器相对寻址;⑹AX=7865H,基址变址寻址;⑺AX=65B7H,基址变址相对寻址。
微机原理习题2参考答案

习题2参考答案2.1 8086 CPU共有哪些16位寄存器?其中哪些16位寄存器可分为二个8位寄存器来使用?参考答案:8086 CPU共有AX、BX、CX、DX、SI、DI、SP、BP、IP、FLAGS、CS、DS、ES、SS共14个16位的寄存器。
其中AX、BX、CX、DX可分为二个8位寄存器来使用2.2 简述8086 CPU各通用寄存器的主要功能?参考答案:8086 CPU包含AX、BX、CX、DX、SI、DI、SP、BP共8个通用寄存器。
其中AX主要用在字的乘、除法,输入/输出指令中;BX主要在寄存器间接寻址和XLAT指令中作基址寄存器使用;CX主要在串操作指令和LOOP指令中作计数器使用;DX主要在字的乘除法指令和输入/输出指令中使用;SI主要在字符串操作指令中作源变址寄存器使用;DI主要在字符串操作指令中作目的变址寄存器使用;SP主要在堆栈操作中作堆栈指针使用;BP主要在寄存器间接寻址中作基址指针使用。
2.3 8086 CPU的标志寄存器有几个状态标志位?几个控制标志位?它们各自的含义和作用是什么?在Debug环境下,对应的用什么符号来表示之?参考答案:8086 CPU的标志寄存器有6个状态标志位,有3个控制标志位。
其中CF进位标志位主要用来反映运算结果是否产生进位或借位,如果运算结果的最高位向前产生了一个进位(加法)或借位(减法),则其值为1,否则其值为0;PF奇偶标志位用于反映运算结果中低8位含有“1”的个数的奇偶性,如果“1”的个数为偶数,则PF 的值为1,否则为0;AF辅助进位标志位表示加法或减法运算结果中D3位向D4位产生进位或借位的情况,有进位(借位)时AF=1;无进位(借位)时AF=0;ZF零标志位用来反映运算结果是否为0,如果运算结果为0,则其值为1,否则其值为0;SF用来反映运算结果的符号位,当运算结果为负数时,SF的值为1,否则其值为0;OF溢出标志位用于反映带符号数运算所得结果是否溢出,如果运算结果超过当前运算位数所能表示的范围,则称为溢出,OF的值被置为1,否则,OF的值被清为0。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.2设(DS)=6000H,(ES)=2000H,(SS)=1500H,(Si)=00A0H,(BX)=0800H,(BP)=1200H,数据变量VAR为0050H. 请分别指出下列各条指令源操作数的寻址方式?它的物理地址是多少?(1) MOV AX,BX (2) MOV DL,80H(3) MOV AX, VAR (4) MOV AX,VAR[BX][SI](5) MOV AL,‘B' (6) MOV DI, ES: [BX](7) MOV DX,[BP] (8) MOV BX,20H[BX]解: (1)寄存器寻址。
因源操作数是寄存器,故寄存器BX就是操作数的地址.(2)立即寻址。
操作数80H存放于代码段中指令码MOV之后。
(3)直接寻址。
(4)基址一变址一相对寻址.操作数的物理地址=(DS) × 16+(SI)+(BX)+VAR= 60000H+00A0H+0800H+0050H=608F0H(5)立即寻址(6)寄存器间接寻址.操作数的物理地址 = (ES) × 16+(BX)= 20000H+0800H = 20800H(7)寄存器间接寻址。
操作数的物理地址= (SS) × 16+(BP)= 15000H+1200H= 16200H(8)寄存器相对寻址.操作数的物理地址=(DS) × 16+(BX)+20H= 60000H+0800H+20H= 60820H3.3 假设(DS)= 212AH,(CS)= 0200H,(IP)= 1200H,(BX)= 0500H,位移量DATA=40H,(217A0H) =2300H,(217E0H)=0400H,(217E2H) =9000H 试确定下列转移指令的转移地址.(1) JMP BX(2) JMP WORD PTR[BX](3) JMP DWORD PTR[BX+DATA]解:转移指令分为段内转移和段间转移,根据其寻址方式的不同,又有段内的直接转移和间接转移,以及段间的直接转移和间接转移地址。
对直接转移,其转移地址为当前指令的偏移地址(即IP的内容)加上位移量或由指令中直接得出;对间接转移,转移地址等于指令中寄存器的内容或由寄存器内容所指向的存储单元的内容。
(1) 段内间接转移。
转移的物理地址=(CS) × l6 +0500H=02000H+0500H=02500H(2)段内间接转移。
转移的物理地址= (CS) × 16+ [BX]= (CS) × l6+(217A0H)=02000H+2300H=04300H(3)段间间接转移。
转移的物理地址=[BX+DATA][IP]=[DS×l6+BX+DATA[=[217E0] =(217E2H) × l6+(217E0H)[CS]=[217E2H]=9000H =90000H+0400H=90400H3.4试说明指令MOV BX,5[BX]与指令LEA BX,5[BX]的区别。
解:前者是数据传送类指令,表示将数据段中以(BX+5)为偏移地址的16位数据送寄存器BX.;后者是取偏移地址指令,执行的结果是(BX)= (BX)+5,即操作数的偏移地址为(BX)+5。
3.5设堆栈指针SP的初值为2300H,(AX)=50ABH,(BX)=1234H。
执行指令PUSH AX后,(SP)=?,再执行指令PUSH BX及POP AX之后,(SP)= ?(AX)= ?(BX)=?解:堆栈指针SP总是指向栈顶,每执行一次PUSH指令SP-2,执行一次POP指令SP+2.所以,执行PUSH AX指令后,(SP)=22FEH;再执行PUSH BX及POP AX后,(SP)=22FEH,(AX)=(BX)=1234H 3.6 指出下列指令的错误:(1) MOV AH,CX (2) MOV 33H,AL(3) MOV AX, [SI][DI] (4) MOV [BX],[SI](5) ADD BYTE PTR[BP],256 (6) MOV DATA[SI],ES:AX(7) JMP BYTE PTR[BX] (8) OUT 230H,AX(9) MOV DS,BP (10) MUL 39H解: (1)指令错。
两操作数字长不相等(2)指令错。
MOV指令不允许目标操作数为立即数.(3)指令错。
在间接寻址中不允许两个间址寄存器同时为变址寄存器。
(4)指令错。
MOV指令不允许两个操作数同时为存储器操作数。
(5)指令错。
ADD指令要求两操作数等字长。
(6)指令错。
源操作数形式错,寄存器操作数不加段重设符。
(7)指令错。
转移地址的字长至少应是16位的。
(8)指令错。
对输人输出指令,当端口地址超出8位二进制数的表达范围(即寻址的端口超出256个)时,必须采用间接寻址。
(9)指令正确。
(10)指令错。
MUL指令不允许操作数为立即数。
3.9 试判断下列程序执行后,BX中的内容.MOV CL, 3MOV BX,0B7HROL BX,1ROR BX,CL解:该程序段是首先将BX内容不带进位循环左移1位,再循环右移3位。
即相当于将原BX 内容不带进位循环右移2位,故结果为:(BX)=0C02DH3.11 分别指出以下两个程序段的功能:(1) (2)MOV CX,l0 CLDLEA SI,FIRST LEA DI, [1200H]LEA DI, SECOND MOV CX,0FOOHSTD XOR AX,AXREP MOVSB REP STOSW解: (1)该段程序的功能是:将数据段中FIRST为最高地址的10个字节数据按减地址方向传送到附加段SECOND为最高地址的向前10个单元中。
(2)将附加段中偏移地址为1200H单元开始的0FOOH个字单元清0。
3.16 写出完成下述功能的程序段:(1)从地址DS:0012H中传送一个数据56H到AL寄存器;(2)将AL中的内容左移两位(3)AL的内容与字节单元DS:0013H中的内容相乘(4)乘积存入字单元DS:0014H中解: MOV SI,OFFSET[0012H]MOV DI,OFFSET[0014H]MOV AL,[SI]MOV CL,2SAL AL,CLMOV BL,[0013H]MUL BLMOV [DI],AX选看:3.7 已知(AL) =7BH, (BL) =38H,试问执行指令ADD AL, BL后,AF、CF、OF、PF、SF和ZF 的值各为多少?解:AF=1,CF=0,OF=1,PF=0,SF=l,ZF=03.10按下列要求写出相应的指令或程序段。
(1)写出两条使AX内容为0的指令。
(2)使BL寄存器中的高4位和低4位互换。
(3)屏蔽CX寄存器的bll,b7和b3位。
(4)测试DX中的b0和b8位是否为1(1) MOV AX,0XOR AX,AX ;AX寄存器自身相异或,可使其内容清0(2) MOV CL, 4ROL BL,CL ;将BL内容循环左移4位,可实现其高4位和低4位的互换(3) AND CX,0F777H ;将CX寄存器中需屏蔽的位“与”0。
也可用“或”指令实现(4) AND DX,0101H ;将需侧试的位“与”1,其余“与”0屏蔽掉CMP DX,0101 H ;与0101H比较JZ ONE ;若相等则表示b0和b8位同时为3.12 执行以下两条指令后,标志寄存器FLAGS的六个状态位各为什么状态?MOV AX,84A0HADD AX,9460H解:执行ADD指令后,6个状态标志位的状态分别为:在两个16位数进行加法运算时,对CF、ZF、SF和OF会产生影响,但对PF和AF标志位,只有其低8位的运算影响它们的状态。
各标志位的状态分别为:AF=0,PF=1,CF=1,ZF=0,SF=0,OF=1。
3.14已知AX=8060H,DX=03F8H,端口PORT1的地址是48H,内容为40H;PORT2的地址是84H,内容为85H。
请指出下列指令执行后的结果。
(1)OUT DX, AL(2) IN AL,PORT1(3) OUT DX,AX(4) IN AX,48H(5) OUT PORT2,AX解: (1)将60H输出到地址为03F8H的端口中。
(2) 从PORT1读入一个字节数据,执行结果:(AL)=40H。
(3) 将 AX=8060H输出到地址为03F8H的端口中。
(4)由48H端口读人16位二进制数。
(5)将8060H输出到地址为84H的端口中。
4.1请分别用DB 、DW 、DD伪指令写出在DATA开始的连续8个单元中依次存放数据11H 、22H 、33H 、44H 、55H 、66H 、77H 、88H的数据定义语句.解:DB,DW,DD伪指令分别表示定义的数据为字节类型、字类型及双字型.其定义形式为:DATA DB 11H,22H,33H,44H,55H,66H,77H,88HDATA DW 2211H,4433H,6655H,8877HDATA DD 44332211H,88776655H4.2若程序的数据段定义如下,写出各指令语句独立执行后的结果:DSEG SEGMENTDATA1 DB 10H,20H,30HDATA2 DW 10 DUP(?)STRING DB ‘123’DSEG ENDS(1) MOV AL,DATA1(2) MOV BX,OFFSET DATA2(3) LEA SI,STRINGADD DI,SI解:1.取变量DATA1的值. 指令执行后,(AL)=10H.2.变量DATA2的偏移地址. 指令执行后,(BX)=0003H.3.先取变量STRING的偏移地址送寄存器SI,之后送SI的内容与DI的内容相加并将结果送DI.指令执行后,(SI)=0017H;(DI)=(DI)+0017H.4.6 假设数据项定义如下:DATA1 DB ‘HELLO!GOOD MORNING!’DATA2 DB 20 DUP(?)用串操作指令编写程序段,使其分别完成以下功能:(1)从左到右将DATA1中的字符串传送到DATA2中。
(2)传送完后,比较DATA1和DATA2中的内容是否相同。
(3)把DATA1中的第3和第4个字节装入AX。
(4)将AX的内容存入DATA2+5开始的字节单元中。
解:(1)MOV AX,SEG DATA1MOV DS,AXMOV AX,SEG DATA2MOV ES,AXLEA SI,DATA1LEA DI,DATA2MOV CX,20CLDREP MOVSB(2)LEA SI,DATA1LEA DI,DATA2MOV CX,20CLDREPE CMPSB。
(3)LEA SI,DATA1ADD SI,2LODSW(4)LEA DI,DATA2ADD DI,5STOSW4.8 编写程序段,将STRING1中的最后20个字符移到STRING2中(顺序不变)。