微机原理程序题
微机原理练习题
![微机原理练习题](https://img.taocdn.com/s3/m/caac4a20ef06eff9aef8941ea76e58fafab045d0.png)
1、计算机中( )不能直接表示有符号数。
A.原码B.补码C.反码D.BCD码2、当使用BP寄存器作基址寻址时,若无指定段替换,则内定在( )段内寻址。
A.程序B.堆栈C.数据D.附加3、8086系统存储器与IO端口独立编址,I/O端口( )A.可与存储器分时使用同一地址B.与存储器使用两个独立的地址空间C.与存储器共用统一的地址空间。
4、8086可屏蔽中断的屏蔽由CPU内部标志寄存器的( )位来控制。
A.IFB.TFC.OFD.DF5、串行传送的波特率是指单元时间内传送( )数据的位数。
A.二进制B.八进制C.十进制D.十六进制6、若采用8位A/D转换器转换0~5V的电压信号,则分辨率约为( )A.5mvB.10mvC.20mvD.40mv7、8086CPU芯片的时序中,不加等待的一个总线周期需时钟周期数为()。
A、1B、2C、3D、48、8086CPU中的SP寄存器是一个多少位的寄存器?()A、8位B、16位C、24位D、32位9、假定(SS)=2000H,(SP)=0100H,(AX)=2107H,执行指令PUSH AX后,存放数据21H的物理地址是()。
A、20102HB、20101HC、200FEHD、200FFH10、主存和CPU之间增加高速缓存的目的是()。
A、解决CPU和主存之间的速度匹配问题B、扩大存容量C、既扩大内存容量,又提高存取速度D、解决CPU与外存之间速度匹问题11、下列寄存器为16位的寄存器有( )A.IPB.AHC.ALD.BH12、交换寄存器SI、DI的内容,正确的程序段是()。
A、MOV AX,SIB、MOV AX,SIMOV SI,AX MOV BX,DIMOV DI,AX XCHG BX,AXC、PUSH SID、PUSH SIPUSH DI PUSH DIPOP SI POP DIPOP DI POP SI13、指令MOV DX, [BX]的寻址方式是()。
微机原理试题及答案
![微机原理试题及答案](https://img.taocdn.com/s3/m/f319f38d29ea81c758f5f61fb7360b4c2e3f2aa4.png)
微机原理试题及答案一、选择题(每题2分,共20分)1. 微处理器中的寄存器主要用于存储()。
A. 指令B. 操作数C. 地址D. 程序2. 在微机系统中,总线是用于()。
A. 存储数据B. 传输数据C. 执行指令D. 控制设备3. 微机系统中,内存的主要作用是()。
A. 存储操作系统B. 存储程序和数据C. 执行程序D. 控制程序运行4. 在微机系统中,中断的作用是()。
A. 暂停程序运行B. 启动程序运行C. 响应外部事件D. 执行数据传输5. 微机系统中的I/O设备指的是()。
A. 输入设备B. 输出设备C. 输入输出设备D. 存储设备6. 微机系统中,CPU的主要功能是()。
A. 存储数据B. 执行程序C. 传输数据D. 控制设备7. 在微机系统中,外设是指()。
A. 内存B. 硬盘C. 打印机D. 显示器8. 微机系统中的DMA是指()。
A. 数据传输方式B. 直接存储器访问C. 动态内存访问D. 数字多媒体应用9. 微机系统中,指令周期包括()。
A. 取指令B. 执行指令C. 取指令和执行指令D. 存储指令10. 微机系统中,字长是指()。
A. 存储容量B. 指令长度C. 数据宽度D. 地址范围二、填空题(每空1分,共10分)11. 微处理器的时钟频率通常用____表示,单位是赫兹(Hz)。
12. 微机系统中的总线可以分为数据总线、地址总线和____。
13. 微机系统中,一个存储单元可以存储一个____。
14. 微机系统中,中断向量表存储了中断服务程序的____。
15. 微机系统中,I/O端口地址通常由____总线提供。
16. 微处理器的指令集是一组预定义的____。
17. 微机系统中,堆栈操作遵循____原则。
18. 微机系统中,DMA可以减少CPU的____。
19. 微机系统中,指令的执行通常分为取指、____、执行和结果写回四个阶段。
20. 微机系统中,字长为32位的CPU一次可以处理____位的数据。
微机原理实验编程题(完整)
![微机原理实验编程题(完整)](https://img.taocdn.com/s3/m/93df9db0ad51f01dc381f126.png)
1)(正确)比较两个无符号数的大小(量个数放在内存S3的连续两个单元中),将大数存入MAX单元中。
DATAS SEGMENTBUF DB 1,2CNT EQU $-BUFDATAS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATASSTART:MOV AX,DATASMOV DS,AXMOV CX,CNT-1LEA BX,BUFMOV AL,[BX]L2: INC BXCMP AL,[BX]JAE L1MOV AL,[BX]L1:LOOP L2ADD AL,30H- 1 - / 16MOV DL,ALMOV AH,2INT 21HMOV AH,4CHINT 21HCODES ENDSEND STAR2)(正确)试编一程序,求三个带符号数据中的最大值,并将最大值存入MAX单元中,设三个带符号数分别在三个变量X,Y,Z中存储。
DATAS SEGMENTX DB 5Y DB-2Z DB 0MAX DB?DATAS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATASSTART:MOV AX,DATASMOV DS,AXMOV AL,XMOV BL,YCMP AL,BLJG L1MOV AL,BLL1:MOV BL,ZCMP AL,BLL2: MOV MAX,ALMOV AH,4CHINT 21HCODES ENDSEND START3)(正确)根据MODE单元中编号0-7分别转向L0-L7标号处,执行L0-L7处分别完成显示‘0-7’字符,即当MODE=0时,转向L0标号,完成显示‘0’,当MODE=7时,转向L7标号,完成显示‘7’。
DATAS SEGMENTMODE DB 0DATAS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATASSTART:- 3 - / 16MOV AX,DATASMOV DS,AXMOV AL,MODECMP AL,0JZ L0CMP AL,1JZ L1CMP AL,2JZ L2CMP AL,3JZ L3CMP AL,4JZ L4CMP AL,5JZ L5CMP AL,6JZ L6MOV DL,'7'MOV AH,02HINT 21HJMP L8L0:MOV DL,'0'MOV AH,02HINT 21HJMP L8L1:MOV DL,'1'MOV AH,02HINT 21HJMP L8L2:MOV DL,'2'MOV AH,02HINT 21HJMP L8L3:MOV DL,'3'MOV AH,02HINT 21HJMP L8L4:MOV DL,'4'- 5 - / 16MOV AH,02HINT 21HJMP L8L5:MOV DL,'5'MOV AH,02HINT 21HJMP L8L6:MOV DL,'6'MOV AH,02HINT 21HJMP L8L8:MOV AH,4CHINT 21HCODES ENDSEND START4)(正确)根据输入值(0-4)的不同,执行不同的操作,用转移标法编写程序。
微机原理练习题(含答案)
![微机原理练习题(含答案)](https://img.taocdn.com/s3/m/83b6b0818ad63186bceb19e8b8f67c1cfad6eee9.png)
1.已知下列数组语句:0RG 0100HARY DW 3, $+4, 5, 6CNT EQU $-ARYDB 7,8,CNT,9问执行语句MOV AX, ARY +2和MOV BX,ARY +10后,AX=? BX=?答: AX=(ARY +2) = (0102H) =0106H; BX=( ARY +10) = (010AH) =0908H。
2.某程序设置的数据区如下所示。
DATA SEGMENTDB1 DB 12H, 34H, 0, 56HDW1 DW 78H, 90H, 0AB46H, 1234HADR1 DW DB1ADR2 DW DW1AAA DW $-DB1BUF DB 5 DUP(0)DATA ENDS画出该数据段内容在内存中的存放形式(要求用十六进制补码表示,按字节组织)。
3.分析下列程序:A1 DB 10 DUP(7)A2 DB 0,1,2,3,4,5,6,7,8,9……MOV CX, LENGTH AlMOV SI, SIZE A1 - TYPE AlLP: MOV AL, A2[SI]MOV Al[SI],ALSUB SI,TYPE A1DEC CXJN2 LPHLT问:(1)该程序的功能是什么?(2)该程序执行后,A1单元开始的10个字节内容是什么?答:(1)该程序的功能是将从A2单元开始存放的10个字节数据传送到从Al单元开始的10个字节单元中。
(2)程序执行后,Al单元开始的10个字节内容是0,1,2,3,4,5,6,7,8,9。
4. 试分析下列程序:BUF DB 0BHMOV AL, BUFCALL FAR PTR HECAHECA PROC FARCMP AL, 10JC LPADD AL, 7LP: ADD AL, 30HMOV DL, ALMOV SH, 2INT 21HRETHECA ENDP问:(1)该程序是什么结构的程序?功能是什么?(2)程序执行后,DL=?(3)屏幕上显示输出的字符是什么?答:(1)该程序为主程序调用子程序的结构,且为远调用子程序;功能是将BUF单元中的0~F一位十六进制数转换成对应的ASCII码。
微机原理题集(附答案)
![微机原理题集(附答案)](https://img.taocdn.com/s3/m/cd6df124f121dd36a32d82e1.png)
微机原理题集★8、一般一个总线周期可分为___T1____ 、___T2____ 、__T3_____和_____T4__状态。
★3、指令JO NEXT 表示OF=__1_____时转移。
★3、DEBUG命令中,反汇编命令的英文字母为___U___,显示内存命令的英文字母为_____D___,跟踪执行命令的英文字母为____T____,显示和修改寄存器的命令____R____,汇编命令是_____A___。
★7、CPU与IO设备之间数据传送控制方式常见的有__程序控制方式____、__中断控制方式____和_DMA_____三种。
★5.下列指令执行时出错的是(B)A.ADD BUF1,BUF2B.JMP DWORD PTR DAT [BX]C.MOV AX,[BX+DI] NUMD.TEST AL,08H★10.下列指令中,源操作数的寻址方式中,(C)属于立即寻址,(B)属于寄存器寻址,(E)属于寄存器间接寻址,(A)属于直接寻址,(D)属于寄存器相对寻址。
A)MOV AX,[4000H] B)MOV [BX],AXC)SUB AX,2000H D)MOV AX,[SI+12H]E)MOV CX,[BX] F)MOV AX,[SI+BX+10H]★13.指令LOOPNZ的循环结束条件是(D)。
A)CX=0且ZF=0 B)CX=0或ZF=0C)CX=0且ZF=1 D)CX=0或ZF=114、指令CALL DWORD PTR [BX]目标地址的寻址方式为DA)段内直接B)段内间接C)段间直接D)段间间接★1.语句DA1 DB 2 DUP(4,6),5汇编后,与该语句功能等同的语句是(C)。
A)DA1 DB 4,6,5B)DA1 DB 2,4,6,5C)DA1 DB 4,6,4,6,5D)DA1 DB 4,6,5,4,6,51、微机系统由(硬件系统)和(软件系统)两部分组成。
2、总线按传输的信息种类可分成(数据)、(地址)和(控制)三种。
微机原理及应用试卷编程题
![微机原理及应用试卷编程题](https://img.taocdn.com/s3/m/ff0af3ca227916888586d7a2.png)
一.编程题 (共43题,430分)1.1 [库中题号:060030] 10分编写完整的8086汇编程序:将字符缓冲区A的字符'1234567890'倒序存放到缓冲区B中。
1.2 [库中题号:060029] 10分编写一个程序,接收从键盘输入的10个十进制数字,输入回车符则停止输入,然后将这些数字加密后(用XLAT指令变换)存入内存缓冲区BUFFER。
加密表为;输入数字: 0,1,2,3,4,5,6,7,8,9密码数字: 7,5,9,1,3,6,8,0,2,41.3 [库中题号:060028] 10分试编写程序,它轮流测试两个设备的状态寄存器,只要一个状态寄存器的第0位为1,则与其相应的设备就输入一个字符;如果其中任一状态寄存器的第3位为1,则整个输入过程结束。
两个状态寄存器的端口地址分别是0024和0036,与其相应的数据输入寄存器的端口则为0026和0038,输入字符分别存入首地址为BUFF1和BUFF2的存储区中。
1.4 [库中题号:060027] 10分把0~10010之间的30个数,存入首地址为GRAD的字数组中,GRAD+i表示学号为i+1的学生成绩。
另一个数组RANK是30个学生的名次表,其中RANK+I的内容是学号为i+1的学生的名次。
试编写程序,根据GRAD中的学生成绩,将排列的名次填入RANK数组中(提示:一个学生的名次等于成绩高于这个学生的人数加1)。
1.5 [库中题号:060026] 10分已知整数变量A和B,试编写完成下述操作的程序:(1)若两个数中有一个是奇数,则将该奇数存入A中,偶数存入B中;(2)若两个数均为奇数,则两数分别加1,并存回原变量;(3)若两个数均为偶数,则两变量不变。
1.6 [库中题号:060025] 10分试编写完整的程序,要求从键盘输入3个16进制数,并根据对3个数的比较显示如下信息:(1)如果3个数都不相等则显示0;(2)如果3个数中有2个数相等则显示2;(3)如果3个数都相等则显示3。
微机原理习题集(4章)
![微机原理习题集(4章)](https://img.taocdn.com/s3/m/28c2a23d647d27284b735158.png)
一.单项选择题:1、在汇编语言程序设计中,变量定义时,以下为非法的类型属性是__C__;A 字节B 字C 字符D 双字2、以下哪个元素是汇编语言中语句的必要组成部分_B___;A 标号B 操作助记符C 操作数D 注释3、下列指令错误的是__B__;A INC WORD PTR [SI]B PUSH ALC POP CXD JMP BX4、下面说法正确的是_D___;A 低级语言更接近于自然语言。
B 机器语言编写的程序可以应用于不同微处理器的计算机系统。
C 高级语言编写的程序依赖于微处理器的型号。
D 程序在准备执行时,必须存储于存储器中。
5、以下指令错误的是_D___;A MOV AX,2000HB MOV [BP],DLC MOV DS,AXD MOV 20H,AL6、下面叙述错误的是_C___;A 宏指令是用户自己定义的B 注释是以分号开头的。
C 名称在语句中是必须的D 每条语句都必须有操作助记符。
7、条件转移指令“JS”的转移条件是_B___;A SF=0B SF=1C CF=0D CF=18、在微计算机中用来存放源字符串地址的偏移量的寄存器是_C___;A SPB BPC SID DI9、汇编程序是一个__B__;A 源程序B 语言加工程序C 连接程序D 目标程序10、下列字符串能用于标识符的是_B___;A LENGTHB MOVEC 13AD SEGMENT11、若要对操作数清0,一般对操作数进行__C__运算。
A 相与B 相或C 异或D 移位12、汇编语言编辑程序输出的文件类型是_A___;A .asmB .obj C.exe D .c13、堆栈的存取规则正确的是_D___;14、 A FIFO B FILO CLILO D以上都不对14、以下指令不是逻辑运算指令的是__D__;A XOR AL,3B NOT ALC OR AL,3D CWD15、在指令“MOV AX,INBUFF”中,变量INBUFF 的段是_B___ ;A CSB DSC SSD ES16、若READY为低电平,此时CPU执行___B_周期;A T3 B TWC T4D T117、连接程序输出的文件类型是_C___;A .asmB .obj C.exe D .c18、已知程序段:_A_MOV AX,0FF60HSTCMOV DX,96XOR DX,0FF00HSBB AX,DX程序执行后AX=____,CF=____。
微机原理及应用试卷程序分析题【精选】
![微机原理及应用试卷程序分析题【精选】](https://img.taocdn.com/s3/m/34322cc477eeaeaad1f34693daef5ef7ba0d12b6.png)
重 庆 科 技 学 院200 /200 学年第 学期考试试卷课程名称:微机原理及应用课程代码:教学班级:抽(命)题人:本卷为 卷,共 11 页,考试方式: 闭卷,考试时间: 120 分钟题 号一二三四五六七八九十总 分得 分抽查核人阅卷人一.程序分析题 (共39题,195分)1.1 [库中题号:050039] 5分分析对于下面两个数据段,偏移地址为10H 和11H 的两个字节中的数据是一样的吗?为什么?专业班级: 姓 名: 学 号: 密 封 线 装 订 线 4DTSEG SEGMENT ORG10HDATA1DB 72HDB 04HDTSEG ENDSDTSEG SEGMENTORG 10HDATA1 DW 7204HDTSEG ENDS第3页1.2 [库中题号:050038] 5分指出下列指令的错误:(1) MOV AX,[BX][BP] (2) MOV [BX],ES:AX (3) MOV BYTE PTR[BX],10001.3 [库中题号:050037] 5分指出下列指令的错误:(1) MOV AX,OFFSET [SI] (2) MOV CS,AX (3) MOV DS,BP1.4 [库中题号:050036] 5分执行完下列程序后,回答指定的问题。
MOV AX,0MOV BX,2MOV CX,50LP:ADD AX,BXADD BX,2LOOP LP问:(1) 该程序的功能是。
(2) 程序执行完成后,(AX)= 。
1.5 [库中题号:050035] 5分分析汇编语言源程序应该由哪些逻辑段组成?各段的作用是什么?语句标号和变量应具备哪3种属性?1.6 [库中题号:050034] 5分下面是将内存一字节数据高4位和低4位互换并放回原位置的程序,找出错误并改正。
DATA SEGMENTDD1 DB 23HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXLEA SI,OFFSET DD1MOV AL,[SI]MOV CL,4RCR AL,CLMOV [SI],ALMOV AH,4CH第4页INT 21HCODE ENDEND START1.7 [库中题号:050033] 5分写出将首地址为BLOCK的字数组的第6个字送到CX寄存器的指令序列,要求分别使用以下几种寻址方式:(1) 以BX的寄存器间接寻址(2) 以BX的寄存器相对寻址(3) 以BX、SI的基址变址寻址1.8 [库中题号:050032] 5分根据以下要求写出相应的汇编语言指令。
微机原理经典习题练习册(附答案)
![微机原理经典习题练习册(附答案)](https://img.taocdn.com/s3/m/4cd0f1d588eb172ded630b1c59eef8c75ebf955c.png)
微机原理经典习题练习册(附答案)微型计算机原理与应⽤练习册(附答案)第⼀章计算机基础⼀、问答题1、下列数值或字符串表⽰成相应的ASCII码是多少?(1)换⾏(2)字母“Q”(3))空格(4)汉字“隘”(国标码)(5)汉字“保”(内部码)(6)51 (7)Hello2、下列各机器数所表⽰数的范围是(1)8位⼆进制⽆符号定点整数;(2)8位⼆进制⽆符号定点⼩数;(3)16位⼆进制⽆符号定点整数;(4)⽤补码表⽰的16位⼆进制有符号整数;3、(111)X=273,基数X=?4、有⼀个⼆进制⼩数X=0.X1X2X3X4X5X6(1)若使X≥1/2,则X1……X6应满⾜什么条件?(2)若使X>1/8,则X1……X6应满⾜什么条件?5、有两个⼆进制数X=01101010,Y=10001100,试⽐较它们的⼤⼩。
(1) X和Y两个数均为⽆符号数;(2) X和Y两个数均为有符号的补码数。
6、⼀个⽤⼗六进制表⽰的两位整数,如果改⽤⼗进制数表⽰,顺序正好颠倒,该数是多少?⼆、填空题1、对于R进制数来说,其基数(能使⽤的数字符号个数)是,能使⽤的最⼩数字符号是。
2、⼋进制数的基数为8,能⽤到的数字符号个数为。
3、⼗进制数72转换成⼋进制数是。
4、与⼗进制数49.875等值的⼋进制数是。
5、与⼗进制数67等值的⼗六进制数是。
6、⼗进制⼩数0.6875转换成⼗六进制数是。
7、⼆进制数101.011转换成⼗进制数是。
8、与⼆进制数101110等值的⼋进制数是。
9、⼗六进制数0E12转换成⼆进制数是。
10、汉字国标码字符集中共包含有个汉字和图形符号。
11、把汉字区位码的区码和位码都加上⼗六进制数,即得到汉字国标码;把汉字区位码的区码和位码都加上⼗六进制数,即得到汉字机内码。
12、将下列⼗进制数8609、5254、2730、1998变为8421BCD码分别是。
三、选择题1、在计算机机内部,⼀切信息的存取、处理和传送都是以形式进⾏的。
微机原理习题
![微机原理习题](https://img.taocdn.com/s3/m/3bbff899cd22bcd126fff705cc17552707225e3a.png)
填空题1.执行部件EU的组织有:,和。
2.8086CPU从偶地址访问内存1个字时需占用周期,而从奇地址访问内存1个字操作需占用周期。
3.IBM-PC机中的内存是按段存放信息的,一个段最大存贮空间为字节。
4.8086微处理机在最小模式下,用来控制输出地址是访问内存还是访问I/O。
5.一台计算机能执行多少种指令,是在时确定的。
6.内存储器是计算机系统中的装置,用来存放和。
7.CPU对RAM存贮器进行读/写操作时,应送出的方向控制命令有和命令。
8.Intel 2114 RAM存贮芯片引脚中用于片选的控制引脚为,用于读/写控制引脚为。
9.Intel 4116 RAM芯片容量为2K 8,访问该芯片须用根地址线。
10.存贮芯片存贮的信息会,必须定时刷新,刷新的时间间隔为。
11.存贮器分为、、、。
12.逻辑地址为2000H:1234H的存储单元的物理地址是。
13.8086CPU写入一个规则字,数据线的高8位写入存储体,低8位写入存储体。
14.将存储器与系统相连的译码片选方式有法和法。
15.对6116进行读操作,6116引脚= ,= ,= 。
16.8086 CPU有条地址总线,可形成的存贮器地址空间,可寻址范围为 ;地址总线中的条线可用于I/O寻址,形成的输入输出地址空间,地址范围为 ;PC机中用了条地址线进行I/O操作,其地址空间为 ,可寻址范围为。
17.实现主机与外设之间同步需要解决的基本问题有二,一为,另一为。
18.对于微机而言,任何新增的外部设备,最终总是要通过与主机相接。
19.I/O接口的含义,从硬件来说,包括,,;从软件来说,可以理解为和。
20.在以DMA方式传送数据的过程中,由于没有破坏和的内容,所以一旦数据传送完毕,主机可以立即返回原程序。
21.通常接口中各种信息以形式,通过微处理器的总线同激处理器交换信息。
22.实质上,微处理器对外设的访问就是对外设的中的访问。
23.微型计算机最基本、最频繁的操作是,其关键问题是。
微机原理习题
![微机原理习题](https://img.taocdn.com/s3/m/fe7047c22e3f5727a5e962d1.png)
习题一、填空题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 个总线周期。
微机原理样题
![微机原理样题](https://img.taocdn.com/s3/m/49bf26db0c22590102029ddd.png)
一、单项选择题1、8253—5是可编程的( )接口芯片。
A.定时器/计数器B.并行C.串行D.中断控制器2、段定义语句以( )语句结束。
A.ENDB.ENDSC.ENDPD.ENDM3、起动两次独立的存储器操作之间所需的最小时间间隔为( )A.“存储周期”B.“存取时间”C.“读周期”D.“写周期”4、8088CPU所能寻址的存储空间为()A、64KB、1MC、256KD、10M5. CPU进行中断处理,保留断点时,共占用堆栈区()字节。
A. 6个B.4个C. 2个D.1个6. 8088/8086系统中,可以用于间接寻址的寄存器为()。
A. BX,SI,DI,BPB. AX,SI,CX,BPC. AX,BX,CX,DXD AX,SI,CX, BX7. 8253芯片以下工作方式中,只有()是连续重复计数的方式。
A. 方式0B.方式5C.方式3D. 方式48. 如果AL的内容为50H,执行TEST AL,01H指令后,AL的内容为()。
A. 49HB. 4FHC. 50HD. 01H9、8255A的( )只能工作在方式0。
A. A端口B. B端口C. C端口D. 前三者10、一般地,我们将计算机指令的集合称为()。
A 机器语言B 汇编语言C 模拟语言D 仿真语言二、填空题1、主频是计算机时钟信号的频率,通常以为单位。
2、8086的数据总线和地址总线分别是和条。
3、I/O端口有和两种编址方法。
4、 8086CPU中断系统有___ __种中断类型码,中断类型码与对应的矢量地址换算公式为。
5、当接口芯片的片选端为电平时,CPU才能与该芯片传送数据。
6、8086中,BIU部件完成______功能,EU部件完成 _______功能。
7、为保证动态RAM的内容不消失,需要进行操作。
8、8086CPU的MN/MX引脚的作用是________________;9. 产生片选信号有三种方法,分别是和和。
三、简答题(共25分)1、什么叫寻址方式?8086/8088CPU设置了哪几种寻址方式?2、什么是中断?一个完整的中断处理过程包括哪几个基本阶段?3、CPU与外设之间进行数据传送时,有哪几种方式?简单说明其意义和用途。
微机原理习题及答案
![微机原理习题及答案](https://img.taocdn.com/s3/m/244be420168884868762d6a9.png)
微机原理习题册第 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。
微机原理题型
![微机原理题型](https://img.taocdn.com/s3/m/f4cf8dbd0b1c59eef9c7b4c4.png)
作业1一、设DS=1000H,SS=2000H,AX=1A2BH,BX=1200H,CX=339AH,BP=1200H,SP=1350H,SI=1354H,(11350H)=0A5H,(11351H)=3CH,(11352H)=0FFH,(11353H)=26H,(11354H)=52H,(11355H)=OE7H,(126A4H)=9DH,(126A5H)=16H,(21350H)=88H,(21351H)=51H下列各指令都在此环境下执行,在下列各小题的空格中填入相应各指令的执行结果。
(1)MOV AX,1352H AX=(2)MOV AX,[1352H] ;AX=(3)MOV 0150H[BX],CH(11350H)= (11351H)=(4)MOV AX,0150H[BP]AX=____二、已知DS=091DH,SS=1E4AH,AX=1234H,•BX=0024H,CX=5678H,BP=0024H,•SI=0012H,DI=0032H,(09226H)=00F6H,•(09228H)=1E40H,(1E4F6H)=091DH.在以上给出的环境下,试问下列指令或指令段执行后的结果如何• 1.MOV CL,[BX+20H][SI]• 2.MOV [BP][DI],CX• 3.LEA BX,[BX+20H][SI]• MOV AX,[BX+2]• 4.XCHG CX,[BX+32H]• XCHG [BX+20H][SI],AX作业2•二.设DS=1000H,SS=2000H,AX=1A2BH,BX=1200H,CX=339AH,BP=1200H,SP=1350H,SI=1354H,(11350H)=0A5H,(11351H)=3CH,(11352H)=0FFH,(11353H)=26H,(11354H)=52H,(11355H)=OE7H,(126A4H)=9DH,(126A5H)=16H,(21350H)=88H,(21351H)=51H•下列各指令都在此环境下执行,在下列各小题的空格中填入相应各指令的执行结果。
微机原理经典习题
![微机原理经典习题](https://img.taocdn.com/s3/m/52789f0e580216fc710afd2b.png)
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内存单元清零。
微机原理习题
![微机原理习题](https://img.taocdn.com/s3/m/9c8e2e3b53d380eb6294dd88d0d233d4b04e3f5c.png)
微机原理习题习题一、填空题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 个总线周期。
微机原理试题
![微机原理试题](https://img.taocdn.com/s3/m/ea35c6a268dc5022aaea998fcc22bcd126ff42b0.png)
微机原理试题1.⽤ASSUME伪指令指定某个段分配给某个段寄存器后,还需通过MOV指令来给段寄存器赋值,其中()不能这样做,⽽是在程序初始化时⾃动完成的。
A.数据段寄存器DS B.堆栈段寄存器SSC.代码段寄存器CS D.附加段寄存器ES2.()不是变量的类型属性A.字符型 B.字型 C.字节型 D.双字型3.下列哪⼀个伪指令对符号名可以重复定义()A.= B. EQU C.DB D.PTR4.将下列左边各项与右边的名词对应起来,找出正确答案的序号填⼊括号内。
(1)使计算机执⾏某种操作的命令(2)表⽰指令执⾏什么操作的符号(3)存放指令机器码的存储器段区(4)指出指令在程序中位置的符号(5)将汇编语⾔源程序翻译成机器码程序的实⽤程序A.代码段 B. 标号 C. 汇编程序 D. 指令 E. 助记符5.下⾯指令序列执⾏后完成的运算,正确的算术表达式是()MOV AL,BYTE PTR XSHL AL,1DEC ALMOV BYTE PTR Y,ALA.Y=2X+1 B. X=2Y+1 C. Y=2X-1 D.X=2Y-16. 对于⽆符号数,实现“>=”转移的指令是()A.JAE/JNB B. JBE/JNA C. JGE/JNL D. JC/JNLE7. 在程序设计的实际应⽤中往往存在要重复执⾏的某些操作的⼀类问题,这类问题由()来解决。
A.顺序结构程序 B. 分⽀结构程序C.循环结构程序D.以上都不是8. ()不是⼦程序的参数传递⽅法。
A.⽴即数传递 B. 寄存器传递C.堆栈传递 D. 存储器传递9. DOS系统功能调⽤中,将⼦功能编号送⼊()寄存器。
A.AH B. AL C. BH D. BL10. 读取键盘字符并回显是DOS系统功能调⽤的()号调⽤。
A.0AH B. 01H C. 02H D. 09H11.求下列数的补码或真值(1)χ= +127D,[χ]补=?(2)χ= -127D,[χ]补=?(3)[χ]补=0111 1110B,χ=?(4)[χ]补=1000 0010B,χ=?答案:(1)0111 1111B (2)1000 0001B(3)χ= +126D (4)χ= -126D12. 已知x= +51D,y= -66D,⽤补码运算求x+y,x-y的值。
微机原理练习题
![微机原理练习题](https://img.taocdn.com/s3/m/2c229d3c83c4bb4cf7ecd199.png)
微机原理练习题1一、选择题1、程序设计中所使用的地址是()。
A、逻辑地址B、有效地址C、物理地址D、段基址2、8086执行程序时,对存储器进行访问时,物理地址可由()组合产生。
A、SS和IPB、CS和IPC、DS和IPD、CS和BP3、在堆栈操作中,隐含使用的通用寄存器是()。
A、AXB、BXC、SID、SP4、用8位的二进制数的补码形式表示一个带符号数,它能表示的整数范围是()A、-127 — +127B、-128 — +128C、-127 — +128D、-128 — +1275、从功能上,8086的CPU由()两部分组成。
A、SP、ALUB、控制器、FLAGSC、EU、BIUD、EU、ALU6、标志寄存器FLAGS中存放两类标志,即()。
A、符号标志、溢出标志B、控制标志、状态标志C、方向标志、进位标志D、零标志、奇偶标志7、若AL=3BH,AH=7DH,则AL和AH中的内容相加后,标志CF、SF和OF的状态分别是()。
A、0、1、1B、1、1、1C、0、0、0D、1、1、08、下列有关指令指针寄存器的说法中,哪一个是正确的()。
A、IP存放当前正在执行的指令在代码段中的偏移地址B、IP存放下一条将要执行的指令在代码段中的偏移地址C、IP存放当前正在执行的指令在存储器中的物理地址D、IP存放当前正在执行的指令在存储器中的段地址9、某CPU的主频为250MHZ,则它的时钟周期为()A、250nsB、50nsC、40nsD、4ns10、如果访问存储器时使用BP寻址,则默认的段寄存器是()A、CSB、ESC、DSD、SS二、选择题1、指令ADD CX,55H[BP]的源操作数的寻址方式是( )。
A、寄存器寻址B、直接寻址C、寄存器间接寻址D、寄存器相对寻址2、设(SS)=3300H,(SP)=1140H,在堆栈中压入5个字数据后,又弹出两个字数据,则(SP)=( ) 。
A、113AHB、114AHC、1144HD、1140H3、已知(BP)=0100H,(DS)=7000H,(SS)=8000H,(80100H)=24H,(80101H)=5AH,(70100H)=01H,(70101H)=02H,指令MOV BX,[BP]执行后,(BX)=( ) 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 将下面C语言程序的代码片段转换为功能等价的汇编语言代码片段,其中sign与sinteger 均为双字变量。
if ( sinteger = = 0)sign = = 0;else If ( siteger > 0)sign = 1;elsesign = -1;mov eax,sintegermov edx,signcmp eax,0jnz L1mov ebx,0L1:cmp ebx,0jl L2mov ebx,1L2:mov ebx,-12. 将下面C语言程序的代码片段转换为功能等价的汇编语言代码片段,其中ch1与caps均为字节变量。
if (ch1> =’a’ && ch1< =’z’)caps= =0;if (ch1> =’A’ && ch1< =’Z’)caps= =1;mov ax,ch1mov bx,capscmp ax,ajb nextcmp ax,zja nextmov bx,0next:cmp ax,Ajl donecmp ax,Zja donedone:3. 将下面C语言程序的代码片段转换为功能等价的汇编语言代码片段,其中sum与i变量均为双字变量。
sum=0;for ( i=1;i< =100;i++)if ( i%2= =0)sum=sum+i;mov ecx,imov ecx,1.while(ecx<=100)mov eax,ecxxor edx,edxmov ebx,2div ebxcmp edx,0jnz nextadd sum,ecxnext:inc ecx.endw1. 能被4整除但不能被100整除,或者年被400整除的年份是闰年。
编程写一个完整的程序,求出2012年~2099年中的所有闰年年份,并把它们存放在数组Lyear中。
算法描述; esi=0;ecx=2012;; while (ecx<2100); { if (year mod 4=0 and year mod 100 <>0) or (year mod 400=0) then; {Lyear[esi]=ecx;esi++;}; ecx++;; }; Lcounter=esi;include io32.inc.dataLyear dword 100 dup(?)Lcounter dword 0.codemainprocxor esi,esi ;esi闰年个数计数器,兼做Lyear下标。
mov ecx,2012 ;ecx年份计数器。
.while (ecx<2100)mov eax,ecxxor edx,edxmov ebx,400div ebxcmp edx,0jz leap ;if year mod 400=0 then goto leapmov eax,ecxxor edx,edxmov ebx,4div ebxcmp edx,0jnz next ;if year mod 4<>0 then goto nextmov eax,ecxxor edx,edxmov ebx,100div ebxcmp edx,0jz next ;if year mod 100=0 then goto nextleap: mov Lyear[esi*4],ecxinc esimov eax,ecxcall dispuid ;输出,用于验证。
可以删掉call dispcrlf ;输出,用于验证。
可以删掉next: inc ecx.endwmov Lcounter,esimov eax,esicall d ispuid ;输出,用于验证。
可以删掉call d ispcrlf ;输出,用于验证。
可以删掉retmainendp ;end of mainend main ;end of assembly2. 编程写一个完整的程序,求出2~100之间的所有素数,并将它们存入Prime数组中,素数的个数存入变量Pcounter中。
; 采用伪代码pseudo code描述算法; 1. i=2 to 100 do; 1.1 if i is prime number then print i; 细化1.1 如下:; 1.1 j=2 to i/2 do; 1.1.1 if i mod j=0 then goto next i; 1.1.2 print i; 合理分配寄存器,i=ebx,j=ecx,edxeax做被除数,ecx做除数.include io32.inc.datamsg byte ' List of prime number',13,10,0msg1 byte ' Lcounter is :' ,13,10,0blank byte ' ',0prime dword 100 dup(?)pcounter dword 0.codemainproc ;主程序开始mov esi,0mov eax,offset msgcall d ispmsgmov ebx,2iLoop: cmp ebx,100 ;i循环入口ja donemov ecx,ebxshr ecx,1 ;j=i/2jLoop: cmp ecx,2 ;j循环入口jb printmov eax,ebxcdq ;xor edx,edxdiv ecx ;被除数送eax,32位除法or edx,edx ;cmp edx,0jz nexti ;if i mod j=0 then goto next idec ecxjmp jLoopprint: mov prime[esi*4],ebxinc esimov eax,ebxmov eax,offset blankcall d ispmsg ;显示空格nexti: inc ebx ;i=i+1jmp iLoopdone: call dispcrlfmov eax,offset msg1call d ispmsgmov pcounter,esimov eax,esicall dispuidcall dispcrlfret ;返回操作系统mainendp ;主程序结束end main ;end of assembly3. 编程写一个完整的程序,将数组aray中的元素按逆序存放,要求程序中附加的变量最少。
数据段的定义如下:.dataaray dword 12,4, 168,122,-33,56,78,99,345, 66,-5; 采用伪代码pseudo code描述算法; 1. i=n-1 downto 1 do; 1.1 j=0 to i-1; 1.1.1 if a[j]>a[j+1] then swap; 合理分配寄存器,i=ecx,j=edx ,i-1=ecx-1include io32.inc.data ;set data segmentblank3 byte 3 dup(20h),0array dword 12,4,-168,122,33,56,78,99,345,-66,-5char byte ?msg byte 13,10,'press any key to continue ...',0 ;字符串.codemainprocmov ecx,(lengthof array)-1 ;计数循环的初值iLoop: ;i循环入口dec ecx ;ecx=i-1xor edx,edxjLoop: ;j循环入口,循环控制变量edxcmp edx,ecxjg nextimov eax,array[edx*4]cmp eax,array[edx*4+4]jge nextjxchg eax,array[edx*4+4]mov array[edx*4],eaxnextj: inc edxjmp jLoopnexti: inc ecx ;retrieve ecxloop iLoopprint: xor ecx,ecxagain: cmp ecx,lengthof array-1jg donemov eax,array[ecx*4]call dispsidmov eax,offset blank3 ;显示空格call dispmsginc ecxjmp againdone: mov eax,offset msg ;显示:press any key to continuecall dispmsgmov eax,offset char ;暂停,等待按任意键call readcret ;返回操作系统mainendpend main ;end of assembly4. 编程写一个完整的程序,求数组aray中的最大值与最小值,并将它们分别存入max和min 元中。
数据段的定义如下:.dataaray dword 12,4,-168,122,-33,56,78,99,345,-66,-5min dword ?max dword ?include io32.inc.dataaray dword 12,4,-168,122,-33,56,78,99,345,-66,-5min dword ?max dword ?prompt byte 'Enter an integers :',0maxStr byte 'max=%d',13,10,0 ;显示字符串的格式描述串minStr byte 'min=%d',13,10,0main procmov ecx,lengthof ara -1mov eax,ara[0] ;eax:maxmov ebx,eax ;ebx,minmov esi,1again: cmp eax,ara[esi*4]jge smallmov eax,ara[esi*4]small: cmp ebx,ara[esi*4]jle nextmov ebx,ara[esi*4]next: inc esiloop againmov max,eaxmov min,ebxret ;返回操作系统main endpend main5. 编程写一个完整的程序统计msg中的空格的个数与小写字母的个数,并分别将它们存入space单元与char单元中。
数据段的定义如下:.datamsg byte 'I love XUT !',13,10,0space dword ?char dword ?include io32.inc.datamsg byte 'I love XUT!',13,10,0space dword ?char dword ?.codemain procmov ebx,0xor edi,edimov esi,edil1: mov al,msg[ebx]cmp al,20hjnz done1cmp al,0jz nextinc ediinc ebxjmp l1done1: cmp al,'a'cmp al,'z'ja done2cmp al,0jz nextinc esiinc ebxjmp l1done2: cmp al,0jz nextinc ebxjmp l1next: mov space,edimov eax,spacecall dispuidcall dispcrlfmov char,esimov eax,charcall dispuidcall dispcrlfretmain endpend main6. 编程写一个完整的程序,将字符串msg中所有的小写字母转换为大写字母。