1第一章1.1解:五代,详细见书1.2解:微型计算机:以大规模、超大规模集成电路为主要部件,以集成了计算机主要部件——控制器和运算器的微处理器为核心,所构造出的计算机系统。PC机:PC(PersonalComputer)机就是面向个人单独使用的一类微机。单片机:用于控制的微处理器芯片,内部除CPU外还集成了计算机的其他一些主要部件,如:ROM、RAM、定时器、并行接口、串行接口,有的芯片还集成了A/D、D/A转换电路等。数字信号处理器DSP:主要面向大流量数字信号的实时处理,在宿主系统中充当数据处理中心,在网络通信、多媒体应用等领域正得到越来越多的应用1.3解:微机主要有存储器、I/O设备和I/O接口、CPU、系统总线、操作系统和应用软件组成,各部分功能如下:CPU:统一协调和控制系统中的各个部件系统总线:传送信息存储器:存放程序和数据I/O设备:实现微机的输入输出功能I/O接口:I/O设备与CPU的桥梁操作系统:管理系统所有的软硬件资源1.4解:系统总线:传递信息的一组公用导线,CPU通过它们与存储器和I/O设备进行信息交换。好处:组态灵活、扩展方便三组信号线:数据总线、地址总线和控制总线。其使用特点是:在某一时刻,只能由一个总线主控设备来控制系统总线,只能有一个发送者向总线发送信号;但可以有多个设备从总线上同时获得信号。1.5解:(1)用于数值计算、数据处理及信息管理方向。采用通用微机,要求有较快的工作速度、较高的运算精度、较大的内存容量和较完备的输入输出设备,为用户提供方便友好的操作界面和简便快捷的维护、扩充手段。(2)用于过程控制及嵌人应用方向。采用控制类微机,要求能抵抗各种干扰、适应现场的恶劣环境、确保长时间稳定地工作,要求其实时性要好、强调其体积要小、便携式应用强调其省电。1.6解:21.7解:I/O通道:位于CPU和设备控制器之间,其目的是承担一些原来由CPU处理的I/O任务,从而把CPU从繁杂的I/O任务中解脱出来。由10根信号线组成(A9-A0)。1.8解:BIOS:基本输入输出系统。主要功能:用来驱动和管理诸如键盘、显示器、打印机、磁盘、时钟、串行通信接口等基本的输入输出设备1.9解:基本RAM区:640KB保留RAM区:128KB扩展ROM区:128KB基本ROM区:128KB1.10解:(1)、数—用来直接表征量的大小,包括:定点数、浮点数。(2)、码—用来指代某个事物或事物的某种状态属性,包括:二进制、八进制、十进制、十六进制。区别:使用场合不同,详见P16.1.11解:(1)31021016174.66)(10101110.10101)174.66)(.8)AEA(((2)210216100011101011.01011)(2283.34375)100011101011.01011)(8.58)EB(((3)1621610F18A6.6)(11110001100010100110.0110)F18A6.6)(989350.375)((1.12解:原码反码补码+3700100101/25H00100101/25H00100101/25H-3710100101/A5H11011010/DAH11011011/DBH1.13解:+37-3716位32位16位32位0025H00000025HFF5BHFFFFFF5BH1.14解:无符号数:70D补码有符号数:70DBCD码:46DASCII:F1.15解:1)、相加后若出现和大于9,则将和减去10后再向高位进12)、若出现组间进位,则将低位加61.16解:详见课本16页。1.17解:C34020001.18解:5050H十进制值5080二进制十六进制二进制十六进制400110010B32H01010000B50H1.19解:D:44Hd:64HCR:0DHLF:0AH0:30HSP:20HNUL:00H1.20解:国标码:3650H机内码:B6B0H第二章2.1算术逻辑单元ALU、寄存器组和控制器;总线接口单元BIU:管理8088与系统总线的接口负责cpu对接口和外设进行访问执行单元EU:负责指令译码、执行和数据运算;8位cpu在指令译码前必须等待取指令操作的完成,8088中需要译码的指令已经取到了指令队列,不需要等待取指令。而取指令是cpu最为频繁的操作,因此8088的结构和操作方式节省了大量等待时间,比8位cpu节省了时间,提高了性能。2.28个8位寄存器:AH、AL、BH、BL、CH、CL、DH、DL;8个16位寄存器:累加器AX、基址寄存器BX、计数器CX、数据寄存器DX、源地址寄存器SI、目的地址寄存器DI、基址指针BP、堆栈指针SP。2.3标志用于反映指令执行结果或者控制指令执行形式。状态标志用于记录程序运行结果的状态信息;控制标志用于控制指令执行的形式。2.4例:有运算:3AH+7CH=B6H作为无符号数运算,没有进位,CF=0;作为有符号数运算,结果超出范围,OF=1.2.58088中每个存储单元有唯一的20位地址,称为物理地址。处理器通过总线存取存储器数据时,采用这个物理地址。在用户编程过程中采用的“段地址:偏移地址”的形式称为逻辑地址。将逻辑地址中的段地址左移4位,加上偏移地址就得到物理地址。51MB最多能分成65536个逻辑段。2.6代码段:存放程序的指令序列;堆栈段:确定堆栈所在的主存储区;数据段:存放当前运行程序的数据;附加段:附加数据段,用于数据保存。另外串操作指令将其作为目的操作数的存放区。2.78088的存储空间分段管理,程序设计时采用逻辑地址。由于段地址在默认的或指定的段寄存器中,所以只需要偏移地址,称为有效地址EA.操作数在主存中有以下几种寻址方式:直接寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址、相对基址变址寻址。2.8(1)立即数寻址ax:1200H(2)寄存器寻址ax:0100H(3)存储器直接寻址ax:4C2AH(4)寄存器间接寻址ax:3412H(5)寄存器间接寻址ax:4C2AH(6)基址变址寻址ax:7856H(7)相对基址变址寻址ax:65B7H2.9(1)cx为字寄存器,dl为字节寄存器,类型不匹配。(2)mov指令的目的操作数只能是寄存器或者主存单元,ip是指针。(3)不允许立即数到段寄存器的传送。(4)不允许段寄存器之间的直接传送。(5)数据溢出。(6)sp不能用于寄存器间接寻址。(7)格式不对。应为:movax,[bx+di](8)mov指令的操作数不能是立即数。2.10(1)bx得到table的偏移地址,bx=200H.(2)将立即数8送到al。(3)换码,al=12H.2.11(1)al=89H(2)al=12H,cf=1,zf=0,sf=0,of=1,pf=1(3)al=0AFH,cf=0,zf=0,sf=1,of=0,pf=1(4)al=0AFH,cf=1,zf=0,sf=1,of=1,pf=1(5)al=0,cf=0,zf=1,sf=0,of=0,pf=16(6)al=0FFH,cf=0,zf=0,sf=1,of=0,pf=1(7)al=0,cf=0,zf=1,sf=0,of=0,pf=12.12(1)adddx,bx(2)addal,[bx+si](3)addwordptr[bx+0B2H],cx(4)addwordptr[0520H],3412H(5)addal,0A0H2.13运算公式:XYXZV/)540*(。商存储在ax,余数存储在dx。2.14(1)ax=1470H(2)ax=1470H,cf=0,of=0,sf=0,zf=0,pf=0(3)ax=1470H,cf=0,of=0,sf=0,zf=0,pf=0(4)ax=0,cf=0,of=0,sf=0,zf=1,pf=1(5)ax=0FFFFH,cf=0,of=0,sf=0,zf=1,pf=1(6)ax=0FFFFH,cf=0,of=0,sf=1,zf=0,pf=12.15相对寻址方式、直接寻址方式、间接寻址方式。2.16(1)1256H(2)3280H2.17(1)ax=1E1EH(2)al的D0、D7位不全为0(3)cx64H2.18执行65536次。2.19功能:将数组中每个字元素相加,结果存储于total。2.20(1)leasi,stringMovdh,[si]Movdl,[si+5](2)movaxwordptrbuffer1Subaxwordptrbuffer2Movdxwordptrbuffer1+27Sbbdxwordptrbuffer2+2(3)testdx,0F000Hjzeveneven:movax,0(4)movcx,4again:sardx,1rcrax,1loopagain(5)movcx,100movsi,0again:moval,0FFHaddal,array[si]movarray[si],alincsiloopagain2.21HtoascprocMovbl,alMoval,ahMovbh,10MulbhAndax,00FFHAddal,blHtoend:retHtoascendp2.22计算机系统利用中断为用户提供硬件设备驱动程序。在IBM-PC系列微机中,基本输入输出系统ROM-BIOS和DOS都提供了丰富的中断服务程序,称为系统功能调用。调用步骤(1)AH中设置系统功能调用号(2)在指定寄存器中设置入口参数(3)使用中断调用指令执行功能调用(4)根据出口参数分析调用情况2.23HtoascprocAndal,0FHAddal,90HDaaAdcal,40H8DaaMovah,02HMovdl,alInt21HRetHtoascendp2.24NumoutprocXorah,ahAamAddax,3030HMovdl,ahMovah,02HInt21HMovdl,alMovah,02HInt31HRetNumoutendp2.25Msgkeydb”inputnumber0-9”,”$”Msgwrgdb”error”,”$”Movah,09HMovdx,offsetmsgkeyInt21HAgain:movah,01HInt21HCmpal,30HJbdispCmpal,39HJadispMovdl,alMovah,02HInt21HJmpdoneDisp:movdx,offsetmsgwrgMovah,09HInt21H9JmpagainDone:movah,02HMovdl,alInt21H第3章3.1解:汇编语言是一种以处理器指令系统为基础的低级程序设计语言,它采用助记符表达指令操作码,采用标识符号表示指令操作数,可以直接、有效地控制计算机硬件,因而容易创建代码序列短小、运行快速的可执行程序3.2解:(1)完整的汇编语言源程序由段组成(2)一个汇编语言源程序可以包含若干个代码段、数据段、附加段或堆栈段,段与段之间的顺序可随意排列(3)需独立运行的程序必须包含一个代码段,并指示程序执行的起始点,一个程序只有一个起始点(4)所有的可执行性语句必须位于某一个代码段内,说明性语句可根据需要位于任一段内(5)通常,程序还需要一个堆栈段3.3解:存储模式特点TINYCOM类型程序,只有一个小于64KB的逻辑段(MASM6.x支持)SMALL小应用程序,只有一个代码段和一个数据段(含堆栈段),每段不大于64KBCOMPACT代码少、数据多的程序,只有一个代码段,但有多个数据段MEDIUM代码多、数据少的程序,可有多个代码段,只有一个数据段LARGE大应用程序,可有多个代码段和多个数据段(静态数据小于64KB)HUGE更大应用程序,可有多个代码段和多个数据段(对静态数据没有限制)FLAT32位应用程序,运行在32位80x86CPU和Windows9x或NT环境3.4解:开始位置:用标号指明10返回DOS:利用DOS功能调用的4CH子功能来实现汇编停止:执行到一条END伪指令时,停止汇编3.5解:段定位、段组合和段类型。3.6解:stacksegment