汇编复习题2014c._第1页
汇编复习题2014c._第2页
汇编复习题2014c._第3页
汇编复习题2014c._第4页
汇编复习题2014c._第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、汇编语言程序设计复习资料2014一、+选择题1、汇编语言源程序经汇编后不能直接生成CA .OBJ文件B丄ST文件C .EXE文件D .CRF文件-1 -汇编语言程序设计复习资料2014-# -汇编语言程序设计复习资料20142、若SP=1500H那么执行完 PUSH旨令后,SP= BC.1502HD.1501HC.段内直接转移D.段间直接转移C。C. LEA SI,XD. LDS SI,XA. 14FFH B.14FEH3、JMP WORD PTR DI是 A 。A. 段内间接转移B.段间间接转移4、与MOV SI,OFFSET X等价的指令是A. MOV SI,XB. LES SI,X5、运

2、算型指令的寻址和转移型指令的寻址,其不同点在于_A。A. 前者取操作数,后者决定程序的转移地址B.后者取操作数,前者决定程序的转移地址C.两者都是取操作数D.两者都是决定程序的转移地址6、下列指令 D 是合法的访问I/O端口指令。A. IN AL,100HBN AL,BXC. IN AL,BLD. IN AL,DX7、逻辑移位指令SHL用于_C;A.带符号数乘2B.带符号数除2C.无符号数乘2D.无符号数除2而算术移位指令SAL用于A。A.带符号数乘2B.带符号数除2C.无符号数乘2D.无符号数除28、由汇编程序在汇编过程中执行的指令是BA.机器语言B.伪指令C.状态标志D.物理地址9、在汇编

3、语言程序设计中,伪指令OFFSET勺含义是回送变量或标号的BA.段地址B.物理地址C.偏移地址D.操作数10、子程序返回伪指令是C。A. ENDPB. IRETC.RETD.段内与段间不同11、使用LINK连接命令,执行后可生成文件的扩展名为C。A. .COMB. .OBJC. .EXED. . LST12、 已知 AX的内容为1FFAH执行 XOR AX,AX, AX内容为_C。A.00FAH B.1FFAHC. 0000HD.1F00H13、 编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令是DA. CMPB.SUB14、INC指令不影响_B标志。A. OFB.CF

4、15、段内直接调用,程序的转移范围为A. -128127B. -3276832767C. ANDD.MOVC.SFD.ZFB。C.-6553665535D. 032767-# -汇编语言程序设计复习资料2014-# -汇编语言程序设计复习资料201416、中断向量 DA.传送数据的起始地址B.中断类型号C.子程序入口地址D.中断服务程序入口地址-# -汇编语言程序设计复习资料2014-# -汇编语言程序设计复习资料201417、执行返回指令,退岀中断服务程序,这时返回地址来自A.ROM区D.CPU的暂存寄存器B. 程序计数器C.堆栈区18、 微机系统中有哪些总线?_DA.状态总线、数据总线、控

5、制总线B.地址总线、状态总线、控制总线C. 状态总线、数据总线、地址总线D.数据总线、地址总线、控制总线19、 以下不属于总线接口部件BIU部件的是_A。A.通用寄存器B.地址产生器C.指针寄存器D.专用寄存器20、 不能将累加器AX的内容清0的错误指令是_B。A.AND AX, 0 B.CMP AX, AX C.SUB AX, AX D.XOR AX, AX 21、有如下程序段:MOV CX,6MOV AX,1MOV BX,3LOP: ADD AX,BXADD BX,2LOOP LOP上述指令完成后,AX= B-3 -汇编语言程序设计复习资料2014-# -汇编语言程序设计复习资料2014A

6、. 6B. 49C.50D. 0-# -汇编语言程序设计复习资料201422、由汇编程序在汇编过程中执行的指令是A.物理地址B.机器语言C.指令D.伪指令-# -汇编语言程序设计复习资料2014-# -汇编语言程序设计复习资料201423、从键盘输入数据1,则在寄存器中存放的形式为AA. 31HB. 01HC.” 1D. 1-# -汇编语言程序设计复习资料2014-# -汇编语言程序设计复习资料201424、下列有关段地址、偏移地址、物理地址的叙述正确的是A. 若已知物理地址,则可以计算出唯一的段地址和偏移地址。B. 段的划分可以从任何一个存储单元开始。C.8086规定段的大小必须为 64K字

