微机原理作业
微机原理作业及参考答案
第一章计算机基础(P32)1-1电子管,晶体管,中小规模集成电路、大规模、超大规模集成电路。
1-2把CPU和一组称为寄存器(Registers)的特殊存储器集成在一片大规模集成电路或超大规模集成电路封装之中,这个器件才被称为微处理器。
以微处理器为核心,配上由大规模集成电路制作的只读存储器(ROM)、读写存储器(RAM)、输入/输出、接口电路及系统总线等所组成的计算机,称为微型计算机。
微型计算机系统是微型计算机配置相应的系统软件,应用软件及外部设备等.1-3写出下列机器数的真值:(1)01101110 (2)10001101(3)01011001 (4)11001110答案:(1)+110 (2)-13(原码) -114(反码)-115(补码)(3)+89 (4)-78(原码)-49(反码)-50(补码)1-4写出下列二进制数的原码、反码和补码(设字长为8位):(1)+010111 (2)+101011(3)-101000 (4)-111111答案:(1)[x]原=00010111 [x]反= 00010111 [x]补= 00010111(2)[x]原=00101011 [x]反= 00101011 [x]补= 00101011(3)[x]原=10101000 [x]反= 11010111 [x]补= 11011000(4)[x]原=10111111 [x]反= 11000000 [x]补=110000011-5 当下列各二进制数分别代表原码,反码,和补码时,其等效的十进制数值为多少?(1)00001110 表示原码14,反码14,表示补码为14(2)11111111 表示原码-127,反码-0,表示补码为-1(3)10000000 表示原码-0,反码-127,表示补码为-128(4)10000001 表示原码-1,反码-126,表示补码为-1271-6 已知x1=+0010100,y1=+0100001,x2=-0010100,y2=-0100001,试计算下列各式。
微机原理习题集以及答案
1 / 108第一部分 例题与习题第1章 微型计算机基础1.1 例 题1.把十进制数137.875转化为二进制数。
P7解:把十进制数转换成二进制数时,需要对一个数的整数部分和小数部分分别进行处理,得出结果后再合并。
整数部分:一般采用除2取余法小数部分:一般采用乘2取整法余数 低位 整数 高位 2 | 137 0.8752 | 68 × 2 2 | 34 1.7502 | 17 × 2 2 | 8 1.5002 | 4 × 2 2 | 2 1.0001 高位 低位 (137)10=()2 (0.875)10=(0.1101)2所以,(137.875)10=(10001001.111)22.把二进制数10011.0111转换为八进制数和十六进制数。
P9解:八进制、十六进制都是从二进制演变而来,三位二进制数对应一位八进制数,四位二进制数对应一位十六进制数,从二进制向八进制、十六进制转换时,把二进制数以小数点为界,对小数点前后的数分别分组进行处理,不足的位数用0补足,整数部分在高位补0,小数部分在低位补0。
(10 011.011 1)2=(010 011.011 100)2=(23.34)8(1 0011.0111)2=(0001 0011.0111)2=(13.7)163.将八进制数23.34转换为二进制数。
P9解:(23.34)8=(010 011.011 100)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.10100.0111 1.0001+-------------- 1 -------------- 0-------------- 0 -------------- 1-------------- 0 -------------- 0-------------- 0 -------------- 1 ------------- 1 ------------- 1 ------------- 1说明:当异号相减运算时,通过补码,减法运算转化为两个正数的加法运算,结果为负(符号位为1),表示运算结果溢出。
微机原理100道题答案
微机原理作业答案40.源程序如下:CMP AX,BXJNC L1JZ L2JNS L3JNO L4JMP L5设AX=74C3H,BX=95C3H,则程序最后将转到哪个标号处执行?试说明理由。
答:∵ 74C3H- 95C3HDF00H且有:CF=1, ZF=0, SF=1, OF=1∴程序将转到L5标号处执行。
41.设IBM PC微机内存中某个单元的物理地址是12345H,试完成下列不同的逻辑地址表示:(1)1234H:___H(2)____H:0345H答:(1)1234H:05H (2) 1200H:0345H42.假设某程序执行过程中,(SS)=0950H,(SP)=64H,试问该用户程序的堆栈底部物理地址是多少?答:(SS)*10H+(SP)-1=09563H43.设堆栈段寄存器(SS)=0E4BH,程序中设堆栈长度为200H个字节。
试计算出堆栈底部字单元物理地址,堆栈指针SP初始值(即堆栈中没有数据时)和SP初始值指向的物理地址。
答:物理地址为:0E6AFH-2, SP的初始值为200H,指向的物理地址为:0E6AFH.。
44.对于由8086CPU组成的系统,堆栈的位置如何确立?堆栈的首址(即:SS中的值)是不是栈底?为什么?答:8086系统中堆栈的位置由SS和SP初始化后确立:其中(SS)*16决定了堆栈段起始单元的地址,即堆栈段首址;(SS)*16+(SP初值)-1决定了堆栈段最后一个单元的地址,即栈底;(SS)*16+(SP现值)决定了堆栈段当前栈顶。
显然,堆栈首址并不是栈低。
一般来说,在堆栈所在的内存区内,栈底为高地址端。
堆栈初始化后,栈顶指向栈底+1单元的偏移地址。
当堆栈压入数据后,栈顶地址总是小于栈底地址(因为一次压入两个字节数据),位于低地址端。
45.设8255A的4个端口地址分别为0C0H、0C2H、0C4H和0C6H,要求用按位置位/复位控制字使PC6输出方波信号,试编程实现。
微机原理练习题
微机原理练习题一、1.在堆栈段中,存放栈顶的寄存器是()A. IP B SP C BX D BP2.计算机中用来存储程序、数据等信息的记忆装置是()A.控制器 B 运算器 C CPU D 存储器3.汇编语言中,存放下一条将要执行的指令地址的寄存器是()A. SP B AX C DI D IP4.TEST指令的功能与()指令类似。
A ANDB CMPC SUBD OR6、AH=0,AL=06H,BL=09H,执行指令ADD AL,BLAAA之后,其结果应是()。
A. AH=01,AL=05B. AH=1 AL=15C. AH=0 AL=0FHD. AH=0 AL=058. MOV SP,3210HPUSH AX执行上述指令序列后,SP寄存器的值是( )。
A、3211HB、320EHC、320FHD、3212H2、已知AX和BX中各存放一个无符号数,当AX大于等于BX时,转移到标号OK处,不能实现此转移的程序段是()A. CMP AX,BX JNC OKB. CMP AX,BX JNB OKC. CMP AX,BX JAE OKD. CMP BX,AX JB OK3、下面程序段符合汇编语言要求的是()A. DATA DB 10, 200 ,300B. DATA EQU 10DATA = DATA +20C. DATA DW 1050HMOV AL,DATAD. DATA DB 10B, 37Q,2AHMOV AL, DATA +14、若执行REP MOVSB 指令时,CX的值为0,则MOVSB指令执行的次数为()A. 0B. 1C. 65535D. 655361、十六进制数88H,可表示成下面几种形式,请找出错误的表示()。
A、无符号十进制数136B、带符号十进制数-120C、压缩型BCD码十进制数88D、8位二进制数-8的补码表示1、指令MOV AX,[SI][BP]的源操作数在哪一个逻辑段中()A. 数据段B. 附加段C. 代码段D. 堆栈段1. 下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是( )E、AX,BX,CX,DXF、BX,BP,SI,DIG、SP,IP,BP,DXH、CS,DS,ES,SS2、已知标号DATA的定义如下: DATA DB 12H, 34H, 现想把数据1234H取入AX中,正确的程序段是()A. MOV AX, WORD PTR DATAB. MOV AX, DATAC. MOV AH, DATAMOV AL,DATA+1D. MOV AL,DATAMOV DATA+19. 编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令有( )。
微机原理习题集
微机原理习题集第⼀章绪论作业题⼀、选择题1、⼝的基本功能是(C)。
A.输⼊缓冲 B.输出锁存 C.输⼊缓冲,输出锁存D.编址使⽤2所谓“端⼝”是指⼀些可以由CPU读或写的( C )A.RAMB.ROMC.寄存器D.缓冲器⼆、填空题1、实质上,微处理器对外设的访问就是对外设的中的访问。
(接⼝,端⼝)2、请写出三种常见的微处理器:________、________、________。
(8086;80286;80386)3、计算机CPU与输⼊/输出设备之间交换的信息包括________、________和________三类信号。
(数据信息;地址信息;控制信息)4、I/O接⼝按使⽤的信号类型包括、。
(数字、模拟)5、所谓接⼝就是与的连接部件(电路),它是CPU与外界进⾏信息交换的(CPU ;外设;中间电路)6、开关量是指只有的量,可以⽤⼀个来表⽰。
(两个状态⼆进制)7、⼀个典型的I/O接⼝,⼀般具有、和三种端⼝。
(数据、控制;地址)三、简答题1、简述微处理器、微计算机及微计算机系统三个术语的内涵。
答:微处理器是微计算机系统的核⼼硬件部件,对系统的性能起决定性的影响。
微计算机包括微处理器、存储器、I/O接⼝电路及系统总线。
微计算机系统是在微计算机的基础上配上相应的外部设备和各种软件,形成⼀个完整的、独⽴的信息处理系统。
2、80X86微处理器有⼏代?各代的名称是什么?答:从体系结构上可分为3代:8080/8085:8位机。
8086/8088/80286:16位机。
80386/80486:32位机。
思考题1、简述微处理器的发展过程。
2、什么是接⼝?其主要组成是什么?3、接⼝有哪些功能?讨论题1、为什么要⽤I/O接⼝?2、简述接⼝的分类第⼆章8086微处理器作业题⼀、选择题1、8088CPU芯⽚的时序中,不加等待的⼀个总线周期需时钟周期数为()DA 1B 2C 3D 42、8088CPU上INTR信号为下⾯那种信号有效?()A上升沿下降沿⾼电平低电平3、8088CPU中的SP寄存器是⼀个()位的寄存器B8 16 20 244、⼯作在最⼩模式下,8088CPU芯⽚的时序中,将地址信号锁存的信号是()CDT/R DEN ALE AEN5、8086有两种⼯作⽅式,当8086处于最⼩⽅式时,MN/MX接( ) CA.+12VB.-12VC.+5VD.地6、存取时间是指( )BA.存储器的读出时间B.存储器进⾏连续读和写操作所允许的最短时间间隔C.存储器进⾏连续写操作所允许的最短时间间隔D.存储器进⾏连续读操作所允许的最短时间间隔⼆、判断题1、8086CPU在响应中断时,执⾏两个中断响应周期。
微机原理作业及答案讲解
微机原理作业第三章汇编语言程序设计题3.1A在下列程序运行后,给相应的寄存器及存储单元填入运行的结果:MOV AL,10HMOV CX,1000HMOV BX,2000HMOV [CX],AL BH XCHG CX,BXMOV DH,[BX] CLMOV DL,01HXCHG CX,BX CLMOV [BX],DLHLT DL AL=1OHBL=OOHBH=2OHCL=OOHCH=1OHDH=1OH(10O0H)=lOH(200OH)=0lH题 3.1B DL要求同题3.1A程序如下;MOV AL,50H ALMOV BP,1000HMOV BX,2000HMOV [BP],ALMOV DH,20HMOV [BX],DHMOV DL,01HMOV DL,[BX]MOV CX,3000HHLTAL=5OHBL=OOHBH=20HCL=OOHCH=30HDL=20HDH=2OHBP=100OH(10OOH)=5OH(20OOH)=20H题3.2,如在自1000H单元开始有一个100个数的数椐块。
要把它传送到自2000H开始的存储区中去,用以下三种方法,分别编制程序;1;不用数据块转送指令;2;用单个转送的数据块转送指令;3;用数据块成组转送指令;(1) LEA SI, 1OOOHLEA DI, 200OHMOV CX, 100L1: MOV AX, [SI]MOV[DI],AXLOOPLlHLT(2) LEASI,100OHLEADI,2000HMOVCX,100CLDL1: MOVSBLOOP L1HLT(3) LEASI, 100OHLEADI, 200OHMOVCX, 100CLDREP MOVSBHLT题3.3A 利用变址寄存器遍一个程序,把自1000H单元内开始的100个数转送到自1070H开始的存储区中去,LEASI,100OHLEADI,1070HMOVCX,100CLDREP MOVSBHLT题3.3B 要求用3.3A,源地址为2050H,目的地址为2000H,数据块长度为50,LEASI,205OHLEADI,200OHMOVCX,50CLDREPMOVSBHLT题3.4 编一个程序,把自1000H单元开始的100个数转送至1050H开始的存储区中(注意数据区有重叠)。
微机原理课后作业参考答案
1.3 完成下列数制的转换(1) 10100110 B = (166) D = (A6) H(2) 0.11 B = (0.75) D(3) 253.25 = (11111101.01) B = (FD.4) H(4) 1011011.101 B = (5B.A) H = (10010001.0110 0010 0101) BCD1.5 写出下列真值对应的原码和补码的形式(1) X = -1110011 B(2) X = -71 D(3) X = +1001001 B解:(1) [X]原= 11110011 B , 负数,[X]补= [X]反+ 1 = 10001101 B(2) [X]原= 11000111 B , 负数,[X]补= [X]反+ 1 = 10111001 B(3) [X]原= 01001001 B , 正数,[X]补= [X]原= 01001001 B1.7 已知X和Y的真值,求[X+Y]的补码(1) X = -1110111 B Y = +1011010 B(2) X = 56 D Y = -21 D解:(1) [X]原= 11110111 B , 负数,[X]补= [X]反+ 1 = 10001001 BY为正数,[Y]原= [Y]补= 01011010 B所以,[X+Y]补= [X]补+ [Y]补= 11100011 B(2) [X]原= 00111000 B = [X]补[Y]原= 10010101 B , [Y]补= 11101011 B[X+Y]补= [X]补+ [Y]补= 00100011 B1.8 已知X = -1101001 B, Y = -1010110 B, 用补码表示X-Y = ?解: [X]原= 11101001 B,[X]补= 10010111 B[-Y]原= 01010110 B,[-Y]补= 01010110 B所以,[X-Y]补= [X]补+ [-Y]补= 11101101 B所以,[X-Y]原= 10010011 B= -0010011 B = -19 D1.12 如果74LS138译码器的C,B,A三个输入端的状态为011,此时该译码器的8个输出端中哪一个会输出“0”解:011 B = 3 D, #Y3低电平有效2.18 设当前数据段位于存储器的A8000H到87FFF H,DS段寄存器的内容应是什么?解:DS段寄存器存放段基址,由当前数据段在存储器中的存储空间的起始地址可知DS的内容为A800 H。
微机原理作业及答案
LP LOOP __
MOV BYTE PTR SRLT, ___ BL
POP DX ____ POP AX ___
RET XHZY ENDP
1 RCL DX,__
一、二、三、四章
作业
第一章 作业
1、简述微型计算机的硬件系统结构,并说明其主要功能。 2、试利用一个字节的字长,将十进制-115转换为相应的二 进制的原码、反码和补码。 [解]: (-115)原=(11110011)2 (-115)反=(10001100) (-115)补=(10001101) 3、已知[X]补=1100111,则[X]原= , [2X]补= ,并判断结果 是否溢出。 [解]:题目没有特殊说明,将最高为(第六位作为符号位) [X]反=[X]补-1=1100110,则[X]原=1011001 [2X]补=[X]补+ [X]补=1100111+1100111=1 1001110 C6· C5=1· 1=0,不溢出 另外,可以补齐第七位为0或者1,再进行计算获得。
第三章 作业
1、8086/8088操作数是从哪里来的?
答:来源有3种:立即数、寄存器、存储器操作数 指令中直接给出参加操作数; 参与操作的数存放在CPU的某个寄存器中; 参与操作的数存放在内存单元中,需要寻找相应的物理地址。 2、指出下列指令的错误 1)MOV AX, [SI][DI] 2) MOV [BX],[SI] 3) ADD BYTE, PTR[BX] (不能同时使用两个变址寄存器) (原操作数和目的操作数不能同时为存储器)
第三章 作业
微机原理作业_学生2010_9_23
微机原理作业1.8086C P U由哪两部分组成?它们的主要功能是什么?2.微型计算机系统由、和等组成。
3.8086CPU中的指令队列可存储个字节的指令代码,当指令队列至少空出个字节时,BIU单元便自动将指令取到指令队列中;4.8086系统中,1MB的存储空间分成两个存储体:存储体和存储体,各为字节。
5.8086系统中存储器采用什么结构?用什么信号来选中存储体?6.在8086CPU中,指令指针寄存器是。
(A) BP (B) SP (C) IP (D) DI7.8086CPU中的SP寄存器的位数是。
(A) 8位(B) 16位(C) 20位(D) 24位8.8086CPU中指令指针寄存器(IP)中存放的是。
(A)指令(B)指令偏移地址(C)操作数(D)操作数偏移地址9.若当前SS=3500H,SP=0800H,说明堆栈段在存储器中的物理地址(最大),若此时入栈10个字节,SP内容是什么?若再出栈6个字节,SP为什么值?10.下列关于8086系统堆栈的论述中,正确的是。
(A) 堆栈的工作方式是“先进后出”,入栈时SP减小(B) 堆栈的工作方式是“先进后出”,入栈时SP增大(C) 堆栈的工作方式是“先进先出”,入栈时SP减小(D)堆栈的工作方式是“先进先出”,入栈时SP增大11.8086CPU对内存读/写操作,需两个总线周期的读/写操作是。
(A) 从偶地址读/写一个字节(B) 从奇地址读/写一个字节(C) 从偶地址读/写一个字(D) 从奇地址读/写一个字12.总线周期是指。
(A) 执行一条指令所需要的时间;(B) BIU完成一次读和一次写I/O端口操作所需时间之和;(C) BIU完成一次访问存储器或I/O端口操作所需要的时间;(D) BIU完成一次读和一次写存储器操作所需时间之和。
13.8086CPU通过RESET引脚上的触发信号来引起系统复位和启动,复位时代码段寄存器CS= ,指令指针IP= 。
重新启动后,从物理地址为的地方开始执行指令。
微机原理习题及答案
微机原理习题册第 1 章数制和码制1.将下列十进制数分别转换为二进制数(4)(1)147 (2)4095 (3)解:147=B 4095=B= =2. 将下列二进制数分别转换为十进制数(3)(1)(2).001B解:= .001B==3.将二进制数转换成十六进制数(1)B(2)11B(3)101B (4)0B(5)01111111B(6)0B 解:(1)95H(2)34BH(3)FFFDH(4)0815H(5)7FH(6)401H4.已知 a=1011B, b=11001B, c=100110B,按二进制完成下列运算,并用十进制运算检查计算结果:(1)a+b;(2)c-a-b;(3)a·b;(4)c/b;解:a=1011B=11, b=11001B=25, c=100110B=38(1)a+b=100100B=36 (2)c-a-b=10B=2(3)a·b=1B=275 (4)c/b=1……1101B(=13)5.设机器字长为 8 位,写出下列各数的原码和补码:(1)+1010101B (2)-1010101B (3)+1111111B (4)-1111111B (5)+1000000B (6)-1000000B 解:(1)+1010101B 原码 01010101B 补码 01010101B(2)-1010101B 原码 B 补码 B(3)+1111111B 原码 01111111B 补码 01111111B(4)-1111111B 原码 B 补码 B(5)+1000000B 原码 01000000B 补码 01000000B(6)-1000000B 原码 B 补码 B6.已知 a=00111000B,b=B,计算下列逻辑运算:(1)aAND b;(2)a OR b;(3)a XOR b;(4)NOT a;解:(1)00000000B(2)1B(3)1B(4)B7.求下列组合 BCD 数的二进制和十六进制表示形式:()(1)3251;(2)12907;(3)2006 解:(1)0011 0010 0101 0001B,3251H(2)0001 0010 1001 0000 0111 B , 12907H(3)0010 0000 0000 0110B , 2006H8.设下列四组为 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。
微机原理作业共17页
实验现象
实验成功! 验证了程序的正确性
五 感想与建议:
• 在创新基地里摸索,改进,互助,自我实现的这 几天令人难忘。
• 程序没有做完、现象没有验证,大家便久久不愿 离开,实验室的老师很理解我们,陪到很晚,还 耐心的帮助调试检查程序;任课老师尽管很累但 精神饱满,讲得很有用,当然确实需要理解和吸 收巩固,通过课后作业、实验和项目的操作,实 现了动手与动脑的完美结合,我们领会到了原来 记不住的指令的意义;还有就是同学们凑到一起 相互指导检查的感动,发现问题解决问题的自豪 与乐趣,只通过课本是难以接触到的。
微机原理作业
36、“不可能”这个字(法语是一个字 ),只 在愚人 的字典 中找得 到。--拿 破仑。 37、不要生气要争气,不要看破要突 破,不 要嫉妒 要欣赏 ,不要 托延要 积极, 不要心 动要行 动。 38、勤奋,机会,乐观是成功的三要 素。(注 意:传 统观念 认为勤 奋和机 会是成 功的要 素,但 是经过 统计学 和成功 人士的 分析得 出,乐 观是成 功的第 三要素 。
•
cmp al,11111000b
•
je one
•
mov al,11111111b
•
out 0e2h,al
•
call delay
•
out 0e0h,al
• delay proc
;
延时程序
•
push ax
•
push cx
•
mov cx,100
• b: mov ax,500
• a: dec ax
•
jnz a
37、我们唯一不会改正的缺点是软弱。——拉罗什福科
xiexie! 38、我这个人走得很慢,但是我从不后退。——亚伯拉罕·林肯
微机原理经典习题
1、当WR=1,RD=0,M/IO=1时,表示CPU当前正在进行读存储器操作。
2、已知CS=1055H,DS=250AH,ES=2EF0H,SS=8FF0H,DS段有一操作数,其偏移地址=0204H,1)画出各段在内存中的分布2)指出各段首地CS:10550H DS:250A0HES:2EF00H SS:8FF00H3)该操作数的物理地址=?解:各段分布及段首址见右图所示。
操作数的物理地址为:250AH×10H+0204H = 252A4H3、若已知(SS)=1000H、(SP)=2000H;则堆栈段的段首地址=?1000H栈顶地址=?12000H若现在把1234H送入堆栈,则它所在的存储单元地址=? 1988H若该段最后一个单元地址为2FFFH,则栈底地址=?12FFFH4、MOV AX,[3102H]AL=(3102H) , AH=(3103H)如果(DS)=2000H, (23012H) = CDH, (23013H) = ABH;指令执行后,AX=? ABCDH5、MOV AX,[SI]若 (DS)=6000H, (SI)=1200H, (61200H)=44H, (61201H)=33H则指令执行后,(AX)=3344H。
7、保留AL中低4位,高4位清0。
AND AL, 0FHAL中有字符’a’~’z’, 将其转换成大写。
AND AL,01011111B8、把AH和AL中的非压缩BCD码组合成压缩的BCD码,放到AL中。
MOV CL,4SHL AH,CLOR AL,AH9、把AX寄存器清零。
①MOV AX,0②XOR AX,AX③AND AX,0④SUB AX,AX10、把AL中的数x乘10SAL AL,1;2xMOV AH,ALSAL AL,1;4xSAL AL,1;8xADD AL,AH;8x+2x=10x11、(BX)=84F0H,把 (BX) 中的 16 位数每 4 位压入堆栈MOV CH, 4 ; 循环次数MOV CL, 4 ; 移位次数NEXT:ROL BX, CLMOV AX, BXAND AX, 0FHPUSH AXDEC CHJNZ NEXT12、用串传送指令实现200个字节的数据传送:LEA SI,MEM1LEA DI,MEM2MOV CX,200CLDREP MOVSB13、把从A000H开始的2KB内存单元清零。
微机原理作业参考答案
MOV XX, AX
第四次
教材P. 69-70习题4.4-4.8中任选3题
习题4.4
MOV CL, 4
SHL AH, CL
MOV BL, 0FH
AND AL, BL
OR AH, AL
习题4.5
MOV CX, 8
MOV BL, 0
L1:
SHL AL, 1
RCR BL ,1
LOOP L1
INC SI
JLOOP:
INC BX
LOOP L1
(3)
本程序片段将求得的绝对值送数据段ABS开始的单元中
MOV BX, OFFSET BUF
MOV SI, OFFSET ABS
MOV CX, 50
L1:
MOV AL, [BX]
CMP AL ,0
JGE JLOOP
NEG AL
JLOOP:
MOV [SI], AL
在保护模式下,Pentium处理器可以直接寻址高达4GB的物理存储器。存储器的硬件空间被组织成64位的单元,每个64位的单元有8个可独立寻址的字节,这8个字节有连续的存储器地址,如下图所示。
在保护模式下,通过地址线A31~A3和字节选通信号BE7#~BE0#访问存储器,由地址线A31~A3选择64位的存储单元,由字节选通信号BE7#~BE0#选择相应的字节。
第五个时钟ads被置起有效地址b和第二个总线周期的总线状态被驱动送出wr被驱动为高电平表明为一个写周期cache被驱动为高电平表明该周期为非缓存式总线周期故第二个总线周期为非缓存式单次传送写周期
第一次
1.微型计算机系统有哪三个层次,简述其内涵及其联系与区别
略
2.试述冯诺依曼存储程序工作原理
微机原理习题
微机原理习题习题一、填空题1、十进制389对应的二进制数是110000101,压缩的BCD码是001110001001B,非压缩的BCD码是00000011 00001000 00001001,每位数字用字符表示时的ASCII码001100112、已知= 110011B,则= 101101B,=001101B,=100110B3、在微机中,一个浮点数由阶码和尾数两个部分构成。
4、某机器字长16位,其浮点数表示方法如下,阶码占5位,其中1位符号位:尾数占11位,其中1位符号位。
阶码用二进制补码表示尾数用二进制规格化原码表示,试写十进制数——0.3125 的浮点表示(二进制码) 1111111000000005、8086CPU上电复位后,CS=FFFEH, IP=0000H,DS=0000H ,SP=0000H.6、段地址为3900H,偏移地址为5200H,则物理地址为3E200H7、8086工作于最小模式下,CPU完成存储器读操作时,信号M/IO=1 ,RD=0,WR=1和DT/R=0 .若进行字节操作,单元地址为奇地址,则BHE=0和Ao=18、Inter 8086 CPU由执行单元和总线接口单元组成,其特点是并行操作。
9、在8086/8088CPU 中,一个最基本的总线刚期数由4个时钟周期 (T状态)组成,在T1状态,CPU往总线上发出地址信息。
10、当总线请求部件收到响应HLDA信号后,就获得了总线控制权:在其控制总线时期,HOLD 和HLDA都保持高电平,当总线占用部件用完总线后,HOLD变为低电平,于是CPU又重新控制总线,并使HLDA变为低电平。
11、8086CPU对于外部的可屏蔽中断请求和非屏蔽中断请求是分别通过的INTR和NMI引脚接收的。
12、设DS:75H存储单元开始存放11H、22H、33H,若要求占用的总线周期最少,则要2条指令才能将这3个数据读入到CPU中,这时占用2 个总线周期。
微机原理经典课后作业,考试必考
课后作业第一章作业1、若AX=AF7CH,BX=BEE7H,CPU分别执行加法指令和减法指令后各状态标志位的值是什么?2、8086系统中存储器的逻辑地址和物理地址之间有什么关系?3、设段地址为4ABFH,物理地址为50000H,求有效地址是什么?4、设CS=3100H,DS=3140H,两个段的空间均为64K个单元,问两个段重叠区为多少个单元?两个段的段空间之和为多少?5、在8086系统中,已知当前SS寄存器的内容为2345H,SP的内容0100H,请说明该堆栈段在存储器中的物理地址的范围。
若当前堆栈段中已存有10个字节的数据,那么原来SP的内容是什么数值?6、如果12MHz的振荡信号接至8284时钟输入端,其输出频率接8086/8088的CLK端。
求在插入一个等待周期的情况下从内存读一个字节数据所需的最小时间。
7、现有8个字节的数据为:34H、45H、56H、67H、78H、89H、9AH、ABH,假定它们在存储器中的物理地址为400A5H~400ACH。
若当前(DS)=4002H,求这8个数据的偏移地址。
如要以最少时间读出这些数据,需要访问存储器多少次?每次读出的数据是什么?并用图示之。
8、设段寄存器CS=2400H,指令指示器IP=6F30H,此时指令的物理地址PA 是多少?指向这一物理地址的CS值和IP值是否是唯一的?9、什么叫总线周期?8086/8088系统中的总线周期由几个时钟周期组成?如果CPU的主时钟频率为25MHz,一个时钟周期是多少?一个基本总线周期是多少时间?第三章作业3-3 若80386的控制寄存器CR0中PG、PE全为1,则CPU当前所处的工作方式如何?3-5 有一个段描述符,放在局部描述符表的第12项中,该描述符的请求特权级为2,求该描述符的选择子内容。
3-6 某一个段描述符的选择子内容为0531H,请解释该选择子的含义。
3-7在段页式管理中,若允许分页,则页的大小为多少?如果一个页面首地址为86B05000H,则上一页和下一页的页面首地址各为多少?第四章作业4-3 设有关寄存器及存储单元的内容如下:(DS)=2000H,(BX)=0100H,(SI)=0010H,(21200H)=78H,(21201H)=56H,(20100H)=68H,(21110H)=ABH,(20110H)=F4H,(20111H)=CDH,(21120H)=67H 试问下列各指令执行完后,AL或AX寄存器的内容各是什么?各指令寻址方式是什么?(1) MOV AX,1200H(2) MOV AL,BL(3) MOV AX,[1200H](4) MOV AL,[BX](5) MOV AL,1010H[BX](6) MOV AX,[BX][SI](7) MOV AL,1010H[BX][SI]4-4 判断下列指令的正误,若是错误的,请说明原因。
微机原理作业
改错常见问题:1)两操作数不能同时使用存储器寻址方式;(2)除源操作数为立即寻址方式外,两操作数中至少一个为寄存器寻址方式;(3)目的操作数不能为立即数。
(1)源操作数和目的操作数的类型不匹配,即字长不一致。
必须字节对字节,字对字。
(2)源操作数和目的操作数不能同时为存贮器寻址方式。
(3)基址变址方式没有SI和DI的组合。
因为SI和DI都变址寄存器。
(4)BX和BP作为基址寄存器不允许组合使用。
(5)AX为16位通用数据寄存器,ES:为段跨越前缀,指明存储器的所在段,ES:AX 为非法。
(6)源操作数和目的操作数的类型不匹配,1000超出一个字节的表示范围,而BYTE PTR[BX]表示字节存储器。
2.已知(DS)=3000H,(SS)=3001H,(BX)=100H,(BP)=0F3H,(SI)=2,内存单元的值如图所示,求下列指令执行后AX的值。
错。
码段段址寄存器CS不能出现在指令中。
(2)错。
双操作数指令中两操作数不能同为存储器寻址方式。
(3)错。
IP是指令指针寄存器,它的内容是下一条要取出的指令的偏移地址,不能为用户所用,故不能出现在指令中。
(4)(5)错。
原因同(1)。
(6)错。
IN为输入指令,不能使用BX,只能使用累加器AX或AL,接受端口上的数据信息。
指令中DX内存放16位端口地址。
(7)错。
数据类型不匹配,“BYTE PTR [BX]”指示目的操作数将存放在一个字节的存储器内,源操作数为立即数1000为字数据。
(8)错。
原因同(1)。
(9)错。
SI和DI都是变址寄存器,不能同时使用。
(10)错。
双操作数指令中目的操作数不能为立即数。
(1)错。
数据类型不匹配。
(2)对。
(3)错。
两操作数必须有一个采用寄存器寻址方式。
(4)错。
DX不作变址用。
(5)对。
(6)对。
(7)错。
目的操作数应为 word ptr [bx][di],即必须指明其数据类型。
(8)错。
符号地址与符号地址不能相加,此处必须为立即数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微机原理作业第一章题把下列十进制数转换为二进制,十六进制和BCD数;题要求同上,要转换的十进制数如下;题写下列十进制数的原码,反码和补码表示(用8位二进制);1.+65题要求同题数据如下;1.+332.+127题用16位二进制,写出下列十进制数的原码,反码,和补码表示;1.+623.+2535.+615题写出下列用补码表示的二进制数的真直;3. 4.题要求同题数据如下;3. 4. ,第三章汇编语言程序设计题在下列程序运行后,给相应的寄存器及存储单元填入运行的结果:MOV AL,10HMOV byte PTR [1000],0FFHMOV CX,1000H BLMOV BX,2000HMOV [BX],AL BHXCHG CX,BXMOV DH,[BX] CLMOV DL,01HXCHG CX,BX CHMOV [BX],DL 2000HHLT题DH要求同题程序如下;MOV AL,50H ALMOV BP,1000HMOV BX,2000HMOV [BP],ALMOV DH,20HMOV [BX],DHMOV DL,01HMOV DL,[BX]MOV CX,3000HHLT题,如在自1000H单元开始有一个100个数的数椐块。
要把它传送到自2000H开始的存储区中去,用以下三种方法,分别编制程序;1;不用数据块转送指令;2;用单个转送的数据块转送指令;3;用数据块成组转送指令;题3.3A 利用变址寄存器遍一个程序,把自1000H单元内开始的100个数转送到自1070H开始的存储区中去,题要求用3.3A,源地址为2050H,目的地址为2000H,数据块长度为50,题编一个程序,把自1000H单元开始的100个数转送至1050H开始的存储区中(注意数据区有重叠)。
题3.5A 在自0500H单元开始,存有100个数。
要求把它传送到1000H开始的存储区中,但在传送过程中要检查数的值,遇到第一个零就停止传送。
题条件同题3.5A,但在传送过程中检查数的值,零不传送,不是零则传送至目的区。
题把在题3.5A中指定的数据块中的正数,传送到自1000H开始的存储区。
题把在题3.5A中指定的数据块中的正数,传送到自1000H开始的存储区;而把其中的负数,传送到自1100H开始的存储区。
且分别统计正数和负数的个数,分别存入1200H和1201H 单元中。
题3.8A 自0500H单元开始,有10个无符号数,编一个程序求10个数的和(用8个位数运算指令),把和放到050A及050B单元中(和用两个字节表示),且高位在050B单元。
题自0200H单元开始,有100个无符号数,编一个程序求这100个数的和(用8位数运算指令),把和放在0264H 和0265H单元(和用两字节表示),且高位在0265H单元。
题题同,只是在累加时用16位运算指令编程序。
题3.10A 若在0500H单元中有一个数x:1.利用加法指令把它乘2,且送回原存储单元(假定x*2后仍为一个字节);*4;*10 (假定x*10 ≤255)。
题题意与要求同题3.10A,只是x*2后可能为两个字节。
题若在存储器中有两个数a和b(它们所在地址用符号表示,下同),编一个程序实现a*10+b (a*10以及“和”用两字节表示)。
题若在存储中有数a,b,c,d(它们连续存放),编一个程序实现((a*10+b)*10+c)*10+d (和≤65535)题3.13A在0100H单元和010AH单元开始,存放两个各为10个字节的BCD数(地址最低处放的是最低字节),求它们的和,且把和放在0114H开始的存储单元中。
题在0200H单元和020AH单元开始,存放两个各为10个字节的二进制数(地址最低处放的是最低字节),求它们的和,且把和放在0214H开始的存储单元中。
题在0200H单元开始放有效A(低位在前)NA=95 43 78 62 31 04 56 28 91 01在020单元开始放有数BNB=78 96 42 38 15 40 78 21 84 50求两数之差,且把差值送入自0200H开始的存储区。
题3.15A在0500H单元有一个数x,,把此数的前四位变0,后四位维持不变,送回同一单元。
题条件同题3.15A,要求最高位不变,后7位都为0。
题3.16A若在0500H单元有一个x, 把此数的前四位变“1”,后四位维持不变,送回同一单元。
题把x的最低位变“1”,高7位不变,送至0600H单元。
题若在0500H有一个数X,把此数的前四位变反,后四位维持不变,送回同一个单元题把X最高位去反,后7位不变,送至0600H单元。
题从0200H单元读入一个数,检查它的符号,且在0300H单元为它建立一个符号标志(正为OO,负为FF)。
题3.19A若从0200H单元开始有100个数,编一个程序检查这些数,正数保持不变,负数都取补后送回。
题把题3.19A中的负数取补后送至0300H单元开始的存储区。
题3.20A若在0200H和0201H单元中有一个双字节数,编一个程序对它们求补。
题在BX寄存器对中有一个双字节数,对它求补。
题若在0200H—0203H单元中有一个四字节数,编一个程序对它求补。
题若在0200H—0201H单元中有两个正数,编一个程序比较它们的大小,把大的数放在0201H 单元中。
题条件同上,把较小的数放在0201H单元中。
题条件与要求同题3.22A,只是两个数为无符号数。
题条件与要求同题3.22A,相比较的是两个带符号数。
题若自0500H单元开始有1000个带符号数,把它们的最小值找出来,放在1000H单元中。
题若自1000H单元开始有1000个无符号数,把它们的最大值找出来,放在2000H单元。
题若在0200H单元中有一个数X,用移为方法实现1. X﹡22. X﹡4(X﹡≤255〉且送回原单元。
题编一个程序,使寄存器对BX中的数整个左移一位。
题编一个程序,使寄存器对BP中的数整个右移一位(最高位维持不变)。
题 3.28A在0200H单元中有一个数X,利用移位和相加的办法,使X*10(假定X*10≤255)后送回原单元。
题条件和要求同题3.28A,但X*10可大于255。
题在0200H和0201H单元中存有一个两字节数(高位在后),编一个程序把它们整个右移一位。
题在自BUFFER单元开始,放有一个数据快,BUFFER和BUFFER+1单元中放的是数据的长度,自BUFFER+2开始存放的是ASCII码表示的十进制数码,把它们转换为BCD码,且把两个想邻单元的数码并成一个单元(地址高的放在高四位)。
放到自BUFFER+2开始的存储区中。
题来自BUFFER单元开始,放有一个数据快,BUFFER和BUFFER+1单元中放的是数据的长度,BUFFER+2开始存放数据,每一单元放的是两位BCD码,把它们分别转换为ASCII,放到自BLOCK 开始的存储区中(第四位BCD码转换成的ASCII码放在地址低的单元),而BLOCK和BLOCK+1放转换成的ASCCII码的长度。
题条件同题3.32A,把转换以后的两个相邻的16进制树并在一个存储单元中。
题若在某存储区中已输入4个以ASC11码表示的16进制数码(高位在前),把它们转换为二进制数放入BX寄存器对中。
题在自BUFFER单元开始的数据块中,前两个单元放的是数据块的长度,自BUFFER+2开始存放的是二进制的数据块。
把每一个存储单元的两位16进制数,分别转换为各自的ASC11码,放到自BLOCK开始的存储区中(开始两个单元放新的数据块的长度)。
题在题中,把相邻单元的两个数码看成是两位十进制数(后面的为十位数),把它们转换为相应的二进制数,放到自BUFFER+2开始的存储区中。
题在题中,把数据块中的每一单元的二进制数转换为相应的BCD码(每一字节的二进制数,对应三位BCD码),在把它们转换为ASC11码放到BLOCK开始的存储区中(开始两个单元放新的数据块的长度)。
题若在AX寄存器中放有四位BCD码把它们转换为相应的二进制数,放在BX寄存器中。
题3.38A若在BX寄存器中有一个16位无符号数,把它们转换为相应的BCD码,放到自DATA开始的存储区中(每一位BCD码占一个存储单元,高位在前)。
题若在BX寄存器中有一个16位带符号数,把它们转换为相应的BCD码,放在自DATA开始的存储区中(符号占一个单元,每一位BCD码占一个存储单元,高位在前)。
题若自STRING单元开始存放一个字符串(以字符$结尾):1.编一个程序统计这个字符串的长度(不包括$字符);2.把字符串的长度,放在STRING单元,把整个字符串往下移两个存储单元。
题若自STRING单元开始存放一个字符串(一字符空格引导,以$结尾),编一个程序统计这个字符串的长度(忽略前导空格和结尾的$字符)。
题3.41A在题的字符串中,统计数字字符(‘0’-‘9’)的个数。
题在题的字符串中,统计16进位字符(既‘0’-‘9’,‘A’-‘F’)的个数。
题在题的字符串中,把十进制数字字符(‘0’-‘9’)传送至DATA开始的存储区中,在DATA和DATA+1单元存放的是这个数字字符串的长度,自DATA+2单元开始存放字符。
题条件和要求同题,只是传送的是16进制数字字符。
题在自STRI1和STRI2开始各有一个由10个字符串,检查这两个字符串是否相等,在STFLAG单元中建立一个标志(相等为00,不等为FF)。
题编一个程序,统计一个八位二进制数中的为“1”的位的个数。
题B编一个程序,统计一个16位二进制数中的为“1”的位的个数。
题在自STRI1开始有一个字符串(前两个字节为字符串长度),对每一个字符配上偶检验位,送回原处。
(以下各题所编的程序必须包含必要的伪指令)题字NUMBER单元开始放有两个多字节得用BCD码表示的十进制数,NUMBER单元放的是字节数,NUMBER+1开始连续存放两个多字节数(高位在后),编一个程序把这个多字节数相加,和接着原来的数连续存放。
题编一个程序,使放在DA T A及DA T A+1单元的两个八位带符号数相乘,乘积放在DA T A+2及DA T A+3单元中(高位在后)。
题B编一个程序,使放在DA T A(被除数)及DA T A+1 (除数)两个八位带符号数相除,商放在DA T A+2单元,余数放在DA T A+3单元中。
题编一个程序,使放在DA T A及DA T A+1的两字节无符号数与在DA T A+2及DA T A+3中的无符号数相乘,乘积接着原来的数存放(高位在后)。
题编一个24 位无符号数相乘的函数。
题编一个程序,使上题中的两个16位无符号数相除,商和余数接着原来的数存放(先放商,高位在后)。
题在题中,相乘的是两个16位带符号数,计算成绩。