xiti.doc计算机基础习题

上传人:仙*** 文档编号:133939253 上传时间:2022-08-11 格式:DOC 页数:49 大小:1.33MB
返回 下载 相关 举报
xiti.doc计算机基础习题_第1页
第1页 / 共49页
xiti.doc计算机基础习题_第2页
第2页 / 共49页
xiti.doc计算机基础习题_第3页
第3页 / 共49页
点击查看更多>>
资源描述
微机原理与接口技术习题及解答第一章 绪论 习题及解答1、冯诺依曼型计算机有哪些特点?【解答】冯诺依曼型计算机的设计方案是“存储程序”和“程序控制”,有以下5方面特点:(1)用二进制数表示数据和指令;(2)指令和数据存储在内部存储器中,按顺序自动依次执行指令;(3)由运算器、控制器、存储器、输入设备和输出设备组成基本硬件系统;(4)由控制器来控制程序和数据的存取及程序的执行;(5)以运算器为核心。2、微处理器,微型计算机,微型计算机系统有什么联系与区别?【解答】微处理器指由一片或几片大规模集成电路组成的中央处理器;微型计算机指以微处理器为基础,配以内存储器以及输入输出接口电路和相应的辅助电路构成的裸机;微型计算机系统指由微处理器配以相应的外围设备及其它专用电路、电源、面板、机架以及足够的软件而构成的系统。微处理器,微型计算机,微型计算机系统关系如图所示:3、微处理器有哪些主要部件组成?其功能是什么?【解答】微处理器是一个中央处理器CPU,又算术逻辑部件ALU、累加器和寄存器组、指令指针寄存器IP、段寄存器、时序和控制逻辑部件、内部总线等组成。ALU主要完成算术运算及逻辑运算;寄存器组用来存放参加运算的数据、中间结果或地址;IP指向下一条指令的偏移地址;段寄存器给出存储单元的段地址,与偏移地址构成20位的物理地址;控制逻辑部件控制整机,协调工作。4、微型计算机的特点和主要性能指标有那些?【解答】除具有运算速度快、计算精度高、有记忆能力和逻辑判断能力、可自动连续工作等基本特点以外,还具有功能强、可靠性高、价格低廉、结构灵活、适应性强、体积小、重量轻、功耗低、使用和维护方便等。微型计算机的性能指标与系统结构、指令系统、硬件组成、外部设备以及软件配备等有关。常用的微型计算机性能指标主要有:字长、主频、内存容量、指令数、基本指令执行时间、可靠性、兼容性、性能价格比等。5、什么是微型计算机的系统总线?说明数据总线、地址总线、控制总线各自的作用。【解答】系统总线是CPU与其它部件之间传送数据、地址和控制信息的公共通道。(1)数据总线:用来传送数据,主要实现CPU与内存储器或I/O设备之间、内存储器与I/O设备或外存储器之间的数据传送。(2)地址总线:用来传送地址。主要实现从CPU送地址至内存储器和I/O设备,或从外存储器传送地址至内存储器等。(3)控制总线:用于传送控制信号、时序信号和状态信息等。6、什么是系统的主机板?由哪些部件组成?【解答】CPU、RAM、ROM、I/O接口电路以及系统总线组成的计算机装置称为“主机”,主机的主体则是主机板。主机板上主要有CPU插座、芯片组、内存插槽、系统BIOS、CMOS、总线扩展槽、串行/并行接口、各种跳线和一些辅助电路等硬件。7、计算机中有哪些常用的数制和码制?如何进行数制之间的转换?【解答】数值数据经常用二进制、十进制、八进制和十六进制;字符数据使用ASCII码;表示十进制数字用BCD码。(1)十进制到二进制:整数部分连续除以2后“倒取余”,小数部分连续乘以2后“正取整”;(2)二进制到十进制:将二进制数按权展开即可。(3)二进制到八进制:将3位二进制一组对应1位八进制数码。(4)八进制到二进制:将1位八进制数码对应3位二进制数码。十六进制与二进制间转换与八进制与二进制间转换类似,只是比例关系为1位十六进制数码对应4位二进制数码。8、将下列二进制数转换为十进制数。(1)1101.01 B (2)111.0001B【解答】:(1)(2)9、将下列十六进制数转换为十进制数和二进制数。(1)A3.3H (2)AC.DCH【解答】:(1)转换为十进制数:转换为二进制数:A3.3=10100011.0011B(2)转换为十进制数:转换为二进制数:AC.DC=10101100.11011100B10、将下列十进制数分别转化为二进制数、十六进制数和压缩BCD码。(1)15.32 (2)325.16 (3)68.31 (4)214.126 【解答】:(1)15.32 = 1111.0101B = F.5H=00010101.00110010BCD。(2)325.16 = 10000101.0001B = 85.1H= 001100100101.00010110BCD。(3)68.31 = 1000100.0100B = 64.4H= 01101000.00110001BCD。(4)214.126 = 11010110.0010B = D6.2H= 001000010100.000100100110BCD。11、将下列二进制数分别转化为十进制数、八进制数和十六进制数。(1)10010101 (2)11001010 (3)10111.1101 (4)111001.0101【解答】(1) 11001010 = 202 = 312Q = CAH(2) 10111.1101 = 23.8125 = 27.64Q = 17.DH(3) 111001.0101 = 57.625 = 71.24Q = 39.5H12、将下列十六进制数分别转化为二进制数、十进制数。(1)FAH (2)12B8H (3)5A8.62H(4)2DF.2H【解答】(1) FAH = 11111010B = 250(2) 12B8H = 0001001010111000B = 4792(3) 5A8.62H = 010110101000.01100010B = 1448.3828125(4) 2DF.2H = 001011011111.0010B = 735.007812513、写出下列带符号十进制数的原码、反码、补码表示(采用8位二进制数)。(1)+38 (2)+82 (3)57 (4)115【解答】(1)X =+38,X补 = 00100110B(2)X =+82,X补 = 01010010B(3)X =57,X补 = 11000111B(4)X =115,X补 = 10001101B14、写出下列二进制数的补码表示。(1)+1010100 (2)+1101101 (3) 0110010 (4) 1001110【解答】(1)X = +1010100,X补 = 01010100B(2)X = +1101101,X补 = 01101101B(3)X = 0110010,X补 = 11001110B(4)X = 1001110,X补 = 10110010B15、已知下列补码求出其真值。(1)87H (2)3DH (3)0B62H (4)3CF2H【解答】(1)X补 =87H = 10000111B,符号位为1,X是负数,X原 =11111001B,X =-79H(2)X补 =3DH = 00111101B,符号位为0,X是正数,X = 3DH(3)X补 =0B62H =0000101101100010B,符号位为0,X是正数,X = +B62H(4)X补 =3CF2H = 0011110011110010B,符号位为0,X是正数,X =3CF2H16、按照字符所对应的ASCII码表示,查表写出下列字符的ASCII码。A 、g 、W、*、ESC、LF、CR 、%【解答】A的ASCII码为41H;G的ASCII码为47H;W的ASCII码为57H;*的ASCII码为2AH;ESC的ASCII码为1BH;LF的ASCII码为0AH;CR的ASCII码为DH;%的ASCII码为25H。17、把下列英文单词转换成ASCII编码的字符串。(1)How(2)Great (3)Water (4)Good 【解答】(1)How的ASCII码为486F77H;(2)Great的ASCII码为4772656174H;(3)Water的ASCII码为5761746572H;(4)Good的ASCII码为476F6F64H。第二章 8086系统结构 习题及解答1、8086CPU具有 20 条地址线,可直接寻址 1MB 容量的内存空间,在访问I/O端口时,使用地址线 16条 ,最多可寻址 64K 个I/O端口。 2、8086CPU中的指令队列的作用是 预取指令 ,其长度是 6 字节。3、8086的存储器采用 奇偶存储体 结构,数据在内存中的存放规定是 低字节存放在低地址中,高字节存放在高地址中,以低地址为字的地址,规则字是指 低字节地址为偶地址的字,非规则字是指 低字节的地址为奇地址的字。4、8086 CPU内部由哪两部分组成?它们的主要功能是什么?【解答】8086CPU的内部由总线接口部件BIU和执行部件EU组成。BIU具有下列功能:地址形成、取指令、指令排队、读/写操作数和总线控制;EU完成指令译码和执行指令的操作。5、8086CPU内部寄存器有哪几种?各自的特点和作用是什么?【解答】CPU有14个内部寄存器,可分为3大类:通用寄存器、控制寄存器和段寄存器。通用寄存器是一种面向寄存器的体系结构,操作数可以直接存放在这些寄存器中,既可减少访问存储器的次数,又可缩短程序的长度,提高了数据处理速度,占用内存空间少。控制寄存器包括指令指针寄存器IP和标志寄存器FLAG:IP用来指示当前指令在代码段的偏移位置;FLAG用于反映指令执行结果或控制指令执行的形式。为了实现寻址1MB存储器空间,8086CPU将1MB的存储空间分成若干个逻辑段进行管理,4个16位的段寄存器来存放每一个逻辑段的段起始地址。6、已知堆栈段寄存器(SS)=2400H,堆栈指针(SP)=1200H,计算该堆栈栈顶的实际地址,并画出堆栈示意图。【解答】:(SS)=2400H,(SP)=1200H栈底SP 图2-1 堆栈示意图;PA=(SS)10H(SP)= 2400H10H1200H = 25200H。7、解释逻辑地址、偏移地址、有效地址、物理地址的含义,8086存储器的物理地址是如何形成的?怎样进行计算?【解答】逻辑地址:表示为段地址:偏移地址,书写程序时用到,一个存储单元可对应出多个逻辑地址;偏移地址:是某一存储单元距离所在逻辑段的开始地址的字节个数。有效地址:是指令中计算出的要访问的存储单元的偏移地址。物理地址:是CPU访问存储器时用到的20位地址,是存储单元的唯一的编号。物理地址计算公式:物理地址 = 段地址10H有效地址(或偏移地址)8、8086系统中的存储器分为几个逻辑段?各段之间的关系如何?每个段寄存器的作用是什么?【解答】8086CPU将1MB的存储空间分成逻辑段来进行管理:每个逻辑段最小为16B。所以最多可分成64K个段;每个逻辑段最大为64KB,最少可分成16个逻辑段。各段的起始位置由程序员指出,可以彼此分离,也可以首尾相连、重叠或部分重叠。4个16位的段寄存器用来存放每一个逻辑段的段起始地址:CS中为代码段的起始地址;DS中为数据段的起始地址;SS中为堆栈段的起始地址;ES中为附加段的起始地址。9、 已知两个16位的字数据268AH和357EH,它们在8086存储器中的地址分别为00120H和00124H,试画出它们的存储示意图。【解答】存储示意图参见图2-1。8AH00120H50H00510H26H00121H65H00511H00122H6EH00512H00123H74H00513H7EH00124H69H00514H35H00125H75H00515H6DH00516H图2-1 数据的存储示意 图2-2 字符的存储示意10、找出字符串“Pentium”的ASCII码,将它们依次存入从00510H开始的字节单元中,画出它们存放的内存单元示意图。 【解答】存储示意图参见图2-2。11、8086CPU与8088CPU的主要区别是什么?【解答】(1)8086的指令队列是6字节,8088是4字节; (2)8088与外部交换数据的总线宽度是8位,所以,对16位数的存储器读/写需要2个总线周期,8086是16位; (3)8088外部数据总线只有8条,所以分时复用的地址/数据总线为; (4)8088中,用信号代替; (5)8088中,不需要信号。12、段寄存器装入如下数据,写出每段的起始和结束地址。(1)1000H (2)1234H【解答】:(1)起始结束的偏移地址为0000HFFFFH 起始的物理地址为1000H16+0000H=10000H 结束的物理地址为1000H16+FFFFH=1FFFFH范围为:10000H1FFFFH。(2)起始结束的偏移地址为0000HFFFFH 起始的物理地址为1234H16+0000H=12340H 结束的物理地址为1234H16+FFFFH=2233FH范围为:12340H2233FH。13、根据下列CS:IP的组合,求出要执行的下一条指令的存储器地址。(1)CS:IP=2000H:1000H (2)CS:IP=3456H:AB09H【解答】:(1)CS16+IP21000H(2)CS16+IP=34560H+AB09H=3F069H14、8086CPU重新启动后,从何处开始执行指令?【解答】8086CPU重新启动后,从CS=FFFFH,IP=0000H,即物理地址为FFFF0H处开始执行指令。15、什么是总线周期?8086CPU的读/写总线周期各包含多少个时钟周期?什么情况下需要插入等待周期TW,什么情况下会出现空闲状态TI?【解答】8086CPU经外部总线对存储器或I/O端口进行一次信息的输入或输出过程所需要的时间,称为总线周期。8086CPU的读/写总线周期通常包括T1、T2、T3、T4状态4个时钟周期。在高速的CPU与慢速的存储器或I/O接口交换信息时,为了防止丢失数据,会由存储器或外设通过READY信号线,在总线周期的T3和T4之间插入1个或多个必要的等待状态TW,用来进行必要的时间补偿。在BIU不执行任何操作的两个总线周期之间会出现空闲状态TI。第三、四章 汇编指令和汇编语言 习题一选择题1指令ADD CX,55HBP的源操作数的寻址方式是( )。(A) 寄存器寻址 (B) 直接寻址 (C) 寄存器间接寻址 (D) 寄存器相对寻址2设(SS)=3300H,(SP)=1140H,在堆栈中压入5个字数据后,又弹出两个字数据,则(SP)=( ) 。(A) 113AH (B) 114AH (C) 1144H (D) 1140H3若SI=0053H,BP=0054H,执行SUB SI,BP后,则( )。(A) CF=0,OF=0 (B) CF=0,OF=1 (C) CF=1,OF=0 (D) CF=1,OF=14已知(BP)=0100H,(DS)=7000H,(SS)=8000H,(80100H)=24H,(80101H)=5AH,(70100H)=01H,(70101H)=02H,指令MOV BX,BP执行后,(BX)=( ) 。(A) 0102H (B) 0201H (C) 245AH (D) 5A24H5实模式下80486CPU对指令的寻址由( )决定。 (A) CS,IP (B) DS,IP (C) SS,IP (D) ES,IP6使用80486汇编语言的伪操作指令定义: VAL DB 2 DUP(1,2,3 DUP(3),2 DUP(1,0) 则在VAL存储区内前十个字节单元的数据是( )。(A) 1,2,3,3,2,1,0,1,2,3 (B) 1,2,3,3,3,3,2,1,0,1 (C) 2,1,2,3,3,2,1,0 (D) 1,2,3,3,3,1,0,1,0,17下列四条指令都可用来使累加器清0,但其中不能清进位位的是( ) 。(A) XOR AL,AL (B) AND AL,0 (C) MOV AL,0 (D) SUB AL,AL8若(AX)=96H,(BX)=65H,依次执行ADD AX,BX指令和DAA指令后,(AL)=( )。 (A) 0FBH (B) 01H (C) 61H (D) 0BH9下列能使CF标志置1的指令是( ) 。(A) CMC (B) CLC (C) STC (D) CLD10MOV AX,BP+SI隐含使用的段寄存器是( )。(A) CS (B) DS (C) ES (D) SS11设AL=7FH,要使AL=80H,应使用下列哪一条指令( )。 (A) AND AL,80H (B) OR AL,80H (C) XOR AL,80H (D) NOT AL12在执行十进制调整指令 DAA,DAS之前必须将结果存放于( )中。 (A) AX (B) AH (C) AL (D) BL13下列指令执行后影响标志位的是( ) 。 (A) MOV (B) PUSH (C) ADD (D) XCHG14唯一能对应存储单元的地址是( )。(A) 物理地址 (B) 端口地址 (C) 有效地址 (D) 逻辑地址15计算机能直接执行的语言是( )。(A) 机器语言 (B) 汇编语言 (C) 高级语言 (D) 程序设计语言16需采用先进后出原则操作的存储区是( )。(A) 寄存器组 (B) 地址缓冲器 (C) 数据寄存器 (D) 堆栈区17寄存器SP用于对( )的操作。(A) 空闲单元 (B) 堆栈单元 (C) 数据单元 (D) 指令单元18若(BX)=1000H,(DS)=2000H,(21000H)=12H,(21001H)=34H,执行LEA SI,BX指令后,SI寄存器的内容是( )。(A) 1234H (B) 3412H (C) 1000H (D)0010H 19若(AL)=80H,执行 NEG AL指令后,CF和OF标志位的状态分别为( )。(A) 0和0 (B) 0和1 (C) 1和0 (D) 1和1 20若要完成(AX)*7/2运算,则在下列四条指令之后添加( )指令。 MOV BX,AX ;MOV CL,3 ;SAL AX,CL ;SUB AX,BX( ) 。(A) ROR AX,1 (B)SAL AX,1 (C)SAR AX,1 (D)DIV AX,2 21在保护模式下,代码段的段基址存在于( )中。 (A) 段选择符 (B) 指令指针寄存器 (C) 段寄存器 (D) 段描述符22查表指令XLAT规定,待查表的首址应存入( )中。(A) BP (B) SI (C) DI (D) BX23将要取的某一条指令的偏移地址由( )提供。(A) SI (B) BP (C) SP (D) IP24寄存器间接寻址方式中,操作数在( )中。(A) 通用寄存器 (B) 堆栈 (C) 主存单元 (D) 段寄存器 25运算型指令的寻址和转移型指令的寻址,其不同点在于( )。(A) 前者取操作数,后者决定程序的转移地址 (B) 后者取操作数,前者决定程序的转移地址 (C) 两者都是取操作数 (D) 两者都是决定程序的转移地址26JMP WORD PTR DI是( )。 (A) 段内间接转移 (B) 段间间接转移 (C) 段内直接转移 (D) 段间直接转移27INC指令不影响( )标志。(A) OF (B) CF (C) SF (D) ZF28逻辑移位指令SHL用于( )。(A) 带符号数乘2 (B) 带符号数除2 (C) 无符号数乘2 (D) 无符号数除229算术移位指令SAR用于( )。(A) 带符号数乘2 (B) 带符号数除2 (C) 无符号数乘2 (D) 无符号数除230下列指令中,有语法错误的是( )。(A) MOV SI,AX (B) IN AL,DX (C) XOR AX,1234H (D) OUT 210H,AL31在下列伪指令中定义字变量的是( )。(A) DD (B) DW (C) DQ (D) DT32下列指令中,能使AL的内容固定为偶数的是( )。(A) ADD AL,01 H (B) OR AL,0FEH (C) AND AL,0FEH (D) XOR AL,0FEH33改变( )寄存器的值,可改变堆栈中栈顶元素的位置。(A) BP (B) IP (C) SP (D) BX34加减类运算指令对标志位的状态( )。(A) 有影响 (B) 部分影响 (C) 无影响 (D) 任意35当AH=( )时,执行INT 21H指令可在屏幕上显示一组字符。(A) 01H (B) 02H (C) 09H (D) 0AH36已知VAR DW 1,2,$+2,5,6 若汇编时VAR分配的偏移地址是2010和,则汇编后2014H单元的内容是( )。(A) 6H (B) 14H (C) 5H (D) 16H37若某数据段位于存储区68000H7FFFFH,则该数据段的段基址是( )。(A) 68000H (B) 7FFFFH (C) 6000H (D) 6800H38SP的作用是用来指示( )。(A) 栈顶元素的有效地址 (B) 下一条要执行指令的地址(C) 下一条要取的指令的地址 (D) 栈底元素的有效地址39在数据传送指令执行过程中,不能直接与立即数进行传送的是()。(A)通用寄存器 (B)段寄存器 (C)存储器 (D)通用寄存器和存储器40转移类指令对标志位的状态( )。(A)有影响 (B)部分影响 (C)无影响 (D)随意41欲从存储单元取某操作数,可采用( )。(A) 寄存器寻址、寄存器间接寻址 (B) 立即寻址、直接寻址(C) 立即寻址、寄存器间接寻址 (D) 寄存器间接寻址、直接寻址42在指令MOV AX,0 执行后,CPU状态标志位ZF的取值( )。(A)为0 (B)为1 (C)不确定 (D)不改变43已知AL=10010111H,BL=00010101H,执行ADD AL,BL指令后,OF、SF、CF、ZF标志的状态为( )。(A) 1、0、1、1 (B)1、1、0、0 (C)0、0、1、1 (D) 0、1、0、144下列指令中,错误的是( )。(A) MOV BX,OFFSET BUF (B) LEA SI,BUF(C) LEA DI,OFFSET BUF (D) MOV BP,SEG BUF45输入/输出指令对标志位的状态( )。(A)有影响 (B)部分影响 (C)无影响 (D)任意46下列描述正确的是( )。(A) 汇编语言仅由指令性语句组成 (B) 汇编语言包括指令性语句和伪指令语句(C) 指令性语句和伪指令语句的格式是完全相同的 (D) 指令性语句和伪指令语句需经汇编程序翻译成机器代码后才能执行47下列指令中不属于逻辑运算指令的是( )。(A)XOR (B)CWD (C)NOT (D)OR48假定DX=10111001B,CL=3,CF=1,则执行指令SHL DX,CL后,DX的值为( )。(A)005CH (B)0017H (C)1700H (D)05C8H49下列指令中不会改变指令指针寄存器内容的是( )。(A)MOV (B)JMP (C)CALL (D)RET50伪指令ENDP告诉汇编程序( )。(A)宏定义结束 (B)过程定义结束(C)段定义结束 (D)过程运行结束51利用DOS系统功能调用的9号(AH=9)功能,显示一个字符串,其入口参数应为( )。(A)DS:DX=字符串首地址 (B)DS:DX=字符串末地址(C)CS:DX=字符串首地址 (D)CS:DX=字符串末地址52在下列伪指令中定义双字变量的是( )。(A) DB (B) DW (C) DD (D) DT二、判断题1指令MOV AX,BX的源操作数是寄存器寻址方式。2对堆栈区的操作必须遵循先进先出的原则。3比较两个带符号数的大小,可根据CF标志来判断。4逻辑操作符AND,OR,XOR和NOT,只能用于数字表达式。5不能给段寄存器赋立即数。6OF位可用来表示有符号数的溢出。7无条件转移指令只能用于段内直接转移。8MOV AX,BP的源操作数的物理地址为16*(DS)+(BP)。9指令MOV DI,OFFSET BXSI是正确的。10指令MOV CS,BX是非法的。11指令NOT AX,BX是合法的。12MOV BXBP,AX是对的。1380486中对堆栈单元的存取操作是以字节为单位的。14JMP指令要影响标志位。15INC指令影响所有状态标志。16欲交换寄存器SI,DI的内容,可用指令XCHG SI,DI实现。17CPU中的程序计数器IP中存放的是指令的逻辑地址。18两个符号相同的数相减不会产生溢出。19汇编程序就是汇编语言程序。20相对寻址中的位移量只能用16位表示。21CLD指令是MOVSB指令的使用条件之一。22段寄存器间不能直接进行数据传送。23要把变量BUFF的有效地址送给BX,可用MOV BX,BUFF指令。24当对堆栈段的数据进行操作时,其操作数的有效地址可保存在BP中。25TEST指令属于逻辑运算指令。26CS和IP都不能作传送指令的目的操作数。三、填空题1若SS=5310H,SP=0E30H,其物理地址为( )。2若CH=07H,CL=08H,执行指令ADD CH,CL后,AF=( ),CF=( ),OF=( ),PF=( )。3指令由( ) 和( ) 两个字段构成。4 条件转移指令JNE的测试条件是( )。 5若用指针(BP)访问存储器,则数据包含在( ) 段中。6 若AX=1234H,SP=1000H,指令PUSH AX执行后AX=( ),SP=( ) 。7指令采用( )寻址方式时操作数是在代码段中。四、阅读程序1 程序中数据定义如下:DATA1 DW ?DATA2 DB 32 DUP(?)DATA3 DD ?COUNT EQU $-DATA1此时COUNT 的值是( )。2分析下列程序段,说出其功能。MOV AX,1000HMOV DS,AXMOV ES,AXMOV SI,0100HMOV DI,0200HMOV CX,50DREP MOVSB3 写出下列程序段的功能MOV BX,2000HMOV DS,BXXOR AL,ALMOV CX,100AGAIN: MOV BX,ALINC BXLOOP AGAIN4写出下列程序段的功能LEA SI,BUFFERLEA DI,ARRAYMOV CX,100XOR BL,BLLP: CMP SI,01HJNZ LP1INC BLLP1:INC SILOOP LPMOV DI,BL5写出下列程序段的功能MOV CX,16MOV AX,NMOV BH,0LP0: SHL AX,1JC LPINC BHLP: LOOP LP0MOV SUM,BH6写出下列程序段的功能MOV AL,NAND N,0FHMOV BL,NSHR AL,4MOV BH,AL7执行下列程序段后,AX=?MOV AX,0702HMOV BH,09HAAD DIV BH8下面程序段执行后AL=?ABC DW 2152H,3416H,5731H,4684HMOV BX,OFFSET ABCMOV AL,3XLAT9执行下面的程序段后AX=?MOV CX,5MOV AX,50NEXT: SUB AX,CXLOOP NEXTHLT10 执行下面的程序段后 AX=?TAB DW 1,2,3,4,5,6ENTRY EQU 6MOV BX,OFFSET TABADD BX,ENTRYMOV AX,BX11 执行下面程序段后 AX=ARRAY DW 1,2,3,4,5,6,7,8,9,10 COUNT EQU $-ARRAYXOR AX,AXMOV CX,COUNTMOV SI,OFFSET ARRAYNEXT:ADD AX,SIINC SILOOP NEXT12写出下列程序段的功能MOV AH,1INT 21HAND AL,0FHMOV BL,ALMOV AH,1INT 21HSHL AL,4AND AL,BL将从键盘接受到的两个字符拼在一起13执行下列程序段后N DB 07HXOR BH,BHMOV BL,NRCL BL,1ADD BH,BLXOR BH,0FFHHLT寄存器BH的值是 ,寄存器BL的值是 。14 分析下列程序段MOV AL,NXOR AH,AHMOV CL,4DIV CL当N=3CH时,程序执行完后AX=15程序段如下:CLCMOV AL,6MOV BL,9ADD AL,BLMOV BL,ALDAA执行上面程序段后,AL= ,AF= ,BL= 16执行下列指令后TABLE DB 19H,55H,9CHLEA BX,TABLEMOV AL,BXXOR AL,89HMOV BX,AL寄存器AL的值是 17分析下列程序段,说明该程序段执行何种功能。MOV CX,10MOV DL,30HNEXT1:MOV AH,2INT 21HINC DLLOOP NEXT118执行下列指令后MOV AX,1245HMOV BX,5689HADD AL,BLMOV CL,ALMOV AL,AHADC AL,BHDAA寄存器AL的值是 ,寄存器CL的值是 19分析下列程序段:MOV AL,NXOR AH,AHMOV BL,16DIV BL当N=57H时,程序执行完后AX=?20在下面程序的括号中分别填入如下指令: LOOP XH LOOPNE XH LOOPE XH问在这三种情况下,当程序执行完后,AX、BX、CX、DX四个寄存器中的内容分别是什么?START:MOV AX,04MOV BX,02MOV CX,03MOV DX,05XH:INC AXADD BX,AXSHR DX,1( )HLT21阅读程序,请说出该程序的功能是什么?MOV AX,DATAMOV DS,AXLEA SI,BUFFERXOR BL,BLMOV CX,100AGAIN: MOV AL,SITEST AL,1JNZ NEXTINC BL NEXT: INC SILOOP AGAINHLT22从键盘上接收一字符,若是“Y”转YES,是“N”转NO,否则继续等待,到输入“Y”或“N”为止。程序段如下:MOV AL,NAND AL,0FHADD AL,90HDAAADC AL,40HMOV RUT,ALHLT问: 若N=5,下列程序执行后AL=? 该程序段的功能是什么?23执行下列程序段后:DATA SEGMENTDT1 LABLE WORDDT2 DB 12H,34HDATA ENDSMOV AL,DT2MOV DX, DT1寄存器AL的值是 ,寄存器DX的值是 。24读下列程序,请说出该程序的功能是什么?DATA SEGMENTSUM DW 0DATA ENDSSTACK SEGMENTDB 200 DUP(?)STACK ENDSCODE SEGMENTASSUME DS:DATA,SS:STACK,CS:CODESTART: MOV AX,DATAMOV DS,AXMOV CX,50MOV AX,0MOV BX,1NEXT: ADD AX,BXINC BXINC BXDEC CXJNE NEXTMOV SUM,AXMOV AH,4CHINT 21HCODE ENDSEND START25设伪指令定义如下,请画出内存分配示意图。BUF DB ?DW ABDW CDW 1234H DB EF26执行下列程序段后: DATA SEGMENTDT1 DW 8A9BHDT2 DB 7CH, 6DHDATA ENDS MOV AX, DT1MOV BX, OFFSET DT1MOV SI, OFFSET DT2寄存器BX的值是 ,寄存器SI的值是 。27执行下列指令后: TABLE DB 10H,33H,41HMOV BX,OFFSET TABLEMOV AL,BXXOR AL,80HMOV BX,AL寄存器AL的值是多少?28执行下列程序段后:DATA SEGMENTN1 DW 3355HN2 DB 23H, 89HDATA ENDS MOV AX, N1MOV DI, OFFSET N1MOV BP, OFFSET N2寄存器DI的值是多少?寄存器BP的值是多少?29执行下列指令后:DAT DB 10H,33H,41HLEA BX,DATMOV AX,SEG DATMOV ES,AXMOV AL,ES:BXXOR AL,80HMOV ES:BX,AL寄存器AL的值是多少?30执行下列程序段后: BUF DB 01HXOR AL,ALMOV AL,BUFMOV BL,ALSAL AL,1ADD AL,BLXOR AL,0FFHHLT寄存器AL的值是多少?寄存器BL的值是多少?五程序填空1下列程序是在键盘上输入120个字符,然后将输入反序后显示在屏幕上。请将程序填写完整。STACK1 SEGMENT STP DW 120 DUP ( ? )STACK1 ENDSCODE SEGMENTASSUME CS:CODE,SS:STACK1START: MOV AX, STACK1MOV SS, AXMOV SP, SIZE STP MOV CX,120LOOP1: MOV AH,01HINT 21HPUSH AX( ) MOV DL,0AHMOV AH, 02HINT 21HMOV DL, 0DHINT 21HMOV CX, 120LOOP2: ( ) MOV AH,02HINT 21HLOOP LOOP2MOV AH,4CHINT 21HCODE ENDSEND START六、编写程序1在STR到STR+49单元中存放着一个字符串,试编写一个程序,测试字符串中是否存在数字,如有,则把DL的第五位置1,否则将该位置0。2试编程实现,从键盘接收N个(N60)8位二进制数,统计其中奇数的个数,并将结果显示在屏幕上。3已知有100字节的数据块存放在以5C10H: 2000H开始的存储区内,要求编写一个完整程序将数据移动到以5C10H:2008H开始的存储区内。4数组A包含100个互不相等的整数,数组B包含150个互不相等的整数,试编程实现将数组A和数组B都有的整数存放在数组C中。5在以BASE起始的表中存有一组字符,它以回车(0DH)结束。请编写程序:实现从该表中查找关键字KEY(设关键字KEY在AL中),并将找到的第一个关键字偏离表首的位置存放在寄存器DX中,若无此关键字,DX返回值为1。 6编写一个中断程序,实现人机对话。要求执行程序时,显示WHAT IS YOUR NAME?,在回车换行后,接收键盘输入信息,并显示。7编写程序找出BUF数据区中50个带符号数的最大值和最小值,并分别存入MAX和MIN单元。8试编程实现从键盘接收N个(N50)8位二进制数,统计偶数的个数及偶数之和,并将统计的个数以十进制方式显示在屏幕上。9以STRING起始的字符串的最大长度为80个字符,字符串的结束用字符$表示。编写程序在该字符串中查找是否有空格符(ASCII码为20H),若有就将第一个空格字符串中的位置(00H4FH)存入POST单元;若无空格则将-1存入POST。10BUFFER字节数组中存有一组无序列字节数数据,列的长度表示在BUFFER的第一个字节中KEY中为一个字节数据,编写程序在BUFFER中查找有无KEY,若有就结束,若没有就将KEY加入到BUFFER中去,并修改列的长度。11利用移位及数据循环指令完成将DH AL中的16位二进制乘以8的运算,结果仍存入DH AL中。12分别从键盘上接收两长度相等的组数A和B,试完成两数组的求和任务,将结果存放在数组C中,并显示在屏幕上。13编写程序,将键盘输入的小写字母用大写字母显示出来。14要求从键盘接收一个十进制数字,然后找出它的前导数字和后继数字,并按相反的顺序显示输出。15设在变量X、Y、Z中存放有三个数,若三个数都不为0,则求出三个数之和存入U中,若有一个为0,则将其它两个单元也清零,编写此程序。16求出首地址为DATA的M个字节的无符号数组中最小奇数,并把它存放于DL中。第三、四章 汇编指令和汇编语言 习题解答一选择题1(D) 2(A) 3(C) 4(D) 5(A) 6(D)7(C) 8(C) 9(C) 10(D) 11(D) 12(C)13(C) 14(A) 15(A) 16(D) 17(B) 18(C)19(C) 20(C) 21(D) 22(D) 23(D) 24(C)25(A) 26(A) 27(B) 28(C) 29(B) 30(D)31(B) 32(C) 33(C) 34(A) 35(C) 36(D)37(D) 38(A) 39(B) 40(C) 41(D) 42(D)43(B) 44(C) 45(C) 46(B) 47(B) 48(D)49(A) 50(B) 51(A) 52(C)二、判断题1 2 3 4 5 6 7 8 910 11 12 13 14 15 16 171819 20 21 22 23 24 25 26三、填空题153F30H2 0 ; 0; 0; 13操作码;操作数 4 ZF=05SS6 1234H,0FFEH7立即四、阅读程序1 38(或26H)2将以10100H起始的50个单元的内容传送至以10200H起始的50个单元中3 将数据段中以2000H起始的100个单元中的内容清零4统计以BUFFER为首址的100个单元中数字为1的个数存入ARRAY单元5统计N字中0的个数6将N的内容拆为两部分分别存入BH,BL中7AX=0008H8AL=34H9AX=23H10 AX=0004H11 AX=0055H12 将从键盘接受到的两个字符拼在一起13BH=0FFH,BL=0EH14 AX=000FH15AL=15H,AF=1,BL=0FH1690H17向屏幕上依次输出0,1,。918AL=68H,CL=CEH19AX=0705H20 AX=0007H,BX=0014H,CX=0,DX=0 AX=0007H,BX=0014H,CX=0,DX=0 AX=0005H,BX=0007H,CX=0002H ,DX=0002H 21程序的功能是:统计以BUFFER为起始地址的100个单元中偶数的个数。22 35H 将十六进制数转换为ASCII码23 12H 3412H24程序的功能是:求从1开始的50个奇数之和。25(如下图) 26 、0000H 、0002H 27AL=90H 28DI=0000H BP=0002H 29 AL=90H 30AL=0FCH BL=1 五程序填空1、LOOP LOOP1 、POP AX; MOV DL,AL六、编写程序1在STR到STR+49单元中存放着一个字符串,试编写一个程序,测试字符串中是否存在数字,如有,则把DL的第五位置1,否则将该位置0。DATA SEGMENTSTR1 DB 50 DUP(?)DATA ENDSCODE SEGMENT ASSUME CS: CODE, DS: DATAMAIN PROC FARSTART: PUSH DS MOV AX,0 PUSH AX MOV AX,DATA MOV DS,AXBEGIN: MOV CX,50 MOV SI,0 REP1: MOV AL, STR1SI CMP AL, 30H JB GO CMP AL, 39H JA GO OR DL, 20H JMP EXIT GO: INC SI LOOP REP1 AND DL, 0DFH EXIT: RET MAIN ENDP CODE ENDSEND START 2试编程实现,从键盘接收N个(N60)8位二进制数,统计其中奇数的个数,并将结果显示在屏幕上。DATA SEGMENTKEY DB 61KEY1 DB ?KEY2 DB 61 DUP(?)DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV DX,OFFSET KEY MOV AH,0AH INT 21H MOV AL,0 LEA SI,KEY2 MOV CH,0 MOV CL,KEY1LP0: MOV BL,SI TEST BL,01H JZ LP1 ADD AL,01H DAALP1: INC SI LOOP LP0 MOV BL,AL MOV CL,4 SHR AL,CL ADD AL,30H MOV DL,AL MOV AH,02H INT 21H AND BL,0FH ADD BL,30H MOV DL,BL MOV AH,02H INT 21H MOV AH,4CH INT 21H CODE ENDS END START 3已知有100字节的数据块存放在以5C10H: 2000H开始的存储区内,要求编写一个完整程序将数据移动到以5C10H:2008H开始的存储区内。参考程序 CODE SEGMENT ASSUME CS:CODE MAIN: MOV AX,5C10H MOV ES,AX MOV DS,AX MOV SI,2063H MOV DI,206BH STD MOV CX,100 REP MOVSB MOV AH,4CH INT 21H CODE ENDS END MAIN4数组A包含100个互不相等的整数,数组B包含150个互不相等的整数,试编程实现将数组A和数组B都有的整数存放在数组C中。参考程序DAT SEGMENTA DB 100 DUP(?)B DB 150 DUP(?)C DB 150 DUP(?)
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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