7、节。D. 多个段可以共用某些存储单元。25、中断发生过程和子程序调用过程的一个明显区别是中断发生时,A. IF 和 TF 位B. TF 位CPU自动清除了 AC.IF和SF位D. TF和SF位-# -汇编语言程序设计复习资料2014-# -汇编语言程序设计复习资料201426、执行下列指令后:MOV AXMOV CL1234HROL AXCL-# -汇编语言程序设计复习资料2014-# -汇编语言程序设计复习资料2014DEC AXMOV CXMUL CXHLT寄存器AH的值是A.92HB.8CHC.8DHD.00H-# -汇编语言程序设计复习资料2014-# -汇编语言程序设计复习资料201

8、4寄存器AL的值是A.60HB.00HC.04HD.0A0H27、在多模块程序设计中,用B伪指令来声明公用变量。A.EXTRNB.PUBLICC.MODULED.COMMON-# -汇编语言程序设计复习资料2014-# -汇编语言程序设计复习资料2014A.PUSH SIB.PUSH SIPUSH DIPUSH DIPOP SIPOP DIPOP DIPOP SIC.MOV AX SID.MOV AX SIMOV S,DIMOV BX,DIMOV D,AXXCHG BX ,AX28、交换寄存器SI、DI的内容,正确的程序段是8086/8088响应中断时,不自动压入堆栈的有29、CS的内容A.B

9、.通用寄存器的内容C.IP的内容D.标志寄存器的内容30、堆栈的工作方式是AA.先进后岀B. 后进后岀C. 先进先出D. 先进不岀31、求下面变量定义的元素个数送CX的正确形式是 D-# -汇编语言程序设计复习资料2014-# -汇编语言程序设计复习资料2014ARRAY DW 1,9,9,9,12,1A.MOV CX,L ENGTH ARRAYB. MOV CX,SIZE ARRAY-# -汇编语言程序设计复习资料2014C. COUNT EQU $-ARRAYD. COUNT EQU ($-ARRAY)/2MOV CX,COUNT32可屏蔽中断就是它的请求是否被A. TFB. IFMOV

10、CX,COUNTCPU响应要受_B位的控制。C. OFD. SF33、影响堆栈指针SP的指令是BA.INT 21HB.JMP DO C.RETD.PUSH AX-4 -汇编语言程序设计复习资料2014-# -汇编语言程序设计复习资料201434、 8088/8086存储器分段,每个段不超过 _D。D. 64K个字节A. 64K个字B. 32K个字节C. 1兆个字节35、汇编语言是 A 。A.低级语言B.中级语言C.高级语言D.机器语言-# -汇编语言程序设计复习资料2014-# -汇编语言程序设计复习资料201436、用DEBUG.EX调试程序时,显示存储单元内容的命令是D-# -汇编语言程序

11、设计复习资料2014-# -汇编语言程序设计复习资料2014A.RB.TC. GD. D37、汇编源程序中,END伪指令后的标号表示_C。A.源程序的结束B.代码段的结束C.汇编程序的入口地址38有如下数据定义:X DB 36H,6FHD.该标号无任何意义Y DW 2E5DH,4F6FH则下列指令正确的是C。A. MOV AX, XB. MOV DL, OFFSET XC. MOV AX, WORD PTR XD. MOV BL, Y39、若要求一个操作数中的若干位维持不变,若干位置1,可以使用_bA. NOTB. OR40、下列指令中,源操作数在代码段中的是A.MOV AL,80HB. AD

12、D AL,BLC. ANDD. XOR 不A。C.CMP AX, 1234D.AND AL,ES:123441、对于有符号的数来说,下列哪个值最大A. 0F8HB.11010011BD。C. 82D.123Q-5 -汇编语言程序设计复习资料2014二、填空题1、指岀下列指令源操作数的寻址方式:MOV AX , ARRAYSI;寄存器相对寻址方式MOV AX , ES: BX;寄存器间接寻址方式MOV AX , 200H;直接寻址方式MOV AX , BX+DI;基址变址寻址方式MOV AX , BX;寄存器寻址方式MOV AX , 1200H;立即寻址方式MOV AX , 20BX+SI;相对

