微机原理与接口技术(楼顺天)第4章17题
微机原理习题答案1234章
微机原理与接口技术楼顺天周佳社编著科学出版社2006年习题解答因时间紧,习题解答由部分老师提供,还没有经过仔细校对,肯定有不少错误,请各位指正。
另外,习题有多种解法,答案不唯一,仅供参考。
第1章数制与码制1.将下列十进制数转换成二进制数:(1)58;(2)67.625; (3)5721;解:(1)58D = 0011 1010B(2)67.625D = 0100 0011.1010B(3)5721D = 0001 0110 0101 1001B2.将二进制数变换成十六进制数:(1)1001 0101B;(2)11 0100 1011B;(3)1111 1111 1111 1101B;(4)0100 0000 10101B;(5)0111 1111B;(6)0100 0000 0001B解:(1)1001 0101B = 95H(2)11 0100 1011B = 34BH(3)1111 1111 1111 1101B = FFFDH(4)0 1000 0001 0101B = 815H(5)0111 1111B = 7FH(6)0100 0000 0001B = 401H3.将十六进制数变换成二进制数和十进制数:(1)78H;(2)0A6H;(3)1000H;(4)0FFFFH解:(1)78H = 120D = 0111 1000B(2)0A6H = 166D = 1010 0110B(3)1000H = 4096D = 0001 0000 0000 0000H(4)0FFFFH = 65535D = 1111 1111 1111 1111B4.将下列十进制数转换成十六进制数:(1)39;(2)299.34375;(3)54.5625解:(1)39D = 27H(2)299.34375D = 12B.58H(3)54.5625D = 36.9H5.将下列二进制数转换成十进制数:(1)10110.101B;(2)10010010.001B;(3)11010.1101B解:(1)10110.101B = 22.625D(2)10010010.001B = 146.125D(3)11010.1101B = 26.8125D6.计算(按原进制运算):(1)10001101B+11010B;(2)10111B+11100101B;(3)1011110B-1110B;(4)124AH+78FH;(5)5673H+123H;(6)1000H-F5CH;解:(1)10100111B(2)11111100B(3)1010000B(4)19D9H(5)5796H(6)A4H7.已知a=1011B, b=11001B, c=100110B, 按二进制完成下列运算,并用十进制运算检查计算结果:(1)a+b; (2)c-a-b; (3)a×b; (4)c÷b解:a=1011B=11D b=11001B=25D c=100110B =38D(1)100100B = 36D(2)10B = 2D(3)1 0001 0011B=275D(4)1B 余1101B= 13D8.已知a=00111000B, b=11000111B, 计算下列逻辑运算:(1)a AND b; (2)a OR b; (3)a XOR b; (4)NOT a解:(1)00000000B(2)11111111B(3)11111111B(4)11000111B9.设机器字长为8位,写出下列各数的原码和补码:(1)+1010101B;(2)-1010101B;(3)+1111111B;(4)-1111111B;(5)+1000000B;(6)-1000000B解:(1)原01010101B 补01010101B(2)原11010101B 补10101011B(3)原01111111B 补01111111B(4)原11111111B 补10000001B(5)原01000000B 补01000000B(6)原11000000B 补11000000B10.写出下列十进制数的二进制补码表示(设机器字长为8位):(1)15;(2)-1;(3)117;(4)0;(4)-15;(5)127;(6)-128;(7)80解:(1)(00001111B)补(2)(11111111B)补(3)(01110101B)补(4)(00000000B)补(5)(11110001B)补(6)(01111111B)补(7)(10000000B)补(8)(01010000B)补11.设机器字长为8位,先将下列各数表示成二进制补码,然后按补码进行运算,并用十进制数运算进行检验:(1)87-73;(2)87+(-73);(3)87-(-73);(4)(-87)+73;(5)(-87)-73;(6)(-87)-(-73);解:(1)1110B=14D(2)00001110B 进位舍弃(3)10100000B=-96D 溢出(4)11110010B=-14D(5)01100000B=96D 溢出(6)11110010B=-14D12.已知a,b,c,d为二进制补码:a=00110010B, b=01001010B, c=11101001B, d=10111010B,计算:(1)a+b;(2)a+c;(3)c+b;(4)c+d;(5)a-b;(6)c-a;(7)d-c;(8)a+d-c解:(1)01111100B(2)00011011B(3)00110011B(4)10100011B(5)11101000B(6)10110111B(7)11010001B(8)11B13.设下列四组为8位二进制补码表示的十六进制数,计算a+b和a-b,并判断其结果是否溢出:(1)a=37H, b=57H; (2)a=0B7H, b=0D7H;(3)a=0F7H, b=0D7H; (4)a=37H, b=0C7H解:(1)a+b=8EH溢出,a-b=E0H未溢出(2)8EH未溢出,E0H未溢出(3)CEH未溢出,20H未溢出(4)FEH未溢出70H未溢出14.求下列组合BCD数的二进制和十六进制表示形式:(1)3251(2)12907(3)2006解:(1)0011 0010 0101 0001B = 3251H(2)0001 0010 1001 0111B = 12907H(3)0010 0000 0000 0110B = 2006H15.将下列算式中的十进制数表示成组合BCD码进行运算,并用加6/减6修正其结果:(1)38+42;(2)56+77;(3)99+88;(4)34+69;(5)38-42;(6)77-56;(7)15-76;(8)89-23解:(1) 0011 1000B + 0100 0010B = 0111 1010B 低BCD码位需要加6修正0111 1010B + 0000 0110B = 1000 0000B = 80BCD(2) 0101 0110B + 0111 0111B = 1100 1101B 高、低BCD码位都需要加6修正1100 1101B + 0110 0110B = 0001 0011 0011B=133BCD(3) 1001 1001B+1000 1000B = 0001 0010 0001B 高、低BCD码位都需要加6修正0001 0010 0001B +0110 0110B = 0001 1000 0111B=187BCD(4) 0011 0100B + 0110 1001B = 1001 1101B 低BCD码位需要加6修正1001 1101B + 0000 0110B = 1010 0011B 修正结果使高BCD码位需要加6修正1010 0011B +0110 0000B = 0001 0000 0011B = 103BCD(5) 00111000B-01000010B =(-1)1111 0110B 高 BCD码位需要减6修正(-1)1111 0110B -0110 0000B =(-1)1001 0110B=-100+96=-4BCD(6)01110111B-01010110B = 0010 0001B = 21BCD(7) 00011001B-01110110B =(-1)1001 1111B 高、低BCD码位都需要减6修正(-1)1001 1111B -01100110B =(-1)0011 1001B = -100+39 = -61BCD(8)10001001B-00100011B = 0110 0110B = 66BCD16.将下列字符串表示成相应的ASCII码(用十六进制数表示):(1)Example 1;(2)XiDian University;(3)-108.652;(4)How are you?;(5)Computer(6)Internet Web解:(1)45H,78H,61H,6DH,70H,6CH,65H,20H,31H(2)58H,69H,44H,69H,61H,6EH,20H,55H,6EH,69H,76H,65H,72H,73H,69H,74H,79H (3)2DH,31H,30H,38H,2EH,36H,35H,32H(4)48H,6FH,77H,20H,61H72H,65H,20H79H,6FH,75H(5)43H,6FH,6DH,70H,75H,74H,65H,72H(6)49H,6EH,74H,65H72H,6EH,65H,74H,20H,57H,65H,62H17.将下列字符串表示成相应的ASCII码(用十六进制数表示):(1)Hello(2)123<CR>456;(注:<CR>表示回车)(3)ASCII;(4)The number is 2315解:(1)48H,65H,6CH,6CH,6FH (2)31H,32H,33H,0DH,34H,35H,36H (3)41H,53H,43H,49H,49H (4)54H,68H,65H,20H,6EH,75H,6DH,62H,65H,72H第2章 8086 CPU 结构与功能1. 微处理器内部结构由哪几部分组成?阐述各部分的主要功能。
微机原理与接口技术(楼顺天)-第4章4
START:
4.4
循环程序设计技术
MOVE1: MOV AL,[SI] INC SI CMP AL,0FFH JZ MOVE2 MOV [DI],AL INC DI INC NUMBER MOVE2: LOOP MOVE1 MOVE_END: MOV AH,4CH INT 21H CODE ENDS END START
循环体
预置内循环次数 其他准备工作
循环减1计数 循环体 N 结果为0? Y 退出循环 (a) N 内循环减1计数
结果为0? Y 外循环减1计数
N
结果为0? Y 退出循环 (b)
图 4 - 3循环程序结构 (a) 单循环结构; (b) 双循环结构
在编写程序之前要对解决的问题进行分析: ① 首先确定程序采用循环结构完成数据搬家操作。 ② 定义数据单元。 ③ 按顺序将原数据逐一搬家(该步骤要求修改原数据 地址、 目的数据地址及搬家次数)。
比较对象,那么N个数需要比较N-1次。
根据循环程序的嵌套层数不同,可以将循环程序的结 构分成单循环、双循环和多重循环。上面介绍的例子是单 循环的结构,下面举例说明如何进行双重循环的程序设计 假设需要对无序表中的元素排序,冒泡排序是最常用的一
种方法。
设从地址ARRAY开始的内存缓冲区中有一个字数组, 要使该数据表中的N个元素按照从大到小的次序排列,用 冒泡算法显示的过程叙述如下: 从第一个数开始依次进行相邻两个数的比较, 即第一个 数与第二个数比较, 第二个数与第三个数比较 ……,比较时
4.4
循环程序设计技术
由于每次比较操作都在相邻两个单元进行,因此只需要一 个指针。汇编语言程序如下: N=100 ;设有100个数据 STACK SEGMENT STACK ‘STACK’ DW 100H DUP(?) TOP LABEL WORD STACK ENDS DATA SEGMENT DATABUF DW N DB N DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK
微机原理与接口技术(楼顺天)第4章17题
4.17设有n(设为17)个人围坐在圆桌周围,按顺时针给他们编号,(1,2,。
,n)从第1个人开始按顺时针方向加1报数,当报数到m(设为11)时,该人出列,余下的人继续进行,直到所有人出列为止。
编写程序模拟这一过程,求出出列人的编号顺序。
STACK SEGMENT STACK 'STACK'DW 100H DUP(?)TOP LABEL WORDSTACK ENDSDATA SEGMENTBUFFER LABEL WORDX=0REPT 17X=X+1DW XENDMBUF DW 100 DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART:MOV AX,DATAMOV DS,AXMOV ES,AXMOV AX,STACKMOV SS,AXLEA SP,TOPMOV CX,17LEA SI,BUFFERLEA DI,BUFMOV BX,1MOV CX,17L1: CMP CX,0 ;判断17个数字是否寻找完全JE L9MOV AX,[SI]CMP AX,0;判断si所指向的数字是否为0JNE L2SUB BX,1;若si指向0,则BX不累加,即在此处先减去1L2: CMP BX,11;判断BX是否为1,即是否完成11次数JE L3JMP L6L3: MOV AX,[SI];若BX为11,则显示此时si中的数字,且将si指向的数字变为0 CALL DISPAXCALL DISPCRMOV BX,1MOV AX,0MOV [SI],AXCMP SI,32JE L4ADD SI,2JMP L5L4: MOV SI,0L5: SUB CX,1;此时cx减去1,表示需要找寻的数字少了一个JMP L1L6: ADD BX,1;此时BX不为1,则对BX累加,且让指针指向下一个数CMP SI,32;若指针已经指向了17,则指针返回,下一次指向初始位置。
微机原理与接口技术(楼顺天)-第4章1
汇编语言程序设计基础
在实际应用中, 在实际应用中,每个段的定位类型 常选PARA PARA( 因为若选PAGE PAGE( 常选PARA(节)型.因为若选PAGE(页) 型,将会使相邻的段间有较大空间的浪 而选WORD BYTE型 WORD或 费;而选WORD或BYTE型,又很难做到使 一个段的偏移地址从0000H开始. 0000H开始 一个段的偏移地址从0000H开始.
汇编语言程序设计
起始和终止框 执行框 判断框 连接框 图4.1 流程图符号
汇编语言程序设计 根据流程图编写程序
编写程序是采用程序设计语言 来实现上面已确定的算法, 来实现上面已确定的算法,此过程 有些书上称为编码. 有些书上称为编码.本书所介绍的 是采用汇编语言编写程序. 是采用汇编语言编写程序.采用汇 编语言编写程序应注意以下几个问 题:
汇编语言程序设计基础
我们知道, CPU的地址空间是分段 我们知道,8086/8088 CPU的地址空间是分段 结构的,程序中出现的数据与代码以及程序中用到 结构的, 的堆栈都必须纳入某个段中.那么, 的堆栈都必须纳入某个段中.那么,如何告诉汇编 程序,源程序中的哪些内容属于数据段, 程序,源程序中的哪些内容属于数据段,哪些属于 代码段呢? 代码段呢?这自然是由汇编系统中提供的伪指令来 实现的. 实现的.下面我们首先介绍构成完整程序的有关伪 指令. 指令.
汇编语言程序设计基础 LABEL伪指令 BEL伪指令
格式: 格式: 名称 LABEL 类型 格式中的类型有BYTE,WORD,DWORD,结 格式中的类型有BYTE,WORD,DWORD, BYTE 构名,记录名,NEAR,FAR共 构名,记录名,NEAR,FAR共7种.前5种属于 变量的类型,后两种是属于标号的类型. 变量的类型,后两种是属于标号的类型.结 构和记录是由伪指令定义的两种数据类型( 构和记录是由伪指令定义的两种数据类型(关 于这两种数据类型的定义在此就不在叙述, 于这两种数据类型的定义在此就不在叙述, 请参阅有关资料). 请参阅有关资料).
微机原理与接口技术课后习题与参考答案
|第一章课后习题把下列十进制数转换成二进制数、八进制数、十六进制数。
① ② ③ ④ 97/128把下列二进制数转换成十进制数。
① ② ③ ④把下列八进制数转换成十进制数和二进制数。
① ② ③ ④把下列十六进制数转换成十进制数。
~① ② ③ ④ 1EC求下列带符号十进制数的8位补码。
① +127 ② -1 ③ -0 ④ -128求下列带符号十进制数的16位补码。
① +355 ② -1计算机分那几类各有什么特点简述微处理器、微计算机及微计算机系统三个术语的内涵。
80X86微处理器有几代各代的名称是什么—你知道现在的微型机可以配备哪些外部设备微型机的运算速度与CPU的工作频率有关吗字长与计算机的什么性能有关习题一参考答案① ===② ===③ ===④ 97/128D=64/123+32/128+1/128===|① = ② =③ = ④ =① == ② ==③ == ④ =.100101B=① = ② =③ = ④ 1E CH=492D① [+127]补=01111111 ② [-1]补=③ [-0]补=00000000 ④[-128]补=,① [+355]补= 00000001 ② [-1]补= 1111 1111 1111 1111答:传统上分为三类:大型主机、小型机、微型机。
大型主机一般为高性能的并行处理系统,存储容量大,事物处理能力强,可为众多用户提供服务。
小型机具有一定的数据处理能力,提供一定用户规模的信息服务,作为部门的信息服务中心。
微型机一般指在办公室或家庭的桌面或可移动的计算系统,体积小、价格低、具有工业化标准体系结构,兼容性好。
答:微处理器是微计算机系统的核心硬件部件,对系统的性能起决定性的影响。
微计算机包括微处理器、存储器、I/O接口电路及系统总线。
微计算机系统是在微计算机的基础上配上相应的外部设备和各种软件,形成一个完整的、独立的信息处理系统。
答:从体系结构上可分为5代:4004:4位机;8080/8085:8位机;8086/8088/80286:16位机;80386/80486:32位机;Pentium系列机:64位。
微机原理与接口技术(习题答案)(DOC)(精编文档).doc
【最新整理,下载后即可编辑】第1章 微机运算基础习题和思考题1. 请完成以下计算:174.66D=(10101110.10101)B =(AE. A8)H10101110101.01011B =( 1397.344)D =(575.58)H4BCH =(010*********)B =( )BCD2. 设字长为8位,X =(2A )16,当X 分别为原码、补码、反码和无符号数的时候,其真值是多少?答:当X 表示原码时,其真值为:+101010当X 表示补码时,其真值为:+101010当X 表示反码时,其真值为:+101010当X 表示无符号数数时,其真值为:001010103. 设字长为8位,用补码形式完成下列计算,要求有运算结果并讨论是否发生溢出?120+18 -33-37-90-70 50+84答:120+18其补码形式分别为:(120)补=01111000 (18)补=00010010 01111000+ 0001001010001010由于C s =0 ,C p =1,因此有溢出,结果错误-33-37其补码形式为:(-33)补=11011111 (-37)补=11011011 11011111+1101101110111010由于C s =1, C p =1,所以没有溢出,结果正确-90-70其补码形式为:(-90)补=10011100 (-70)补=10111010 10011100+1011101001010110由于C s =1, C p =0,所以有溢出,结果错误50+84其补码形式为:(50)补=00110010 (84)补=0101010000110010+0101010010000110由于C s =0, C p =1,所以有溢出,结果错误4. 请写出下列字符串的ASCII 码值。
My name is Zhang san.4D 79 6E 61 6D 65 69 73 5A 68 61 6E 67 73 61 6E 2E第2章80X86微机系统习题与思考题1.微型计算机主要由哪些基本部件组成?各部件的主要功能是什么?答:微型计算机主要由输入设备、运算器、控制器、存储器和输出设备组成。
微机原理与接口技术 课后答案龚尚福
微机原理与接口技术课后答案龚尚福第一章:计算机基础知识1.什么是计算机?计算机有哪些基本组成部分?–计算机是一种可以按照预定程序自动进行数值和非数值计算的设备。
–计算机的基本组成部分包括中央处理器(CPU)、存储器、输入设备、输出设备和控制器。
2.什么是微型计算机?微型计算机的特点有哪些?–微型计算机是指体积小、价格低廉的小型计算机系统。
–微型计算机的特点包括:体积小、成本低、功耗低、易于携带、可扩展性好等。
3.什么是冯·诺依曼体系结构?它包括哪些基本特点?–冯·诺依曼体系结构是一种计算机的基本设计思想,它将存储器和处理器分开,通过总线进行数据和指令的传输。
–冯·诺依曼体系结构的基本特点包括:存储程序、以二进制表示信息、存储器与处理器分离、由指令控制程序执行的顺序。
第二章:数字电路基础知识1.什么是逻辑门?常用的逻辑门有哪些?–逻辑门是一种用于实现逻辑运算的电路元件,根据输入信号的不同组合产生相应的输出信号。
–常用的逻辑门有与门(AND)、或门(OR)、非门(NOT)、异或门(XOR)等。
2.什么是布尔逻辑运算?常见的布尔逻辑运算有哪些?–布尔逻辑运算是指利用布尔代数进行逻辑运算的方法。
–常见的布尔逻辑运算有与运算(AND)、或运算(OR)、非运算(NOT)等。
3.什么是半加器和全加器?它们的作用是什么?–半加器是一种用于实现二进制数相加的电路,它可以将两个输入信号相加并产生相应的进位和和。
–全加器是一种用于实现三个二进制数相加的电路,它可以将三个输入信号相加并产生相应的进位和和。
第三章:微处理器基础知识1.什么是微处理器?它的功能有哪些?–微处理器是一种集成电路,它由控制单元、算术逻辑单元、寄存器和时钟等功能模块组成,用于执行计算机程序。
–微处理器的功能包括指令译码、执行算术和逻辑运算、读写存储器、控制外部设备等。
2.什么是指令?指令由哪些部分组成?常见的指令有哪些?–指令是微处理器执行操作的基本单位,它们以二进制的形式存储在存储器中。
微机原理与接口技术 楼顺天版 课后题答案
微机原理与接口技术楼顺天周佳社编著科学出版社找了好久,终于在期末从老师那儿弄了一份,希望对大家有用!5章习题1.微处理器的外部结构表现为数量有限的输入输出引脚,它们构成了微处理器级总线。
2.微处理器级总线经过形成电路之后形成了系统级总线。
3.简述总线的定义及在计算机系统中采用标准化总线的优点。
答:总线是计算机系统中模块(或子系统)之间传输数据、地址和控制信号的公共通道,它是一组公用导线,是计算机系统的重要组成部分。
采用标准化总线的优点是:1)简化软、硬件设计。
2)简化系统结构。
3)易于系统扩展。
4)便于系统更新。
5)便于调试和维修。
4.在微型计算机应用系统中,按功能层次可以把总线分成哪几类。
答:在微型计算机应用系统中,按功能层次可以把总线分成:片内总线、元件级总线、系统总线和通信总线。
5.简述RESET信号的有效形式和系统复位后的启动地址。
答:RESET为系统复位信号,高电平有效,其有效信号至少要保持四个时钟周期,且复位信号上升沿要与CLK下降沿同步。
系统复位后的启动地址为0FFFF0H。
即:(CS)=0FFFFH,(IP)=0000H。
M/信号在访问存储器时为高电平,访问I/O端口时为低电平。
6.8086 CPU的IO7.在8086系统总线结构中,为什么要有地址锁存器?答:8086CPU有20条地址线和16条数据线,为了减少引脚,采用了分时复用,共占了20条引脚。
这20条引脚在总线周期的T1状态输出地址。
为了使地址信息在总线周期的其他T状态仍保持有效,总线控制逻辑必须有一个地址锁存器,把T1状态输出的20位地址信息进行锁存。
8.根据传送信息的种类不同,系统总线分为数据总线、地址总线和控制总线。
9.三态逻辑电路输出信号的三个状态是高电平、低电平和高阻态。
10. 在8086的基本读总线周期中,在1T 状态开始输出有效的ALE 信号;在2T 状态开始输出低电平的RD 信号,相应的DEN 为__低__电平,R DT /为__低__电平;引脚AD 15 ~ AD 0上在1T 状态期间给出地址信息,在4T 状态完成数据的读入。
微机原理和接口技术[第四版]课后习题答案解析
第1章 微型计算机系统〔习题1.11.1〕简答题〕简答题(2)总线信号分成哪三组信号? (3)PC 机主存采用DRAM 组成还是SRAM 组成?(5)ROM-BIOS 是什么?(6)中断是什么?(9)处理器的“取指-译码-执行周期”是指什么?〔解答〕 ② 总线信号分成三组,分别是数据总线、地址总线和控制总线。
③ PC 机主存采用DRAM 组成。
⑤ ROM-BIOS 是“基本输入输出系统”,操作系统通过对BIOS 的调用驱动各硬件设备,用户也可以在应用程序中调用BIOS 中的许多功能。
⑥ 中断是CPU 正常执行程序的流程被某种原因打断、并暂时停止,转向执行事先安排好的一段处理程序,待该处理程序结束后仍返回被中断的指令继续执行的过程。
⑨ 指令的处理过程。
处理器的“取指—译码—执行周期” 是指处理器从主存储器读取指令(简称取指),翻译指令代码的功能(简称译码),然后执行指令所规定的操作(简称执行)的过程。
〔习题1.31.3〕填空题〕填空题(2)Intel 8086支持支持_________________________________容量主存空间,容量主存空间,容量主存空间,8048680486支持支持______________________容量主存空间。
(3)二进制16位共有位共有_________________________________个编码组合,如果一位对应处理器一个个编码组合,如果一位对应处理器一个地址信号,地址信号,1616位地址信号共能寻址位地址信号共能寻址_________________________________容量主存空间。
容量主存空间。
(9)最初由)最初由 公司采用公司采用Intel 8088处理器和(处理器和( )操作系统推出)操作系统推出PC 机。
② 1MB 1MB,,4GB③ 216,64KB((9)IBM,DOS〔习题1.41.4〕说明微型计算机系统的硬件组成及各部分作用。
微机原理与接口技术(楼顺天)-第4章
RF 则会显示出当前的标志位状态“NV UP EI PL NZ NA PO NC - ”,并等待用户输入更改值, 当需要更改IF和CF时,可以直接输入 “DICY”,这时可以将IF位清0、CF位置1, 而且输入顺序可以不按标志位的次序。
汇编语言程序的调试可以借助于专门的调试工 具软件DEBUG来实现。
4.2 源程序的汇编、连接与调试
DEBUG提供了强大的调试功能,主要有: 显示、修改寄存器和内存单元的内容(R命令) 按指定地址运行程序(G命令) 设置断点并分段执行程序(G命令) 反汇编目标代码(U命令) 单(多)条跟踪执行(单步执行)(T、P命令) 直接输入汇编语句(A命令) 显示并修改内存单元的内容(D、E、F命令) 读磁盘扇区 读/写文件
标志位的符号含义
4.2 源程序的汇编、连接与调试
标志位名称
溢出标志(OF) 方向标志(DF) 中断允许标志(IF)
符号标志(SF) 零标志(ZF) 半进位标志(AF)
奇偶标志(PF) 进位标志(CF)
标志位为“1” 的符号 OV DN EI
标志位为“0” 的符号 NV UP DI
NG
PL
ZR
NZ
AC
4.2 源程序的汇编、连接与调试
8.内存单元内容的传送 在DEBUG下,利用M命令可以将一块区域的内容传送 到另一个位置,它常用的有两种格式: (1)M [Daddr:]Offset1 Offset2 Offset3
;表示将从地址1(Offset1)到地址2 (Offset2)的所有单元的内容传送到地址Offset3开 始的单元中,例如M100 200 300表示将DS:100H 到200H的所有单元传送到300H开始的单元中。 (2)M [Daddr:]Offset1 L length Offset2
微机原理与接口技术(科学出版社)第4章课后习题及答案
微机原理与接口技术第四章课后习题1.指令主要有哪些分类方式? 其主要类别是什么?答:操作数、级别、功能。
操作数:无操作数、单操作数、双操作数三操作数;级别:机器指令和汇编指令功能:传送类、算术运算类、位操作类、I/O类、串操作类、CPU控制类、转移类;2.80X86的寻址方式有哪些?它们的具体含义是什么?答:操作数寻址方式主要有立即寻址方式、寄存器寻地址、存储器寻址方式、端口寻址方式(1)立即寻址方式:操作对象是这个操作数本身(2)寄存器寻地址:操作对象是寄存器中的内容(3)存储器寻址方式:操作对象是内存地址所对应的存储单元中的内容(4)端口寻址方式:操作数是指明端口的地址、端口地址所对应的端口中的内容是操作对象3. 指出下列各指令中源操作数和目的操作数的寻址方式:⑴MOV BX,WORD PTR[2200H] ⑵ AAA⑶JUM 2200H ⑷ LES DI,[2100H]⑸ MOV [BX+SI+8], BX ⑹ ADD AX,[BP+3000H]答:⑴MOV BX, WORD PTR[2200H] 源操作数:直接寻址;目的操作数:寄存器寻址⑵AAA 源操作数:寄存器寻址AL(也称隐含寻址);目的操作数:寄存器寻址⑶JUM 2200H 程序转移段内直接寻址方式⑷LES DI,[2100H] 源操作数:直接寻址;目的操作数:寄存器寻址⑸MOV [BX+SI+8], BX 源操作数:寄存器寻址;目的操作数:相对基址变址寻址⑹ADD AX,[BP+3000H] 源操作数:直接寻址;目的操作数:寄存器相对寻址4. 设CS=1000H,DS=2000H,ES=3000H,SS=4000H,IP=100H,SP=200H,BX=300H,BP=400H,SI=500 H,则:(1)10202H(2)40300H(3)21010H(4)42156H(5)31510H5.写出清除AX寄存器内容的方法并比较。
《微机原理与接口技术》(第四版)周何琴课后习题答案
第1章绪论作业1. 将下列二进制数转换成十进制数。
(1)11001010B=202 (2)00111101B=61 (3)01001101B=77(4)10100100B=1643. 将下列十进制数分别转换为二进制数和十六进制数。
(2)76= 100 1100B =4CH (4)134= 1000 0110B =86H4. 求下列十进制数的BCD 码(1)327=11 0010 0111(BCD 码)(2)1256=1 0010 0101 0110(BCD 码)6. 求出下列10进制数的原码、反码和补码(2)+85 (4)-85 解:85=0101 0101B原码:+85= 0101 0101B -85= 1101 0101B 反码:+85= 0101 0101B -85= 1010 1010B 补码:+85= 0101 0101B -85= 1010 1011B10. 画出微型计算机的基本结构框图,说明各部分的主要功能是什么?解:微型计算机的基本结构框图如下:微处理器CPU :控制微处理器与存储器或I/O 设备间的数据交换;进行算术和逻辑运算等操作;判定和控制程序流向。
微处理器主要完成:(1)指令控制:从存储器中取指令,指令译码;(2)数据加工:简单的算术逻辑运算;(3)操作控制:在微处理器和存储器或者I/O 之间传送数据;(4)时间控制:程序流向控制。
存储器:用来存放数据和指令。
I/O 接口:主机和外设间的桥梁,提供数据缓冲驱动、信号电平转换、信息转换、地址译码、定时控制等地址总线I/O 总线微处理器CPU存储器I/O 接口I/O 设备数据总线控制总线各种功能。
I/O设备:输入原始数据和程序,转换成计算机能识别的信息,送入存储器去等待处理。
输出运算结果。
总线:连接计算机系统中各功能部件的信息通道。
第2章 8086CPU作业2. 8086CPU内部由哪两部分组成?它们的大致是如何工作的?答:(1)8086CPU由指令执行部件EU和总线接口部件BIU两部分组成。
第4章_微机原理与接口技术答案欧青立编
第4章8086CPU汇编语言程序设计习题4.1汇编语言有何特点?编写汇编语言源程序时,一般的组成原则和结构是什么?参考答案:汇编语言是一种以处理器指令系统为基础的低级程序设计语言,它采用助记符表达指令操作码,采用标识符号表示指令操作数,可以直接、有效地控制计算机硬件,因而容易创建代码序列短小、运行快速的可执行程序。
编写汇编语言源程序时,一般的组成原则和结构如下:(1)完整的汇编语言源程序由段组成。
(2)一个汇编语言源程序可以包含若干个代码段、数据段、附加段或堆栈段,段与段之间的顺序可随意排列。
(3)需独立运行的程序必须包含一个代码段,并指示程序执行的起始点,一个程序只有一个起始点。
(4)所有的可执行性语句必须位于某一个代码段内,说明性语句可根据需要位于任一段内。
(5)通常,程序还需要一个堆栈段。
4.2简述助记符、汇编语言、汇编语言程序和汇编程序的基本概念及其异同。
参考答案:助记符:人们采用便于记忆、并能描述指令功能的符号来表示机器指令操作码,该符号称为指令助记符。
汇编语言:用助记符表示的指令以及使用它们编写程序的规则就形成汇编语言。
汇编语言程序:用汇编语言书写的程序就是汇编语言程序,或称汇编语言源程序。
汇编程序:汇编语言编写的程序不能由机器直接执行,而必须翻译成由机器代码组成的目标程序,这个过程称为汇编。
用来把汇编语言编写的程序自动翻译成目标程序的软件称为汇编程序(Assembler)。
常用的汇编程序是MASM.exe。
4.3如何规定一个汇编语言程序执行的开始位置?主程序执行结束时应该如何返回DOS?源程序在什么位置停止汇编过程?参考答案:用标号指明规定一个汇编语言程序执行的开始位置。
END伪指令后的标号所对应的地址即是程序开始位置。
主程序执行结束时应该利用DOS功能调用的4CH子功能来实现返回DOS。
在源程序的END伪指令处,停止汇编过程。
4.4汇编语言程序的开发有哪4个步骤?分别利用什么程序完成?各步骤完成后产生什么输出文件?参考答案:汇编语言的程序一般要经过编辑、汇编(MASM或ASM)、连接(LINK)和调试(DEBUG)4个步骤。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.17
设有n(设为17)个人围坐在圆桌周围,按顺时针给他们编号,(1,2,。
,n)从第1个人开始按顺时针方向加1报数,当报数到m(设为11)时,该人出列,余下的人继续进行,直到所有人出列为止。
编写程序模拟这一过程,求出出列人的编号顺序。
STACK SEGMENT STACK 'STACK'
DW 100H DUP(?)
TOP LABEL WORD
STACK ENDS
DATA SEGMENT
BUFFER LABEL WORD
X=0
REPT 17
X=X+1
DW X
ENDM
BUF DW 100 DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK
START:
MOV AX,DATA
MOV DS,AX
MOV ES,AX
MOV AX,STACK
MOV SS,AX
LEA SP,TOP
MOV CX,17
LEA SI,BUFFER
LEA DI,BUF
MOV BX,1
MOV CX,17
L1: CMP CX,0 ;判断17个数字是否寻找完全
JE L9
MOV AX,[SI]
CMP AX,0;判断si所指向的数字是否为0
JNE L2
SUB BX,1;若si指向0,则BX不累加,即在此处先减去1
L2: CMP BX,11;判断BX是否为1,即是否完成11次数
JE L3
JMP L6
L3: MOV AX,[SI];若BX为11,则显示此时si中的数字,且将si指向的数字变为0 CALL DISPAX
CALL DISPCR
MOV BX,1
MOV AX,0
MOV [SI],AX
CMP SI,32
JE L4
ADD SI,2
JMP L5
L4: MOV SI,0
L5: SUB CX,1;此时cx减去1,表示需要找寻的数字少了一个
JMP L1
L6: ADD BX,1;此时BX不为1,则对BX累加,且让指针指向下一个数
CMP SI,32;若指针已经指向了17,则指针返回,下一次指向初始位置。
JE L7
ADD SI,2
JMP L8
L7: MOV SI,0
L8:
JMP L1
L9:
MOV AH,4CH
MOV AL,0
INT 21H
DISPAX PROC NEAR
PUSH AX
PUSH BX
PUSH CX
PUSH DX
PUSH DI
MOV BX,10
L13:
XOR DX,DX
DIV BX
MOV [DI],DX
INC DI
INC DI
LOOP L13 MOV CX,3
L14:
DEC DI
DEC DI
MOV AL,[DI]
ADD AL,30H
MOV AH,02
MOV DL,AL
INT 21H LOOP L14 POP DI
POP DX
POP CX
POP BX
POP AX
RET DISPAX ENDP DISPCR PROC NEAR PUSH AX
PUSH DX
MOV AH,2
MOV DL,0AH
INT 21H MOV AH,2
MOV DL,0DH
INT 21H POP DX
POP AX
RET DISPCR ENDP XIAOYU PROC NEAR PUSH AX
PUSH DX
MOV AH,02
MOV DL,3CH
INT 21H
POP AX
RET XIAOYU ENDP
DAYU PROC NEAR PUSH AX
PUSH DX
MOV AH,02
MOV DL,3EH
INT 21H POP DX
POP AX
RET DAYU ENDP CODE ENDS ENDSTART。