微机基础学习知识原理与接口技术顾晖习题集参考材料.规范标准答案.doc

收藏

编号:2604951    类型:共享资源    大小:183.52KB    格式:DOC    上传时间:2020-04-23
10
金币
关 键 词:
微机 基础 学习 知识 原理 接口 技术 顾晖 习题集 参考 材料 规范 标准答案
资源描述:
\\ 微机原理与接口技术 答案 目录 第1章 习题答案 1 第2章 习题答案 2 第3章 习题答案 4 第4章 习题答案 7 第5章 习题答案 19 第6章 习题答案 28 第7章 习题答案 29 第8章 习题答案 29 第9章 习题答案 32 第10章 习题答案 37 第11章 习题答案 39 第1章 习题答案 1.计算机硬件的基本组成部分有哪些?简述各部分的功能 答: 计算机硬件的基本组成部分有:运算器、控制器、存储器、输入设备和输出设备五大组成部分; 运算器功能:完成各种算术运算或逻辑运算; 控制器功能:发出各种控制信息,使计算机各部件协调工作; 存储器功能:存储程序和数据; 输入设备:将程序和数据输入的部件; 输出设备:将结果数据输出的部件。 2.简述微型计算机系统的组成。4分 答: 以微型计算机为核心,配以鼠标、键盘等外围设备、电源、接口电路,以及控制计算机工作的软件构成微型计算机系统。 3.简述总线控制逻辑的任务。 答: 主板与外部设备之间的数据传输必须通过系统总线,所以系统总线包含的信号线必须满足下列各种输入/输出操作的需要:① 访问分布于主板之外的存储器;② 访问I/O接口;③ 适应外部中断方式;④ 适应存储器直接与外部设备交换信息。总线控制逻辑的任务就是产生和接受这些操作所需要的信号。 4.简述冯诺依曼的“程序存储和程序控制”原理。 答: 计算机有运算器、控制器、存储器、输入设备和输出设备五大部分组成,计算机内部采用二进制数据的格式表示数据和指令。程序将事先保存在内存储器中,计算机在工作时,不需要操作人员干预,自动逐条取出指令并执行。 5.简述微型计算机系统的启动过程。4分 答: CPU首先执行主板上BIOS中的自检程序;执行引导装入程序,依次搜寻硬盘、光盘等;读出引导记录,装入引导程序;由引导程序将操作系统装入内存;执行操作系统。 6. BIOS是什么?简述系统BIOS代码完成的工作。 答: BIOS是Basic Input Output System的缩写,指的是基本输入输出系统"。它是一组固化到计算机ROM芯片上的程序,保存着计算机最重要的基本输入输出的程序、系统设置信息、开机后自检程序和系统自启动程序。 7.答:略。 2 第2章 习题答案 1.答: 为了区别所使用的数制,一般用以下两种书写格式表示: ① 用括号将数字括起,后面加数制区分,数制用下标的形式给出; ② 用后缀区分,二进制数、十进制数、八进制数、十六进制数的后缀分别为字母B(或b)、D(或d)、O(或o)或Q(或q)、H(或h)。 例如:十六进制数56.78可以表示成(56.78)16或56.78H; 十进制数56.78可以表示成(56.78)10或56.78D。 2.答: 123D采用十进制,0AFH采用十六进制,77Q采用八进制,1001110B采用二进制。 3.答: 字长为8位的二进制数原码表示的最大值:127,最小值:-127;补码表示的最大值:127,最小值:-128。 字长为16位的二进制数原码表示的最大值:32767,最小值:-32767;补码表示的最大值:32767,最小值:-32768。 4.把下列十进制数分别转换为二进制数和十六进制数。2分 1)125 2)255 3)72 4)5090 答: (1)125D=0111 1101B=7DH (2) 255D=1111 1111B=FFH (3)72D=0100 1000B=48H (4)5090D=0001 0011 1110 0010B=13E2H 5.答: (1)1111 0000B=240D=F0H (2) 1000 0000 B =128D =80H (3)1111 1111 B =255 D =FFH (4)0101 0101B=85D=55H 6.答: (1)FFH=255D=1111 1111B (2) ABCDH=43981D=1010 1011 1100 1101B (3) 123H=291D=0000 0001 0010 0011B (4) FFFFH=65535D=1111 1111 1111 1111B 7.答: (1)8位时(16)原=0001 0000 ; (16)补=0001 0000; 16位时(16)原=0000 0000 0001 0000 ; (16)补=0000 0000 0001 0000; (2) 8位时(-16)原=1001 0000 ; (-16)补=1111 0000; 16位时(-16)原=1000 0000 0001 0000 ; (-16)补=1111 1111 1111 0000; (3) 8位时(+0)原=0000 0000; (+0)补=0000 0000; 16位时(+0)原=0000 0000 0000 0000; (+0)补=0000 0000 0000 0000; 3 (4) 8位时(-0)原=1000 0000 ; (-0)补=0000 0000; 16位时(-0)原=1000 0000 0000 0000; (-0)补=0000 0000 0000 0000; (5) 8位时(127)原=0111 1111; (127)补=0111 1111; 16位时(127)原=0000 0000 0111 1111; (127)补=0000 0000 0111 1111; (6) 8位时-128超过原码表示的范围; (-128)补=1000 0000; 16位时(-128)原=1000 0000 1000 0000; (-128)补=1111 1111 1000 0000; (7) 8位时(121)原=0111 1001 ; (121)补=0111 1001; 16位时(121)原=0000 0000 0111 1001; (121)补=0000 0000 0111 1001; (8) 8位时(-9)原=1000 1001 ; (-9)补=1111 0111; 16位时(-9)原=1000 0000 0000 1001; (-9)补=1111 1111 1111 0111; 8.实现下列转换 2分 1)[X]原=10111110,求[X]补 2)[X]补=11110011,求[-X]补 3)[X]补=10111110,求[X]原 4)[X]补=10111110,求[X]反 答: (1) [x]补=1100 0010;(2)[-x]补=0000 1101;(3)[x]原=1100 0010;(4)[x]反=1011 1101。 9.答: (1)A>B;(2)A<B 10.答: (1)溢出;(2)13H;(3)溢出;(4)EDH;(5)EDH。 11.完成下列8位二进制数的逻辑运算 1分 1)11001100∧10101010 2)11001100∨10101010 3)1100110010101010 4)10101100∧10101100 5)10101100 10101100 6)10101100∨10101100 7)~10101100 答: (1)1000 1000;(2)1110 1110;(3)0110 0110;(4)1010 1100; (5)0000 0000;(6)1010 1100;(7)=0101 0011。 12.答: (1)30H=48,字符为‘0’;(2)39H=57,字符为‘9’;(3)42H=66,字符为‘B’; (4)62H=98,字符为‘b’;(5)20H=32,字符为空格;(6)7H=7,字符为报警符; 13、答: 十进制 49 123 7 62 压缩BCD码 0100 1001B 0001 0010 0011B 0000 0111B 0110 0010B 非压缩BCD码 0000 0100 0000 1001B 0000 0001 0000 0010 0000 0011B 0000 0111B 0000 0110 0000 0010B ASCII码 3439H 313233H 37H 3632H 4 第3章 习题答案 1.(1)答: 物理地址:物理地址(PA)是20位无符号二进制数,是CPU访问存储器的实际地址。每个存储单元对应一个物理地址。8086存储空间的物理地址范围是:00000H~FFFFFH。 逻辑地址:采用分段结构的存储器中,把通过段地址和偏移地址来表示的存储单元的地址称为逻辑地址,记为:段地址:偏移地址。 段地址:8086规定各逻辑段从节的整数边界开始,即段首地址二进制值的低4位是0000,把段首地址的高16位称为段基址或段地址。 偏移地址:把某一存储单元相对于段地址的段内偏移量称为偏移地址(也称有效地址EA)。段地址和偏移地址都是是16位无符号二进制数。 (2)答: 时钟周期:计算机的“时钟”是由振荡源产生的、幅度和周期不变的节拍脉冲,每个脉冲周期称为时钟周期,又称为T状态或T周期,时钟周期是微机系统工作的最小时间单元。 总线周期:当CPU访问存储器或输入/输出端口时,需要通过总线进行读或写操作,这个过程称为总线周期(Bus Cycle)。总线周期是利用总线完成一次读/写所需要的时间。 指令周期:执行一条指令所需要的时间称为指令周期(Instruction Cycle)。指令周期由1个或多个总线周期组成。 解释下边名词:(3)最小模式、最大模式 1分 答: 最小模式:也称为单处理器模式,是指系统中只有一片8086微处理器,所连接的存储器容量不大、片子不多,所要连接的I/O端口也不多,系统的控制总线就直接由CPU的控制线供给,从而使得系统中的总线控制电路减到最少。最小模式适用于较小规模的系统。 最大模式:相对于最小模式而言,适用于中、大型规模的系统。系统中有多个微处理器,其中一个是主处理器8086,其他的处理器称为协处理器,承担某方面专门的工作。需要增加一片8288来对8086CPU发出的控制信号进行变换和组合,以得到对存储器或I/O端口的读/写信号和对锁存器、总线收发器的控制信号。 2.答: EU:负责指令的执行,即从总线接口部件BIU的指令队列取指令,指令执行后向BIU送回运算结果,同时把运算结果的状态特征保存到标志寄存器中。 BIU:负责CPU与存储器、I/O设备之间的数据传送。BIU完成以下操作:取指令送给指令队列、配合执行部件从指定的内存单元或者外设端口中取数据、将数据传送给执行部件或者把执行部件的操作结果传送到指定的内存单元或外设端口中。 8086的BIU和EU在很多时候可以并行工作,使得取指令、指令译码和执行指令这些操作构成操作流水线。 ① 当指令队列中有两个空字节,且EU没有访问存储器和I/O接口的要求时,BIU会自动把指令取到指令队列中。 ② 当EU准备执行一条指令时,它会从指令队列前部取出指令执行。在执行指令的过程中,如果需要访问存储器或者I/O设备,那么EU会向BIU发出访问总线的请求,以完成访问存储器或者I/O接口的操作。如果此时BIU正好处于空闲状态,那么,会立即响应EU的总线请求;但如果BIU正在将某个指令字节取到指令队列中,那么,BIU将首先完成这个取指令操作,然后再去响应EU发出的访问总线的请求。 ③ 当指令队列已满,而且EU又没有总线访问时,BIU便进入空闲状态。 5 ④ 在执行转移指令、调用指令和返回指令时,下面要执行的指令就不是在程序中紧接 着的那条指令了,而BIU 往指令队列装入指令时,总是按顺序进行的。在这种情况下,指 令队列中已经装入的指令就没有用了,会被自动消除。随后,BIU 会往指令队列中装入另一 个程序段中的指令。 3.答: 地址信号是CPU 发送给内存或I/O 设备的,所以地址线是单向的; 数据信号可以从CPU 发送给内存或I/O 设备,也可以从内存或I/O 设备发送给CPU, 故而数据线是双向的。 4.答: 8086CPU 中有14 个寄存器。它们是:4 个16 位的通用寄存器:AX、BX、CX、DX 和 8 个8 位的通用寄存器:AH、AL、BH、BL、CH、CL、DH、DL;指针和变址寄存器SP、 BP、 SI、DI;4 个16 位的段寄存器CS、DS、SS 和ES;标志寄存器FR;指令指针寄存器 IP。 功能略。 5.将十六进制数5678H和以下各数相加,试求叫法运算的结果及进算后标志寄存器中6个状态标志的值,用十六进制数表示运算结果。 2分 1)7834H 2)1234H 3)8765H 答: (1)加法运算的结果为:CEACH;CF=0,PF=1,AF=0,ZF=0,SF=1,OF=1; (2)加法运算的结果为:68ACH;CF=0,PF=1,AF=0,ZF=0,SF=0,OF=0; (3)加法运算的结果为:DDDDH;CF=0,PF=1,AF=0,ZF=0,SF=1,OF=0。 6.8086CPU可寻址的存储器地址范围是多少?可寻址的I/O端口地址范围是多少?2分 答: 8086CPU 可寻址的存储器地址范围是00000H~FFFFFH; 可寻址的I/O 端口地址范围是0000H~FFFFH。 7.答: 由于8086CPU 提供20 位地址,但8086 中可用来存放地址的寄存器,如IP、SP、BX、 SI 等都是16 位的,只能直接寻址64KB。为了寻址1MB 存储空间,8086CPU 采用了典型的 存储器分段技术,即将整个存储器空间分为许多逻辑段,每个逻辑段的容量小于或等于64KB。 分段后,对存储器的寻址操作不再直接用20 位的物理地址,而是采用段地址加段内偏移地 址的二级寻址方式。 8.答: 将AH的内容送存储单元的操作过程中:M / IO =1,WR = 0,RD =1,DT / R =1; 将I/O 端口的内容送AL的操作过程中:M / IO = 0,WR =1,RD = 0,DT / R = 0。 9.答: BHE A0 有效的数据引脚 操 作 0 0 AD15~AD0(一个总线周期同时访问奇体和偶 体,从奇地址单元读/写字数据的高8 位,从偶地 址单元读/写字数据的低8 位) 从偶地址读/写一个 字 6 1 0 AD7~AD0 从偶地址读/写一个 字节 0 1 AD15~AD8 从奇地址读/写一个 字节 0 1 1 0 AD15~AD8(第一个总线周期从奇字数据的低8 位) AD7~AD0(第二个总线周期从偶地址单元读/写 字数据的高8 位) 从奇地址读/写一个 字 10.简述8086系统复位后各寄存器的状态。 2分 答: 8086 系统复位后,指令指针(IP)为0000H;CS 寄存器为FFFFH,其他寄存器为0000H; 指令队列清空。 11. 简述8086系统中为什么一定要有地址锁存器?需要所存哪些信息? 2分 答: 8086 的A19/S6~A16/S3 和AD15~AD0 是复用信号,需要地址锁存器将地址信息保存 起来,为外接存储器或外设提供地址信息。 需要锁存的信号是:地址信号及BHE 信号。 12.8086CPU基本的总线周期包括几个时钟周期? 1分 答: 8086CPU 一个基本的总线周期包含4 个时钟周期:T1、T2、T3 和T4 。 在T1 状态,M/ IO有效,指示CPU 访问的是存储器还是外设,之后CPU 往多路复用 总线上发出地址信息,以指出要寻址的存储单元或外设端口的地址。在T1 状态,CPU 还必 须在ALE 引脚上输出一个正脉冲作为地址锁存信号。BHE信号也在T1 状态送出,它用来 表示数据传送的字宽。 在T2 状态,CPU 从总线上撤销地址,使总线的低16 位浮空,置成高阻状态,为传输 数据作准备。总线的最高4 位(A19~A16)用来输出本总线周期的状态信息。读信号RD或 写信号WR在T2 状态变为有效,指示CPU 将进行哪种操作(读或写)。 在T3 状态,多路总线的高4 位继续提供状态信息,而多路总线的低16 位上出现由CPU 读出的数据或者CPU 从存储器或端口写入的数据。 在T4 状态和前一个状态的交界处,CPU 对数据总线进行采样,获得数据,总线周期结 束。 13.什么情况下需要插入TW周期?应该插入多少个TW取决于什么因素? 2分 答: 在有些情况下,外设或存储器速度较慢,不能及时地配合CPU 传送数据。这时,外设 或存储器会通过“READY”信号线在T3 状态启动之前向CPU 发一个“数据未准备好”信 号,于是CPU 会在T3 之后插入1 个或多个附加的时钟周期TW。取决与外设或存储器速度。 14.答: 两种操作时序的不同之处发生在T1 和T2 状态。 ① 在T1状态,读周期:DT/R应输出低电平;写周期:DT/R应输出高电平。 ② 在T2 状态,读周期:RD有效,而WR无效,AD15~AD0 为高阻态;写周期:RD 变为无效,而写信号WR变为有效,AD15~AD0 在地址撤销之后立即送出要写入存储器或 外设端口的数据。 7 15.答: 在最小模式下,读信号RD、ALE 和DT/R、DEN等信号直接由CPU 给出; 在最大模式下,总线控制器8288 根据 2 1 S ,S 和 0 S 状态信号产生读信号MRDC和IORC, ALE 和DT/R、DEN 也是由8288 发出的,而且DEN 信号的极性与CPU 在最小模式下发 出的DEN信号正好相反。 8 第4章 习题答案 1.什么叫寻址方式?8086CPU支持哪几种寻址方式? 2分 答: 指令中关于如何求出操作数有效地址的方法称为寻址方式。 8086CPU支持多种寻址方式,根据操作数的类型及来源大致分为3类:数据寻址、转移地址寻址和I/O寻址。 2.答: 8086汇编指令可以采用7种基本的数据寻址方式:①立即寻址;②寄存器寻址;③直接寻址;④寄存器间接寻址;⑤寄存器相对寻址;⑥基址变址寻址;⑦相对基址变址寻址。 与存储器寻址方式(后5种)相比,寄存器寻址方式最快。 3.内存寻址方式中,一般只指出操作数的偏移地址,那么,段地址如何确定?如果要用某个段寄存器指出段地址,指令中应该如何表示? 2分 答: 如果指令中没有用前缀说明操作数存放在哪个段,则操作数默认存放在数据段。 8086系统允许操作数存放在代码段、堆栈段或附加段。此时,就需要在指令中利用前缀指明段超越。例如: MOV ES:[1225H],AX 4.在8086系统中,设DS=1000H,ES=2000H,SS=1200H,BX=0300H,SI=0200H,BP=0100H,VAR的偏移量为0600H,请指出下列指令的目标操作数的寻址方式,若目标操作数为存储器操作数,请计算它们的物理地址是多少? 2分 1)MOV BX,12 2)MOV [BX],12 3)MOV ES:[SI],AX 4)MOV VAR,8 5)MOV [BX][SI],AX 6)MOV 6[BP][SI],AL 7)MOV [100H],DX 8)MOV 6[BX],CX 9)MOV VAR+5,AX 答: (1)寄存器寻址方式 (2)寄存器间接寻址方式,PA=10300H (3)寄存器间接寻址方式,PA=20200H (4)直接寻址方式,PA=10060H (5)基址变址寻址方式,PA=10500H (6)相对基址变址寻址方式,PA=12300H (7)直接寻址方式,PA=11000H (8)__________寄存器相对寻址方式,PA=10306H (9)直接寻址方式,PA=10065H 5.判断指令对错。如果是错误的,请说明原因答。 2分 1)XCHG CS,AX 2)MOV [BX],[1000H] 3)XCHG BX,IP 4)PUSH CS √ 5)POP CS 6)IN BX,DX √ 7)MOV BYTE[BX],1000 8)MOV CS,[1000H] 9)MOV BX,OFFSET VAR[SI] √ 10)MOV AX,[SI][DI] 11)MOV COUNT[BX][SI],ES:AX 6.试述以下指令的区别。 2分 1)MOV AX,3000H 与 MOV AX,[3000H] 2)MOV AX,MEM 与 MOV AX,OFFSET MEM 3)MOV AX,MEM 与 LEA AX,MEM 4)JMP SHORT L1 与 JMP NEAR PTR L1 5)CMP DX,CX 与 SUB DX,CX 6)MOV [BP][SI],CL 与 MOV DS:[BP][SI],CL 答: (1)源操作数的寻址方式不同。MOV AX,3000H指令的源操作数采用的是立即数寻址方式,MOV AX,[3000H]指令的源操作数采用的是直接寻址方式。 (2)指令执行后,AX的值不同。MOV AX,MEM指令执行后,AX得到的是MEM单元的内容,而MOV AX,OFFSET MEM指令执行后,AX得到的是MEM单元的地址。 (3)指令不同。MOV AX,MEMMOV AX,MEM指令执行后,AX得到的是MEM单元的内容,而LEA AX,MEM指令执行后,AX得到的是MEM单元的地址。 (4)转移的类型不同。JMP SHORT L1指令实现的是段内转移,而JMP NEAR PTR L1指令实现的是段间转移。 (5)指令的执行结果不同。CMP DX,CX指令执行后,DX的值不变,而SUB DX,CX指令执行后,DX的值是两寄存器值的差。 (6)操作数所在段不同。MOV [BP][SI],CL指令访问的是堆栈段的存储单元,而MOV DS:[BP][SI],CL指令访问的是数据段的存储单元。 7.答: (1)MOV BYTE PTR [BP],200指令执行后,(58200H)=200H (2)MOV WORD PTR [BX],2000指令执行后,(22400H)=2000H 8.答: 当前栈顶地址是:FE00H:2010H; 执行PUSH BX指令后,栈顶地址变为:FE00H:200EH,栈顶2字节内容是:3457H。 9.答: (1)(DX)=3C62H,CF=1 (2)(DX)=03C6H,CF=0 (3)(DX)=18A0H,CF=1 (4)(DX)=2BC6H,CF=0 (5)(DX)=18B7H,CF=1 (6)(DX)=BCC5H,CF=0 10.答: (AX) CF ZF OF SF PF (1) 134EH 0 0 0 0 1 (2) 0821H 0 0 0 0 1 (3) F142H 1 0 0 1 1 (4) 0A69 1 0 0 1 1 (5) F596 - - - - - (6) 0A69 0 0 0 0 1 11.设AX和BX是符号数,CX和DX是无符号数,若转移目标指令的标号是NEXT,请分别为下列各项确定CMP和条件转移指令。 5分 1)CX值超过DX转移 2)AX值未超过BX转移 3)DX为0转移 4)CX值等于小于DX转移 答: (1) CMP CX,DX JA NEXT (2)CMP AX,BX JNA NEXT (3)CMP DX,0 JZ NEXT (4)CMP CX,DX JBE NEXT 12.阅读分析下列指令序列 ADD AX,BX JNO L1 JNC L2 SUB AX,BX JNC L3 JNO L4 JMP L5 若AX和BX的初值分别为以下5种情况,则执行该指令序列后,程序将分别转向何处(L1-L5中的哪一个)? 1)AX=14C6H, BX=80DCH 2)AX=0B568H,BX=54B7H 3)AX=42C8H, BX=608DH 4)AX=0D023H,BX=9FD0H 5)AX=9FD0H, BX=0D023H 答: (1) 程序转向L1。 (2) 程序转向L1。 (3) 程序转向L2。 (4) 程序转向L5。 (5) 程序转向L5。 13.答: 因为普通运算指令执行的是二进制数的运算,而BCD码是十进制数,所以,需要对运算结果进行十进制调整。 在做BCD码的加、减和乘法运算时,十进制调整指令放在运算指令之后;而作BCD码的除法运算时,在运算指令之前用十进制调整指令对被除数进行调整。 14.答: MOV Cl,3 10 SHR bx,cl 15.答:(略) 16.答: 17.答: DATA SEGMENT COUNT=100H ORG 1000H D_DATA DB COUNT DUP(?) ORG 2170H S_DATA DB COUNT/5 DUP(1,2,3,4,5) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA START: MOV AX,DATA MOV DS,AX MOV ES,AX LEA SI,S_DATA LEA DI,D_DATA MOV CX,COUNT REP MOVSB MOV AL,1 MOV CX,COUNT LEA DI,D_DATA AGAIN: CMP BYTE PTR [DI],AL JNZ NEXT MOV BYTE PTR [DI], NEXT: INC DI LOOP AGAIN EXIT: MOV AH,4CH INT 21H CODE ENDS END START 11 18. 答: 19. 答: CODE SEGMENT ASSUME CS:CODE START: MOV AX,5678H MOV DX,1234H NOT AX NOT DX ADD AX,1 ADC DX,0 EXIT: MOV AH,4CH INT 21H CODE ENDS END START ;本程序未考虑溢出的情况。 DATA SEGMENT A1 DW 5050H A2 DW ? ;存A1的反码 A3 DW ? ;存A1的补码 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AX,A1 NOT AX MOV A2,AX INC AX MOV A3,AX EXIT: MOV AH,4CH INT 21H CODE ENDS END START 12 20. 答: 21. 答: DATA SEGMENT ;AT 5000H ORG 3481H DAT DB 12H DB ?,?,? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AL,DAT NEG AL MOV DAT+1,AL MOV AL,DAT XOR AL,00001111B MOV DAT+2,AL MOV AL,DAT OR AL,11110000B MOV DAT+3,AL EXIT: MOV AH,4CH INT 21H CODE ENDS END START COUNT=1000 DATA SEGMENT ORG 1000H DAT DB 10 DUP (12H,-5,-3,0,-128,56H,98H,4,128,200) ORG 2000H MINDAT DB ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA SI,DAT MOV CX,COUNT DEC CX MOV AL,[SI] NEXT: INC SI CMP AL,[SI] JLE ISMIN MOV AL,[SI] ISMIN: LOOP NEXT MOV MINDAT,AL EXIT: MOV AH,4CH INT 21H CODE ENDS END START 13 22. 答: DATA SEGMENT STRING1 DB hELLO! COUNT1=$-STRING1 STRING2 DB hEL1O! COUNT2=$-STRING2 IM DB MATCH$ NM DB NOT MATCH$ DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA SI,STRING1 LEA DI,STRING2 MOV CX,COUNT1 MOV BX,COUNT2 CMP CX,BX JNZ DISPNOTMATCH NEXT: MOV AL,[SI] MOV AH,[DI] CMP AL,AH JNZ DISPNOTMATCH INC SI INC DI LOOP NEXT ISMATCH: MOV DX,OFFSET IM MOV AH,9 INT 21H JMP EXIT DISPNOTMATCH: MOV DX,OFFSET NM MOV AH,9 INT 21H EXIT: MOV AH,4CH INT 21H CODE ENDS END START 14 23. 答: 24. 答: DSEG SEGMENT DATA DB 5,6,7,8 DW ? DATA2 DB 1,10,100,20 DSEG ENDS CODE SEGMENT ASSUME CS:CODE,DS:DSEG START: MOV AX,DSEG MOV DS,AX MOV DX,0 MOV CX,4 LEA SI,DATA LEA DI,DATA2 NEXT: MOV AL,[DI] MOV BL,[SI] CALL DOMUL ADD DX,AX INC DI INC SI LOOP NEXT MOV WORD PTR DATA+4,DX EXIT: MOV AH,4CH INT 21H DOMUL PROC MUL BL RET DOMUL ENDP CODE ENDS END START MOV CX,100 MOV AX,SEG LIST MOV DS,AX MOV AX,SEG BLK MOV ES,AX LEA SI,LIST ADD SI,CX LEA DI,BLK ADD DI,CX STD REP MOVSB 15 25. 答: JMP SHORT LAB指令是一条双字节指令。这条指令取出后,(IP)=0102H,转移目标的偏移地址=(IP)+位移量。所以,转移目标的物理地址=(CS)╳16+(IP)+位移量。 (1)转移目标的物理地址=(CS)╳16+0158H (2)转移目标的物理地址=(CS)╳16+0182H (3)转移目标的物理地址=(CS)╳16+017AH (4)转移目标的物理地址=(CS)╳16+01E2H 26. 答: DSEG SEGMENT BUFFER DW 8 DB 12345678 DSEG ENDS CODE SEGMENT ASSUME CS:CODE,DS:DSEG START: MOV AX,DSEG MOV DS,AX MOV CX,BUFFER SAR CX,1 LEA SI,BUFFER MOV DI,SI ADD DI,2 AGAIN: ADD SI,2 MOV AL,[SI] AND AL,0FH SAL BYTE PTR [SI+1],1 SAL BYTE PTR [SI+1],1 SAL BYTE PTR [SI+1],1 SAL BYTE PTR [SI+1],1 OR AL,BYTE PTR [SI+1] MOV [DI],AL INC DI LOOP AGAIN EXIT: MOV AH,4CH INT 21H CODE ENDS END START DSEG SEGMENT ORG 10H DAT DB 10 DB ? DSEG ENDS CODE SEGMENT ASSUME CS:CODE,DS:DSEG START: MOV AX,DSEG MOV DS,AX MOV AL,DAT MOV BL,AL SAL BL,1 ADD AL,BL MOV CL,2 SAL BL,CL ADD AL,BL MOV DAT+1,AL EXIT: MOV AH,4CH INT 21H CODE ENDS END START 16 27. 答: 28. 答: 29. 答: DSEG SEGMENT ORG 10H DAT DB 10H,20H DB ?,? DSEG ENDS CODE SEGMENT ASSUME CS:CODE,DS:DSEG START: MOV AX,DSEG MOV DS,AX MOV AL,DAT MOV AH,DAT+1 MOV CL,3 SAR AX,CL MOV DAT+2,AL MOV DAT+3,AH EXIT: MOV AH,4CH INT 21H CODE ENDS END START DSEG SEGMENT BLOCK DW 8 DUP (10H,20H,-3,-9) DSEG ENDS CODE SEGMENT ASSUME CS:CODE,DS:DSEG START: MOV AX,DSEG MOV DS,AX LEA SI,BLOCK MOV CX,32 AGAIN: MOV AX,[SI] CMP AX,0 JNS NEXT NEG AX MOV [SI],AX NEXT: INC SI INC SI LOOP AGAIN EXIT: MOV AH,4CH INT 21H CODE ENDS END START 17 DSEG SEGMENT ORG 3030H DAT DW 1234H,-1234H
展开阅读全文
提示  淘文阁 - 分享文档赚钱的网站所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:微机基础学习知识原理与接口技术顾晖习题集参考材料.规范标准答案.doc
链接地址:https://www.taowenge.com/p-2604951.html
关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

收起
展开