13、基址变址寻址方式MOV AX , DI+20;寄存器相对寻址方式2、计算机中的指令由操作码和操作数两部分组成。3、 对于乘法、除法指令,结果存放在竺或DX:AX中,而其源操作数可以用除立即数 以外的任一种寻址方式。4、 逻辑地址是由段地址和偏移地址 组成,其中段地址是由段寄存器 存储的。5、 当指令“ SUB AX BX执行后,CF=1,说明最高有效位 向高位有进位或有借位;对无符号数,说明操作结果溢出。6、I/O设备的接口中一般包含 数据、状态、控制 三种端口。7、10110101.01B= 0B5.4 H 和 181.25 D 。8、 指令“ AND AX STR1 AND STR”中,S

14、TR1和STR2是两个已赋值的变量,两个 AND的区别是第一个AND是逻辑与指令、第二 个AND是逻辑与操作符。9、 带符号的机器数可以用原码、反码和补码三种不同码制来表示。11、 如果TABLE为数据段中0032单元的符号名,其中存放的内容为1234H,当执行指令MOV AX TABLE后,( AX = 1234H ;而执行指令 LEA AX,TABLE后,则(AX = 0032H。12、 计算机的硬件的基本组成有 运算器、控制器、存储器 和输入设备、输岀设备五大部件。13、 近过程(NEAR的RET指令把当前栈顶的一个字弹出到IP ;远过程(FAR的RET指令弹出一个字到IP 后又弹出一个

15、字到CS ; IRET指令是 中断返回 指令,它从堆栈顺序弹出3个字分别送到 丄、CS 、标志寄存器 FLAGS中。14、 ENDP是过程定义结束伪指令,与PROC配套使用。ENDS是段定义结束伪指令,与SEGMENT配套使用。END是一个源模块汇编结束伪指令。15、 一个有16个字的数据区,它的起始地址为70A0: DDF6那么该数据区首字单元地址是7E7F6H,最后一个字单元的物理地址为 7E814H。(16 个字就是 70A0H*10H+DDF6H+1EH如果是 32 个字的话,则是 70A0H*10H+DDF6H+3EH=7E83)H16、执行下列指令序列后,完成的功能是将( DX A

16、X)的值左移4位。MOV CL,04SHL DX CLMOV BL AHSHL AX, CLSHR BL,CLOR DL,BL17、 JMP按转移地址范围的不同,分为短 跳转和 近 跳转。18、 下面两个语句的区别在于X1只能赋值一次 ,X2可以多次赋值 。X1 EQU 1000HX2=100019、 用1条逻辑指令将 AX中与BX中的对应位不相同的位均置为1 XOR AX,BX 。21、 ASCII码是IBM-PC输入输出时采用的编码,ASCII的中文意思是美国信息交换标准代码,标准的ASCII码用旦位二进制数来 表示。22、 用指令的助记符、符号地址、标号和伪指令、宏指令等书写的程序的语言

17、称为汇编语言,将汇编语言的源程序翻译成机器语 言的程序为汇编程序。23、8086CPU由BIU(总线接口单元)和EU(执行单元)两部分构成。24、 我们把与内存对应的用20位二进制数(或5位16进制数)表示的地址称为 物理地址,它的计算公式为 物理地址=16*段地址+偏移地址。25、 在段加偏移地址的寻址中,如果段寄存器为CS,则相应的偏移地址应由 巴寄存器来提供。26、在DEBUGt机调试程序时,存储器的地址表示为2F00:1400,则该单元的段地址为 2F00H,偏移地址为1400H,物理地址为30400H。28、方向标志DF的作用是用来在串操作指令中控制自增和自减的方向,用于设置或消除该

18、标志位的指令是STD和CLD,29、完成下列程序,从Mov240H端口读取数据,测试其是否为20H,若不是则将241H端口清0,否则则转向Next。dx, 240HINal,dxCMPal,20hJZNextMovdx,240hMoval,0Outdx,alNext:30、已知:(DS)=15F0H,(ES)=25F0H,(SS)=35F0H,(BX)=0670H,(SI)=1001H,(DI)=0B0H,(BP)=0150H,BUF的偏移地址是 0900H=计算下列指令源操作数的物理地址,指岀寻址方式:(1) MOV AX,BUFBP+6(2) CMP AX,ES:SI(3) MOV CX,

19、BUF(4) MOV AX,ES:BX+SI(5) DEC BUFDI;采用寄存器相对寻址方式,物理地址为 56956h o;采用寄存器间接 寻址方式,物理地址为 26F01H;采用 直接寻址方式,物理地址为16800H o;采用基址变址寻址方式,物理地址为27571H o;采用寄存器相对 寻址方式,物理地址为168B0H(6) MOV AX,BUFBX+DI;采用相对基址变址寻址方式,物理地址为16620H-8 -汇编语言程序设计复习资料2014-# -汇编语言程序设计复习资料201431、过程的属性有 NEAR和 FAR32、 指令中用来指岀指令在程序中位置的符号地址是标号。33、变量和标

20、号的三个属性为 段属性、偏移属性、类型属性 。34、 下列程序段是比较 AX, BX, CX中带符号数的大小,将最大数放在AX中。请将程序填完整。CMP AX,BXJGE LAB1XCHGAX,BXLAB1:CMP AX,CXJGE LAB2XCHG AX,CXLAB2:35、 在使用串操作指令时,源串必须在数据段中,目的串必须在 附加段中,源串作数和目的操作数不允许使用段超越。36、CPU是通过I/O指令来实现与外部设备进行数据传送的。37、 内中断有三类中断源,分别为INT n、CPU出错、为调试程序设置的断点。38、 中断过程可分为四个步骤:中断请求、中断响应、中断处理、中断返回。39、

21、执行IRET指令时,会依次将IP、CS FLAGS单出栈。40、 80X86中断命令寄存器的I/O端口地址为20H,中断屏蔽寄存器的I/O端口地址为21H。41、 可用DOS功能调用INT 21H的功能号(AH)=25H来设置中断向量,用功能号 AH=35H来获取中断向量。42、168D= 10101000 B= 0A8 H= 250 Q。43、在数据段中有以下定义:ARRAY1 EQU 16HARRAY2 DW 16H请指岀下列指令的寻址方式:MOV AX , ARRAY1;立即寻址方式MOV AX , ARRAY2;直接寻址方式44、若STR是字符串的首地址,将语句加上注解,并指岀下列程序

22、的功能。LEA BX,STR把STR的偏移地址赋给 BX寄存器MOV CX,20把20赋值给CX寄存器LAB1:CMP BX, * ;把BX的ASCII值与*的ASCII值进行比较JNZ LAB2判断是否相等MOV BX, $;把BX的ASCII值与$的ASCII值进行比较LAB2:INC BXLOOPLAB1判断是否相等HLT程序的功能;将首址为STR长度为20的字符串中的*用$替换。45、 若物理地址为00038H的单元开始存放的双字为 20001000H, 00056H单元开始存放的双字为 40003000H,则类型为14 (十进制 数)的中断向量的起始地址为 38H或56,中断服务程序

23、的入口地址(物理地址)为 21000H。46、PC机I/O设备的数据传送方式共有三种,分别是 查询, 中断 ,DMA47、 当键盘中断发生时,CPU能否响应由两个条件控制,一是中断是否允许二是当前中断级别是否比键盘中断级别高。48、 条件转移指令的目标地址应在本条件转移指令的下一条指令地址的-128127个字节范围内。49、 假设某程序执行前(CS = 0B234H, (IP )= 5678H,则该程序的第一条指令的物理地址是0B79B8H若第一条指令对应的机器码占3个字节,则第二条指令的物理地址是0B79BBH50、 在用MASM 5.0的DEBUGS试程序时,查看寄存器内容的命令为R ,让

24、程序仅执行当前IP所指的一条指令的命令 是 T 。三、简答题1、 试计算58H+3CH的运算结果,并写出标志位 OF PF、CF SF的内容。2、8086具有哪些程序可见的寄存器,它们在程序设计中分别起什么作用?答:段寄存器8086的段寄存器有4个16位寄存器,它们用于存放 8086CPU当前可以访问的4个逻辑段的基址。代码段寄存器CS划定并控制着程序区;数据段寄存器 DS和附加段寄存器ES控制着数据区;而堆栈段寄存器SS对应着堆栈存储区。通用寄存器通用寄存器可分为两组:数据寄存器,地址指针和变址寄存器。数据寄存器包括 AX BX CX和DX4个16位寄存器,它们中的每一个又可根据需要将高8位

25、和低8位分成独立的两个寄存器来使用。地址指针和变址寄存器包括 SP, BP, SI,和DI。控制寄存器(1) 指令指针IP(2) 标志寄存器FLAG8086CPU设立了一个16位标志寄存器,共 9个标志。其中6个是状态标志,3个是控制标志。状态标志(a) CF进位标志(b) PF奇偶标志(c) AF辅助进位标志(d) ZF零标志(e) SF符号标志(f) OF溢出标志控制标志(a) DF方向标志(b) IF中断允许标志(c) TF陷阱标志或单步操作标志3、已知AX=0E87DH BX=38ABH若执行 ADD BX,AX则寄存器 AX, BX,标志位 CF、OF各为何值?4、什么是中断类型码?

26、中断向量?中断向量表?在 8086/8088微机系统中。中断类型码和中断向量之间有什么关系?答:中断类型码:其实就是中断号,对不同的中断服务程序不同的名称记号,以调用该中断程序.中断向量:指向中断服务程序的入口地址.一个向量代表的入口地址为 4个字节.中断向量表:由于存在多个中断请求,相应有多个中断服务程序,即有多个存放这些程序的入口地址(即中断向量).为此系统在内存的特定区域安排一张中断向量表 ,专门存放所有的中断向量.此表即中断向量表.以上三者关系:中断向量=中断号X4, 其中方括号的含义是内存单元的内容.(即中断向量表刚好存放在内存绝对地址0开始的位置)。5、简述CPU响应中断的条件。答

27、:取决于中断允许触发标志IF的状态。若IF=1,则响应中断的请求,暂停现行后续指令的执行,转去执行中断服务程序;若IF=0,则不会响应中断的请求。6、在8086/8088微处理器在实模式下,存储器寻址为什么要分段?举例说明存储单元的物理地址是如何形成的?答:在8086/8088中,寄存器只有16位,而地址线却有 20位,故其最大寻址空间是 1M用存储器分段的方法,解决在 16位字 长的机器里提供20位地址的问题。在实模式下编程时,将存储器划分成段,每个段内的大小可达64KB,这样段内地址可用16位表示,实际上,可以根据需要决定段的大小。这样将每一段的起始地址作为段地址,而将在段内相对于段起始地

28、址的偏移值作为偏移地址,于是将段地址左移4位,再加上偏移地址就形成了存储器实际的物理地址。如某存储单元的段地址和偏移地址为3017 :000A,则其物理地址 =3017H*10H+000AH=3017AH7、逻辑右移指令8、设 AX=1234HPUSHSHR的格式、功能和使用说明?BX=5678H CX=8901H SI=100H,SP的初始值=01A0H,问执行下述堆栈操作指令序列CXPUSHAXPUSHBXPOPCXPOPSI后,SP和SI的值等于多少?答:SP和SI的值分别等于19EH和1234H。9、计算机对I/O端口编址时可以采用哪两种方法?简述两种编址方式的优缺点?10、画图说明下

29、列语句分配的存储空间及初始化数值。(1)ADB9,0AH, AB ,2 dup(3,?)(2)BDW2 DUP(123H, 8),?,-5,23, 789DH(3)XDBBIT, 62,6AH,2 DUP(0,?,2 DUP(7,9)(4)YDW2 DUP(0, 2),?,-5, CD ,345H、根据以下要求,分别写岀相应的汇编语言指令或指令序列。(1) 把AX寄存器和BX寄存器的内容相减,结果存入AX中。Sub ax,bx(2) 将 AX的内容逻辑左移 5位。Mov cl,5 shl ax,cl(3) 将AX的内容,减去 0520H和上次运算的借位。 Sbb ax,520h(4) 将变量名

30、 TABLE的段地址送 AXo Mov ax,seg table(5) 将DI的高四位置为 0 o And di,0fffh(6) 输出一个字节到 61H号端口。Out 61h,al(7) 将SI和DI的内容互换。Xchg si,di12、8086CPU是由EU和BIG组成,各部分的功能是什么?这样设计的优点是什么?答:BIU主要功能是负责CPU与主存和I/O之间的信息传递。EU的功能主要是控制和执行指令。取指和执行指令这两个步骤由两 个独立的部件来完成。当EU执行某条指令时,BIU同时完成从主存中预取后继指令,两个部件并行工作,提高了指令的执行速度。13、循环控制指令LOOPNZ/LOOPN

31、的格式、功能和使用说明?答:指令的汇编格式:LOOPNZ/LOOPNE label指令的基本功能:(CX)J(CX) 1若ZF=0且(CX)工0,则(IP) J(IP)当前+位移量,否则循环结束。指令的特殊要求:循环指令都是短转移格式的指令,也就是说,位移量是用8位带符号数来表示的,转向地址在相对于当前IP值的一128+ 127字节范围之内。14、串传送指令REP MOVS的格式、功能和使用说明?15、简述指令 MOV SI,DATA和MOV SI,OFFSET DATA之间的区别?答:MOV SI,DATA是将DATA的内容送入 SI寄存器;MOV SI,OFFSET DATA1将SI寄存器

32、指向 DATA也就是将 DATA的偏移地址送入 SI。16、强制属性操作符会改变变量的定义属性吗?答:不会,它们只是临时改变变量的属性。17、外设与CPU和存储器的通信是通过外设接口进行的,每个外设接口包含哪些寄存器,以及这些寄存器的用途?CPU对答:每个外设接口通常包含以下三种寄存器:一是用作数据缓冲的数据寄存器;二是用作保存设备和接口的状态信息,供 外设进行测试的状态寄存器;三是用来保存CPU发岀的命令以控制接口和设备的操作的命令控制寄存器。18、定义数据段DATA_SEG数据段中的数据按下列要求依次存储:(1)第一个字节是整数5变量BUF大小为25个字节,初值为 0 变量ARRAY类型为

33、字,初值为 12H, 56H, 78H, 0AH变量MSG存储字符串yes答:data segmentsdb 5buf db 25 dup(0)array dw 12h,56h,78h,0ahmsg db yesdata ends19、简述汇编语言从源程序的建立到运行可执行程序的主要步骤。答:用编辑程序建立汇 ASM汇编语言源程序;用汇编语言对源程序进行汇编,把ASM文件转化成OBJ文件;用连接程序对目标文件进行连接,把OBJ文件转换成EXE文件;用DOS命令直接键入文件名即可执行。20、简述8086CPU的中断响应过程。答:取中断类型号N;标志寄存器内容入栈;当前代码段寄存器 CS内容入栈;

34、当前指令计数器IP入栈禁止硬件中断和单步中断(IF=0,TF=0);从中断向量表中取 4XN的字节内容送IP,取4XN+2中的字节内容送 CS转中段处理程序。21、 试计算逻辑地址 4017: 000A,4015: 0002A和4010: 0007A对应的物理地址。这三个物理地址说明了什么问题?四、判断题1、 段内转移要改变IP、CS的值。_F2、JMP SHORT lab是近跳转。_T3、 POP 5678H ;_F4、 立即寻址方式不能用于目的操作数。5、条件转移指令只能使用段内直接短跳转。6、 MOV ES,5678H ;_F7、 不能给段寄存器进行立即数方式赋值。8、 立即寻址方式不能

35、用于目的操作数。MOV DI,OFFSET BXSI。T9、LEA DI,BXSI ; (T)10、 MOV DI,OFFSET BXSI。_T11、 MOV指令会影响标志位。F12、OR AX,BX;T13、 CF位可以用来表示无符号数溢出,OF位可以用来表示有符号数溢出。T14、ADD CX,AL;F15、 LODSB旨令执行的操作为:(DI)(AL), ( DI)J( DI) +1 或(Dl)( DI) -1。(F )16、 关系操作符EQ NE LT、GT LE、GE的计算结果为逻辑值,0FFFFH表示为真,0表示为假。T17、SHL AX, 3; _F18、 PUSH WORD PT

36、R 20BX+SI-2;二19、LEA BX, 4BX;二20、JMP BYTE PTR SI ;F21、IN AX,0ADH;T 22、PUSH WORD PTR 20BX+SI-2; T23、TEST AL,00000100B;二24、RCR BX+SI,CX; F25、DIV 10H ; F26、MOV AX,BXBP; F27、IN AX,3F0H; F )28、MUL 0ABH; F29、JLE FAR PTR LAB;LAB 是一个语句的标号 _F30、CALL AXT31、 MOV DS,2000H_F32、 立即寻址方式不能用于目的操作数。_J33、指令INC BL影响所有的标

37、志位 34、 SP的内容可以不指向堆栈的栈顶。_F35、 END LAB语句指示本程序执行到标号 LAB处则结束。F36、 同一个文件中不允许出现相同的子程序名。T37、定义在代码段C中的类型属性为FAR的过程只能在代码段 C之外调用。_F38、 ADD X,Y ;X,Y 是 DB定义的变量。_F39、 对于一个正数,其原码、反码和补吗都一样。T40、 SUB AX,1指令与DEC AX指令都执行(AX)=(AX)-1的操作,两者完全可以相互替代。F41、DIV SRC执行字节除法时,商存放在(AL)中,而余数存放在(AH中。 T42、ADD AX,1指令与INC AX指令都执行(AX)=(A

38、X)+1的操作,两者完全可以相互替代。F43、ADD AXACHF44、PUSH5588HF45、MOVDS,1720HF46、ANDAX, DXF47、ADDAX, CLF五、编程题1、从键盘输入一字符串,然后将其按反序存放并输岀DATA SEGMENTSTRING1 DB80,0,80 DUP(?)STRING2 DB80 DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATAMAIN PROC FARSTART: MOV AX,DATAMOV DS,AXMOVES,AXLEADX,STRING1MOVAH,0AHINT21HMO

39、VCL,STRING1+1SUBCH,CHLEADI, STRING2LEASI,STRING1ADDSI,CXINCSILAB: MOV AL,SIMOVDI,ALINCDIDECSILOOPLABMOVBYTE PTRDI,$LEADX,STRING2MOVAH,9INT21HMOVAH,4CHINT21HMAIN ENDPCODE ENDSEND START2、将首地址为x的5个字正整数数组从小到大排序DATA SEGMENTx DW 56H,85H,96H,52H,63HDATA ENDSCSEG SEGMENTASSUME CS:CSEG,DS:DATASTART:PUSHDSSUB

40、AX,AXPUSHAXMOV AX,DATAMOV DS,AXMOVCX,5DECCXLOOP1:MOV DI,CXMOV BX,0LOOP2:MOV AX,XBXCMPAX,XBX+2JLCONXCHG AX,XBX+2MOVXBX,AXCON: ADDBX,2LOOP LOOP2MOVCX,DILOOP LOOP1RETCSEG ENDSEND START3、给出一百分制成绩,要求输出成绩等级“A,“B,“C,“D,“E。90分以上为A,8089为B,7079为C, 6069为D,60分以下为E。DATA SEGMENTX DB 52DATA ENDSCODE SEGMENTASSUME

41、CS:CODE,DS:DATAMAIN PROC FARSTART: MOVAX,DATAMOVDS,AXMOVAL,XCMPAL,90JBLAB1MOVDL,AJMPEXITLAB1: CMPAL,80JBLAB2MOVDL,BJMPEXITLAB2: CMPAL,70JBLAB3MOVDL,CJMPEXITLAB3: CMPAL,60JBLAB4MOVDL,DJMPEXITLAB4: MOVDL,EEXIT: MOVAH,2INT21HMOVAH,4CHINT21HMAIN ENDPCODE ENDSEND START4、数据段中从TABLE开始的连续20个字节单元存放着一个字符串,编写程

42、序,判断其中是否含有数字字符,若有,则将DX寄存器的第四位置为1,否则置为0。(设DX的最低位为第一位)mov ex, 20mov si, 0repeat:mov al,tablesiemp al, 30hjb gooncmp al, 39h ja goon or dl, 8 jmp exit goon:inc sidec cxjnz repeatand dl, 0f7hexit:5、 将数据段中已定义的字符串STR中所有的小写字母转换为大写。DATA SEGMENTSTR1 DB aGbhTYUNmLEN DB $-STR1DATA ENDSCODE SEGMENTASSUME CS:COD

43、E, DS:DATASTART: MOV AX, DATAMOVDS, AXMOVCH, 0MOVCL, LENMOVBX, OFFSET STR1DO: CMP BYTE PTRBX,aJB LOPCMP byte ptrBX, zJA LOPSUB BYTE PTRBX, 20HLOP: INC BXLOOP DOMOV AH,4CHINT 21HCODE ENDSEND START6、 编写程序,实现将数据段BUFF开始的字节单元中的10个数字0, 1,2,3,4,5,6,7,8,9转化成相应的ASCII码送入以ASC开始的内存单元。DATA SEGMENTBUFF DB 0,1,2,3

44、,4,5,6,7,8,9CONT EQU $-BUFFASC DB 10 DUP(?)DATA ENDSCODE SEGMENTMAIN PROC FARASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXSUB SI,SI-16 -汇编语言程序设计复习资料2014MOVCX,CONTLOP: MOVAL,BUFFSIORAL,30HMOVASCSI,ALINCSILOOPLOPMOVAH,4CHINT21HMAIN ENDPCODE ENDSENDSTART7、在一个无符号字数组 ARRAYS查找最大数,并将其存入字变量M中data segmen

45、tarray dw 1234h,43h,3dfeh,9f1h,34hdw 99h,12abh,0f000h,23h,0edfhm dw ?dataendscodesegmentassume cs:code,ds:datamainproc farstart:movax,datamovds,axmovcx,(m-array)/2-1leabx,arraymovax,bxlabl:incbxincbxcmpax,bxjalab2movax,bxlab2:looplablmovm,axexit:movah,4chint21hmainendpcodeendsend start8、从键盘上读入一字符串(长

46、度小于40),将该串反转后,输出显示MAXNO EQU41DATA SEGMENTMESSG1DBINPUT A STRING:$MESSG2DBIT IS REVERSE IS:$MESSG3DB0AH,0DH,$BUF DBMAXNO,?,MAXNO DUPDATA ENDSCODE SEGMENT-17 -汇编语言程序设计复习资料2014MAIN PROC FARASSUME CS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXLEADX,MESSG1MOVAH,9INT21HLEADX,BUFMOVAH,0AHINT21HLEADX,MESSG3MOVAH,9

47、INT21HXORAX,AXMOVCL,BUF+1SUBCH,CHLEADI,BUF+2MOVSI,DIADDSI,CXMOVBYTE PTRSI,$DECSICONT: CMPDI,SIJZFINISHDMOVAL,SIXCHGAL,DIMOVSI,ALDECSIINCDIJMPCONTFINISHD: LEADX,MESSG2MOVAH,9INT21HLEADX,BUF+2MOVAH,9INT21HMOVAH,4CHINT21HMAIN ENDPCODE ENDSENDSTART1 .唯一代表存储空间中每个字节单元的地址是 。2 . JNC指令转移的测试条件是。3 .将端口地址为30H中的

48、数据传送到CPU中的指令是 。4 . 8086微处理系统中最多有 个端口地址。.标志位。CS5 判断无符号数运算是否溢岀,应根据 标志位;而判断有符号数运算是否溢岀应根据 6 .执行INT 10H指令,可从中断向量表 地址读出内容送IP,从地址单元读出内容送7 .语句 ASC DB 1234设置了 个字节。8 某微机有16条地址线,能够覆盖的地址范围是9 . 8086CPU允许的最大存储空间为 _,其地址编号从 _到H10 把AX中第0、1、3位清零,应使用的指令是 o11设寄存器位数为8位,机器数采用补码形式(含一位符号位)。对应于十进制数-73的寄存器内容为_ (用16进制表示)。12 .

49、设A为字变量,指令 MOV AX, A的源操作数寻址方式是。1、 8088/8086CPU内部寄存器有_14个,其中的AX BX CX DX 是通用寄存器,SP BP SI DI 是基址和变址寄存器,CS DS ES SS是段寄存器,此外还有_IP_和_FLAG_两个控制寄存器,所有寄存器都是_16_位寄存器,每个寄存器可以存放_16_位二进制数。2、 8088/8086CPU的标志位寄存器中有 _9_个标志位,其中的_DF IF TF_ 是控制标志,_OF SF ZF CF PF AF_是状态标志。3、 8088/8086CPU有三组总线,它们是_地址_总线、_数据_总线和控制总线;地址总线

50、是_20条,因此它可以寻址的范围是 _1M字节。通常将 _1024_字节称为1K,将_1024K字节称为1M4、 8088/8086CPU的存储器采用分段方式管理,每个段最多可以有_64K_字节,全部存储空间可以分成 壬个大小为64K且互相不 重叠的段。5、 采用分段方式管理的存储单元的地址分成物理地址 和逻辑地址 两种,逻辑地址由_段地址和_偏移地址_两部分构成,段地址是每个存储器段的_起始地址_;偏移地址则是相对于每个段第一个存储单元的_偏移值_。段地址存放在段寄存器中,由于8088/8086CPU的段寄存器是16位寄存器,因此在段寄存器中存放的是段地址的_兰位;而CPU对数据的存取是按物理地址进行的,物理地址和

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论