




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、汇编语言程序设计复习资料2015一、 选择题1、汇编语言源程序经汇编后不能直接生成 C 。A .OBJ文件B .LST文件C .EXE文件D .CRF文件2、若SP=1500H,那么执行完PUSH指令后,SP= B 。A.14FFH B.14FEHC. 1502HD.1501H3、JMP WORD PTR DI是 A 。A.段内间接转移B.段间间接转移C.段内直接转移D.段间直接转移4、与MOV SI,OFFSET X等价的指令是 C 。A.MOV SI,X B.LES SI,XC. LEA SI,XD. LDS SI,X5、运算型指令的寻址和转移型指令的寻址,其不同点在于 A 。A.前者取操
2、作数,后者决定程序的转移地址B.后者取操作数,前者决定程序的转移地址C.两者都是取操作数D.两者都是决定程序的转移地址6、下列指令 D 是合法的访问I/O端口指令。A. IN AL,100HB.IN AL,BXC. IN AL,BLD. IN AL,DX7、逻辑移位指令SHR用于 D ;A.带符号数乘2 B.带符号数除2C.无符号数乘2D.无符号数除2而算术移位指令SAR用于 B 。A.带符号数乘2 B.带符号数除2C.无符号数乘2D.无符号数除28、由汇编程序在汇编过程中执行的指令是 B A.机器语言B.伪指令 C.状态标志D.物理地址9、在汇编语言程序设计中,伪指令OFFSET的含义是回送
3、变量或标号的 B A.段地址B. 偏移地址C. 物理地址D.操作数10、子程序返回伪指令是 C 。A. ENDPB. IRETC.RETD. 段内与段间不同11、使用LINK连接命令,执行后可生成文件的扩展名为 C 。A. .COM B. .OBJ C. .EXE D. .LST 12、已知AX的内容为1FFAH,执行XOR AX,AX,AX内容为 C 。A.00FAH B.1FFAHC. 0000HD.1F00H13、编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令是 D 。A. CMP B.SUB C. AND D.MOV14、INC指令不影响 B 标志。A. OF
4、B.CFC.SFD.ZF 15、段内直接调用,程序的转移范围为 B 。A. -128127B. -3276832767C.-65536 65535D. 03276716、中断向量 D 。A.传送数据的起始地址B.中断类型号C.子程序入口地址D.中断服务程序入口地址17、执行返回指令,退出中断服务程序,这时返回地址来自 C 。A.ROM区B.程序计数器C.堆栈区D.CPU的暂存寄存器18、微机系统中有哪些总线? D A.状态总线、数据总线、控制总线 B.地址总线、状态总线、控制总线C.状态总线、数据总线、地址总线 D.数据总线、地址总线、控制总线19、以下不属于总线接口部件BIU部件的是 A 。
5、A.通用寄存器B.地址产生器C.指针寄存器D.专用寄存器20、将累加器AX的内容清0的错误指令是 B 。A.AND AX,0B.CMP AX,AXC.SUB AX,AXD.XOR AX,AX 21、有如下程序段:MOV CX,6MOV AX,1 MOV BX,3LOP: ADD AX,BX ADD BX,2LOOP LOP上述指令完成后,AX= B A. 6B. 49C.50D. 022、下列指令中合法的是 D 。A.OUT 289, ALB.ADC AL,BXC.POP BL D.SHL AX,CL23、从键盘输入数据1,则在寄存器中存放的形式为 A 。A. 31H B. 01H C.”1”
6、 D. 124、下列有关段地址、偏移地址、物理地址的叙述正确的是 D 。A.若已知物理地址,则可以计算出唯一的段地址和偏移地址。B.段的划分可以从任何一个存储单元开始。C.8086规定段的大小必须为64K字节。D.多个段可以共用某些存储单元。25、中断发生过程和子程序调用过程的一个明显区别是中断发生时,CPU自动清除了 A 。A. IF和TF位 B. TF位 C.IF和SF位 D. TF和SF位26、执行下列指令后:MOV AX,1234HMOV CL,4ROL AX,CLDEC AXMOV CX,4MUL CXHLT寄存器AH的值是 C 。 A.92HB.8CHC.8DHD.00H寄存器AL
7、的值是 B 。A.60HB.00HC.04HD.0A0H27、在多模块程序设计中,用 B 伪指令来声明公用变量。A.EXTRN B.PUBLIC C.MODULED.COMMON 28、执行完下列指令后:XDW BCYDB 16 DUP (?)ZEQU -XMOV CX,ZMOV AX,X寄存器CX的值是 C 。A.10HB.0EH C.12HD.0FH寄存器AX的值是 C 。A.4342HB.00CBHC.4243HD.00BCH 29、8086/8088响应中断时,不自动压入堆栈的有 B 。A CS的内容B通用寄存器的内容C IP的内容D标志寄存器的内容30、堆栈的工作方式是 A 。A.先
8、进后出 B.后进后出 C.先进先出D.先进不出31、求下面变量定义的元素个数送CX的正确形式是 D 。ARRAY DW 1,9,9,9,12,1A.MOV CX,LENGTH ARRAY B. MOV CX,SIZE ARRAYC.COUNT EQU $-ARRAY D. COUNT EQU ($-ARRAY)/2MOV CX,COUNT MOV CX,COUNT 32、可屏蔽中断就是它的请求是否被CPU响应要受 B 位的控制。A. TF B. IF C.OF D. SF33、不影响堆栈指针SP的指令是 B 。A.INT 21H B.JMP DOC.RETD.PUSH AX34、8088/80
9、86存储器分段,每个段不超过 A 。 A.64K个字B.32K个字节C.1兆个字节D.64K个字节35、汇编语言是 A 。A.低级语言 B.中级语言 C.高级语言 D.机器语言36、用DEBUG.EXE调试程序时,显示存储单元内容的命令是 D 。A.RB.T C. GD. D37、汇编源程序中,END伪指令后的标号表示 C 。A.源程序的结束B.代码段的结束C.汇编程序的入口地址D.该标号无任何意义38、有如下数据定义:X DB 36H,6FHY DW 2E5DH,4F6FH则下列指令正确的是 C 。A. MOV AX,X B.MOV DL,OFFSET XC. MOV AX,WOR
10、D PTR X D.MOV BL,Y39、若要求一个操作数中的若干位维持不变,若干位置1,可以使用 B A.NOTB.OR C.AND D. XOR 40、下列指令中,源操作数在代码段中的是 A 。A.MOV AL,80HB. ADD AL,BLC.CMP AX, 1234D.AND AL,ES:123441、对于有符号的数来说,下列哪个值最大 D 。A.0FBH B.11010010BC.81D.124Q42、交换寄存器SI、DI的内容,正确的程序段是 A 。A.PUSH SIB.PUSH SIPUSH DI PUSH DIPO
11、P SI POP DIPOP DI POP SIC.MOV AX,SID.MOV AX,SIMOV DI,SI MOV BX,DIMOV DI,AX XCHG BX,AX43、有语句:ABC EQU 210,下列四种叙述中,正确的是 B 。A. ABC是变量 B. ABC是符号常数C. ABC占用一个字节的存储单元 D. ABC占用二个字节的存储单元44、8086微机系统中,偏移(或有效)地址和物理地址是 C 位。A.16和16 B.20和20 C.16和20 D.20和1645、假定(SS)=1000H,(SP)=100H,(CX)=23B7H,执行指令PUSH CX后,存放数据23H的物理
12、地址是 D 。A.10102H B.10101HC.100FEHD.100FFH46、汇编指令是由 C 组成的符号指令。A.变量和常量 B.地址和数据 C.指令助记符和符号地址D.字母和数字47、指令SUB CX,1与指令DEC CX的区别是 D 。A.没有区别 B.前者会将CF也加进来 C.前者不影响CFD.后者不影响CF48、假设程序中的数据定义如下,则V4的值为 B 。XDW?YDB15DUP(?)ZDD?A= $-XA.20B.21C.22D.2349、ADD指令中,两个操作数的物理位置不可以安排在 A 中。A.两个存储单元B.一个存储单元和一个数据寄存器C.两个数据寄存器D.一个堆栈
13、单元和一个数据寄存器二、填空题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;相对基址变址寻址方式 MOV AX,DI+20;寄存器相对寻址方式2、计算机中的指令由 操作码 和 操作数 两部分组成。 3、对于乘法、除法指令,结果存放在 AX 或 DX:AX 中,而其源操作数可以用除 立即数 以外的任一种寻址方式。4、逻辑地
14、址是由段地址和 偏移地址 组成,其中段地址是由 段寄存器 存储的。5、当指令“SUB AX,BX”执行后,CF=1,说明最高有效位有借位;对无符号数,说明操作结果溢出。6、I/O设备的接口中一般包含数据、状态、控制三种端口。7、10110101B= 0B5 H和 181 D。8、指令“AND AX,STR1 AND STR2”中,STR1和STR2是两个已赋值的变量,两个AND的区别是第一个AND是逻辑与指令、第二个AND是逻辑与操作符。9、带符号的机器数可以用 原码 、 反码 和 补码 三种不同码制来表示。11、如果TABLE为数据段中0032单元的符号名,其中存放的内容为1234H,当执行
15、指令MOV AX,TABLE后,(AX)= 1234H ;而执行指令LEA AX,TABLE后,则(AX)= 0032H 。12、计算机的硬件的基本组成有运算器、控制器、存储器和输入设备、输出设备五大部件。13、过程的属性有near 和far 。近过程(NEAR)的RET指令把当前栈顶的一个字弹出到 IP ;远过程(FAR)的RET指令弹出一个字到 IP 后又弹出一个字到CS ;IRET指令是中断返回指令,它从堆栈顺序弹出3个字分别送到IP 、CS 、标志寄存器FLAGS 中。14、ENDP 是过程定义结束伪指令,与PROC 配套使用。ENDS是段定义结束伪指令,与SEGMENT 配套使用。E
16、ND 是一个源模块汇编结束伪指令。15、一个有16个字的数据区,它的起始地址为70A0:DDF6,那么该数据区首字单元地址是7E7F6H,最后一个字单元的物理地址为7E814H 。(16个字就是70A0H*10H+DDF6H+1EH,如果是32个字的话,则是70A0H*10H+DDF6H+3EH=7E834H)16、执行下列指令序列后,完成的功能是将(DX,AX)的值左移4位。 MOV CL,04SHL DX,CLMOV BL,AHSHL AX,CLSHR BL,CLOR DL,BL17、JMP按转移地址范围的不同,分为 短 跳转和 近 跳转。18、下面两个语句的区别在于 X1只能赋值一次 ,
17、 X2可以多次赋值 。 X1 EQU 1000H X2=100019、用1条逻辑指令将AX中与BX中的对应位不相同的位均置为1 XOR AX,BX 。20、汇编语言的语句分成指令、伪指令和宏指令三类。堆栈是以后进先出方式工作的存储空间。21、在基址变址寻址方式中,可用于基址的寄存器是 BX 、 BP ,其中 BP 默认是相对于堆栈段寻址的。 22、用指令的助记符、符号地址、标号和伪指令、宏指令等书写的程序的语言称为汇编语言,将汇编语言的源程序翻译成机器语言的程序为汇编程序。23、8086CPU由BIU(总线接口单元)和EU(执行单元)两部分构成。24、我们把与内存一一对应的用20位二进制数(或
18、5位16进制数)表示的地址称为物理地址,它的计算公式为物理地址=16*段地址+偏移地址。25、在段加偏移地址的寻址中,如果段寄存器为CS,则相应的偏移地址应由IP寄存器来提供。26、在DEBUG上机调试程序时,存储器的地址表示为2F00:1400,则该单元的段地址为2F00H,偏移地址为1400H,物理地址为30400H。27、执行下列程序段后,(CX)=0,(ZF)=1。MOVAX,BXNOTAXADDAX,BXINCAX28、方向标志DF的作用是用来在串操作指令中控制自增和自减的方向,用于设置或消除该标志位的指令是STD和CLD,。29、完成下列程序,从240H端口读取数据,测试其是否为2
19、0H,若不是则将241H端口清0,否则则转向Next。Movdx, 240H IN al,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;采用寄存器相对寻址方式,物理地址为56956h 。(2) CMP AX,ES:SI;采用寄存器间接寻址方式,物理地址为 26F01H 。(
20、3) MOV CX,BUF;采用直接寻址方式,物理地址为 16800H 。(4) MOV AX,ES:BX+SI;采用基址变址寻址方式,物理地址为 27571H 。(5) DEC BUFDI;采用寄存器相对寻址方式,物理地址为 168B0H 。(6) MOV AX,BUFBX+DI;采用相对基址变址寻址方式,物理地址为 16620H 。31、假设(DS)=0D012H,(BX)=80BH,( 0D092CH)=23D0H,(0D092EH)=0AC78H,当执行指令“LES SI,BX”后,(SI)=23D0H,(ES)=0AC78H。对于指令XCHGBX,BP+SI,若指令执行前(BX)=6
21、F30H,(BP)=200H,(SI)=46H,(SS)=2F00H,(2F246H)=4154H,(2F046H)=1234H,则指令执行后(BX)=4154H,(2F246H)=6F30H。假设(SS)=1200H,(SP)=100,(AX)=1234H,执行PUSH AX指令之后,12H所在存储单元的物理地址是120FFH32、指令中用来指出指令在程序中位置的符号地址是标号。33、变量和标号的三个属性为段属性、偏移属性、类型属性。34、下列程序段是比较AX,BX,CX中带符号数的大小,将最大数放在AX中。请将程序填完整。CMP AX,BXJGE LAB1XCHG AX,BXLAB1:CM
22、P AX,CXJGE LAB2XCHG AX,CXLAB2:35、在使用串操作指令时,源串必须在数据段中,目的串必须在附加段中,源串作数和目的操作数不允许使用段超越。36、CPU是通过I/O指令来实现与外部设备进行数据传送的。37、内中断有三类中断源,分别为INT n、CPU出错、为调试程序设置的断点。38、中断过程可分为四个步骤:中断请求、中断响应、中断处理、中断返回。39、OF位可以用来表示 有符号数 溢出,CF位可以用来表示 无符号数 溢出。40、80X86中断命令寄存器的I/O端口地址为20H,中断屏蔽寄存器的I/O端口地址为21H。41、可用DOS功能调用INT 21H的功能号(AH
23、)=25H来设置中断向量,用功能号AH=35H来获取中断向量。42、168D= 10101000 B= 0A8 H= 250 Q。43、在数据段中有以下定义: ARRAY1 EQU 16H ARRAY2 DW 16H 请指出下列指令的寻址方式: MOV AX,ARRAY1;立即寻址方式 MOV AX,ARRAY2;直接寻址方式44、若STR是字符串的首地址,将语句加上注解,并指出下列程序的功能。LEABX,STR; 将STR的有效地址送BXMOVCX,20; 使得CX等于20 LAB1:CMPBX, *; 比较BX所指存储单元的内容是否是”*”JNZLAB2; 不是*则转到LAB2MOVBX,
24、 $;用$替换BX所指存储单元的内容LAB2:INCBXLOOPLAB1;(CX)=(CX)-1不等于0,则转到LAB1HLT程序的功能;将首址为STR长度为20的字符串中的*用$替换。45、若物理地址为00038H的单元开始存放的双字为20001000H,00056H单元开始存放的双字为40003000H,则类型为14(十进制数)的中断向量的起始地址为38H或56,中断服务程序的入口地址(物理地址)为21000H。46、PC机I/O设备的数据传送方式共有三种,分别是查询,中断 ,DMA。47、当键盘中断发生时,CPU能否响应由两个条件控制,一是中断是否允许二是当前中断级别是否比键盘中断级别高
25、。48、条件转移指令的目标地址应在本条件转移指令的下一条指令地址的-128127个字节范围内。49、假设某程序执行前(CS)0B234H,(IP)5678H,则该程序的第一条指令的物理地址是0B79B8H,若第一条指令对应的机器码占3个字节,则第二条指令的物理地址是0B79BBH。50、在用MASM 5.0的DEBUG调试程序时,查看寄存器内容的命令为 R ,让程序仅执行当前IP所指的一条指令的命令是 T 。51、物理地址是唯一代表存储空间中每个字节单元的地址。五、简答题1、试计算58H+3CH的运算结果,并写出标志位OF、PF、CF、SF的内容。答:58H+3CH=94H,OF=1,CF=0
26、,PF=0,SF=12、8086具有哪些程序可见的寄存器,它们在程序设计中分别起什么作用?答:段寄存器8086的段寄存器有4个16位寄存器,它们用于存放8086CPU当前可以访问的4个逻辑段的基址。代码段寄存器CS划定并控制着程序区;数据段寄存器DS和附加段寄存器ES控制着数据区;而堆栈段寄存器SS对应着堆栈存储区。通用寄存器 通用寄存器可分为两组:数据寄存器,地址指针和变址寄存器。 数据寄存器包括AX,BX,CX和DX4个16位寄存器,它们中的每一个又可根据需要将高8位和低8位分成独立的两个寄存器来使用。其中AX、BX、CX、DX四个数据寄存器,但它们又有各自的专门用途,其中 AX 可用作累
27、加器, BX 可用作基址寄存器, CX 可用作循环和串处理中的隐含计数器, DX 在某些I/O操作中,可用来存放I/O的端口地址。 地址指针和变址寄存器包括SP,BP,SI,和DI。控制寄存器(1)指令指针IP(2)标志寄存器FLAG 8086CPU设立了一个16位标志寄存器,共9个标志。其中6个是状态标志,3个是控制标志。状态标志进位标志CF,辅助进位标志AF,奇偶标志PF,符号标志SF,零标志ZF,溢出标志OF。置1条件分别是:运算过程中最高位产生了进/借位,CF=1;结果低4位产生了进位,AF=1;结果低8位有偶数个1,PF=1;结果最高位为1,SF=1;结果为0,ZF=1;结果产生了溢
28、出,OF=1。控制标志(a)DF方向标志(b)IF中断允许标志(c)TF陷阱标志或单步操作标志3、已知AX=0E87DH,BX=38ABH,若执行ADD BX,AX;则寄存器AX,BX,标志位CF、OF各为何值?答:AX=2128H,BX=38ABH,CF=1,OF=04、什么是中断类型码?中断向量?中断向量表?在8086/8088微机系统中。中断类型码和中断向量之间有什么关系?答:中断类型码:其实就是中断号,对不同的中断服务程序不同的名称记号,以调用该中断程序.中断向量:指向中断服务程序的入口地址.一个向量代表的入口地址为4个字节.中断向量表:由于存在多个中断请求,相应有多个中断服务程序,即
29、有多个存放这些程序的入口地址(即中断向量).为此系统在内存的特定区域安排一张中断向量表,专门存放所有的中断向量.此表即中断向量表.以上三者关系:中断向量=中断号X4, 其中方括号的含义是内存单元的内容.(即中断向量表刚好存放在内存绝对地址0开始的位置)。5、简述8086CPU响应中断的条件。答:取决于中断允许触发标志IF的状态。若IF=1,则响应中断的请求,暂停现行后续指令的执行,转去执行中断服务程序;若IF=0,则不会响应中断的请求。6、在8086/8088微处理器在实模式下,存储器寻址为什么要分段?举例说明存储单元的物理地址是如何形成的?答:在8086/8088中,寄存器只有16位,而地址
30、线却有20位,故其最大寻址空间是1M。用存储器分段的方法,解决在16位字长的机器里提供20位地址的问题。在实模式下编程时,将存储器划分成段,每个段内的大小可达64KB,这样段内地址可用16位表示,实际上,可以根据需要决定段的大小。这样将每一段的起始地址作为段地址,而将在段内相对于段起始地址的偏移值作为偏移地址,于是将段地址左移4位,再加上偏移地址就形成了存储器实际的物理地址。如某存储单元的段地址和偏移地址为3017:000A,则其物理地址=3017H*10H+000AH=3017AH。7、逻辑右移指令SHR的格式、功能和使用说明?8、设AX=1234H,BX=5678H,CX=8901H,SI
31、=100H,SP的初始值=01A0H,问执行下述堆栈操作指令序列 PUSHCXPUSHAX PUSHBXPOPCXPOPSI后,SP和SI的值等于多少?答:SP和SI的值分别等于19EH和1234H。9、计算机对I/O端口编址时可以采用哪两种方法?简述两种编址方式的优缺点?答:略10、画图说明下列语句分配的存储空间及初始化数值。(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,345H11、根据以
32、下要求,分别写出相应的汇编语言指令或指令序列。(1)把AX寄存器和BX寄存器的内容相减,结果存入AX中。Sub ax,bx(2)将AX的内容逻辑左移5位。Mov cl,5 shl ax,cl(3)将AX的内容,减去0520H和上次运算的借位。Sbb ax,520h(4)将变量名TABLE的段地址送AX。Mov ax,seg table(5)将DI的高四位置为0。And di,0fffh(6)输出一个字节到61H号端口。Out 61h,al(7)将SI和DI的内容互换。XCHG SI,DI12、8086CPU是由EU和BIG组成,各部分的功能是什么?这样设计的优点是什么?答:BIU主要功能是负责
33、CPU与主存和I/O之间的信息传递。EU的功能主要是控制和执行指令。取指和执行指令这两个步骤由两个独立的部件来完成。当EU执行某条指令时,BIU同时完成从主存中预取后继指令,两个部件并行工作,提高了指令的执行速度。13、简述以下指令的格式、功能和使用说明循环控制指令LOOPNZ/LOOPNE、REP MOVSB、XLAT、XCHG。答:略。14、简述指令MOV SI,DATA和MOV SI,OFFSET DATA之间的区别?答:MOV SI,DATA是将DATA的内容送入SI寄存器;MOV SI,OFFSET DATA是将SI寄存器指向DATA,也就是将DATA的偏移地址送入SI。15、强制属
34、性操作符会改变变量的定义属性吗?答:不会,它们只是临时改变变量的属性。16、外设与CPU和存储器的通信是通过外设接口进行的,每个外设接口包含哪些寄存器,以及这些寄存器的用途?答:每个外设接口通常包含以下三种寄存器:一是用作数据缓冲的数据寄存器;二是用作保存设备和接口的状态信息,供CPU对外设进行测试的状态寄存器;三是用来保存CPU发出的命令以控制接口和设备的操作的命令控制寄存器。17、定义数据段DATA_SEG,数据段中的数据按下列要求依次存储:(1)第一个字节是整数5(2)变量BUF,大小为25个字节,初值为0(3)变量ARRAY,类型为字,初值为12H,56H,78H,0AH(4)变量MS
35、G存储字符串yes答:data segments db 5 buf db 25 dup(0) array dw 12h,56h,78h,0ah msg db yesdata ends18、中断过程当中断发生时,由中断机构自动完成下列动作:1) 取中断类型号N2) 标志寄存器(FLAG)内容入栈3) 当前代码段寄存器(CS)内容入栈4) 当前指令计数器(IP)内容入栈5) 禁止硬件中断和单步中断(IF=0, TF=0)6) 从中断向量表中取4*N的字节内容送IP,取4*N+2中的字节内容送CS7) 转中断处理程序 19、试计算逻辑地址4017:000A,4015:0002A和4010:0007A
36、对应的物理地址。这三个物理地址说明了什么问题?答:对应的物理地址是4017AH,说明一个物理地址可以对应多个逻辑地址。20、下列操作可使用哪些寄存器?加法和减法循环计数乘法和除法将要执行的指令地址答:加法和减法通用寄存器;循环计数CX乘法和除法AL、AX、DX寄存器将要执行的指令地址IP寄存器。21、指令和伪指令的区别?答:指令是在程序执行期间由计算机来执行的,而伪指令(伪操作)是汇编程序对源程序进行汇编时执行的操作。指令语句每一条指令语句在源程序汇编时都要产生可供计算机执行的指令代码(即目标代码),所以这种语句又叫可执行语句。每一条指令语句表示计算机具有的一个基本能力,如数据传送,两数相加或
37、相减,移位等,而这种能力是在目标程序(指令代码的有序集合)运行时完成的,是依赖于汁算机内的中央处理器(CPU)、存储器、IO接口等硬件设备来实现的。伪指令语句伪指令语句是用于指示汇编程序如何汇编源程序,所以这种语句又叫命令语句。例如源程序中的伪指令语句告诉汇编程序:该源程序如何分段,有哪些逻辑段在程序段中哪些是当前段,它们分别由哪个段寄存器指向;定义了哪些数据,存储单元是如何分配的等等。伪指令语句除定义的具体数据要生成目标代码外,其他均没有对应的目标代码。伪指令语句的这些命令功能是由汇编程序在汇编源程序时,通过执行一段程序来完成的,而不是在运行目标程序时实现的。22、中断与子程序的区别1)中断
38、发生的过程很像我们所熟悉的子程序调用,不同的是在保护中断现场时,除了保存返回地址CS:IP之外,还保存了标志寄存器FLAG(PSW)的内容。因为标志寄存器记录了中断发生时,程序指令运行的结果特征,当CPU处理完中断请求返回原程序时,要保证原程序工作的连续性和正确性,所以中断发生时的FLAG内容也要保存起来。2)另一个不同点是,在中断发生时,CPU还自动清除了IF位和TF位,这样设计的目的是使CPU转入中断处理程序后,不允许再产生新的中断,如果在执行中断处理程序的过程中,还允许外部的中断,可通过STI指令再把IF置为1。3)编写中断处理程序和编写子程序一样,所使用的汇编语言指令没有特殊限制,只是
39、中断程序返回时使用IRET指令。这条指令的工作步骤和中断发生时的工作步骤正好相反。它首先把IP、CS和FLAGS的内容出栈,然后返回到中断发生时紧接着的下一条指令。 23、简述汇编语言从源程序的建立到运行可执行程序的主要步骤。答:用编辑程序建立汇ASM编语言源程序;用汇编语言对源程序进行汇编,把ASM文件转化成OBJ文件;用连接程序对目标文件进行连接,把OBJ文件转换成EXE文件;用DOS命令直接键入文件名即可执行。四、判断题1、段内转移要改变IP、CS的值。 F 2、JMP SHORT lab是近跳转。 F ;short是短转移,near是近转移3、POP5678H ; F 4、立即寻址方式
40、不能用于目的操作数。 T 5、条件转移指令只能使用段内直接短跳转。 T 6、MOVES,5678H ; F 7、不能给段寄存器进行立即数方式赋值。 T 8、立即寻址方式不能用于目的操作数。 T 9、LEA DI,BXSI T 10、ADD AX, CL F 11、MOV指令会影响标志位。 F 12、ORAX,BX; T 13、CF位可以用来表示无符号数溢出,OF位可以用来表示有符号数溢出。 T 14、ADDCX,AL; F 15、LODSB指令执行的操作为:(DI)(AL),(DI)(DI)+1或(DI)(DI)-1。 F 注:(SI)(
41、AL),(SI)(SI)+1或(SI)(SI)-116、关系操作符EQ、NE、LT、GT、LE、GE的计算结果为逻辑值,0FFFFH表示为真,0表示为假。 T 17、SHLAX,3 F 18、PUSH WORD PTR 20BX+SI-2; T 19、LEA BX,4BX; T 20、JMP BYTE PTR SI; F 21、INAX,0ADH; T 22、AND AX,DX F 23、TESTAL,00000100B T 24、RCRBX+SI,CX F 25、DIV10H F 26、MOVAX,BXBP F 27、INAX,3F0H F 28
42、、MUL0ABH F 29、JLEFAR PTR LAB;LAB是一个语句的标号 F 30、CALLAX T 31、MOVDS,2000H F 33、指令INC BL影响所有的标志位。 F 34、SP的内容可以不指向堆栈的栈顶。 F 35、END LAB语句指示本程序执行到标号LAB处则结束。 F 36、同一个文件中不允许出现相同的子程序名。 T 37、定义在代码段C中的类型属性为FAR的过程只能在代码段C之外调用。 F 38、ADDX,Y;X,Y是DB定义的变量。 F 39、对于一个正数,其原码、反码和补码都一样。 T 40、SUBAX,1指令与DEC AX指令都执行(AX)=(AX)-1的
43、操作,两者完全可以相互替代。 F 41、DIV SRC执行字节除法时,商存放在(AL)中,而余数存放在(AH)中。 T 42、MOV WORD PTRBX,1000 T 43、ADD AX,ACH; F 44、MOV CX,BYTE PTR STR+1 T 45、MOV STRBXDI,ES:AX F 46、JMP FAR PTR LAB ;LAB是标号 T 47、IN AX,3F0H F 五、编程题1、 从键盘输入一字符串,然后将其按反序存放并输出。DATA SEGMENT STRING1 DB 80,0,80 DUP(?) STRING2 DB 80 DUP(?) DATA ENDS CO
44、DE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA MAIN PROC FAR START: MOV AX,DATA MOV DS,AX MOV ES,AX LEA DX,STRING1 MOV AH,0AH INT 21H MOV CL,STRING1+1 SUB CH,CH LEA DI, STRING2 LEA SI,STRING1 ADD SI,CX INC SI LAB: MOV AL,SI MOV DI,AL INC DI DEC SI LOOP LAB MOV BYTE PTRDI,'$' LEA DX,STRING2 MOV AH
45、,9 INT 21H MOV AH,4CH INT 21H MAIN ENDP CODE ENDS END START2、将首地址为x的5个字正整数数组从小到大排序。DATA SEGMENTx DW 56H,85H,96H,52H,63HDATA ENDSCSEG SEGMENTASSUME CS:CSEG,DS:DATASTART:PUSHDSSUBAX,AXPUSHAXMOVAX,DATAMOVDS,AX MOVCX,5 DECCXLOOP1:MOVDI,CXMOVBX,0LOOP2: MOVAX,XBXCMPAX,XBX+2 JLCON XCHGAX,XBX+2 MOV XBX,AXCO
46、N:ADD BX,2 LOOP LOOP2 MOV CX,DI LOOP LOOP1 RETCSEG ENDS END START3、 给出一百分制成绩,要求输出成绩等级“A”,“B”,“C”,“D”,“E”。90分以上为A,8089为B,7079为C,6069为D,60分以下为E。DATA SEGMENT X DB 52 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA MAIN PROC FAR START: MOVAX,DATA MOVDS,AX MOVAL,X CMPAL,90 JBLAB1 MOVDL,'A' JMPEXIT LAB1: CMPAL,80 JBLAB2 MOVDL,'B' JMPEXIT
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 航空器维修影响因素分析试题及答案
- 财务分析报告的撰写规范试题及答案
- 人工智能自然语言处理技术:2025年智能语音识别系统研究报告
- 2025年建造师考试各科目知识体系的搭建与应用试题及答案
- 初级审计的实务操作试题及答案
- 2025年建造师难点知识拓展试题及答案
- 2025年建造师知识复习试题及答案
- 消防工程师学科交叉试题及答案
- 高级审计师备考必读试题及答案分享
- 疑难解答2024年初级审计师考试试题及答案
- 芦丁鸡怎么养
- 幽门螺杆菌预防措施及治疗
- 2024年浙江首考高考英语卷试题真题及答案解析(含听力原文+作文范文)
- 2018年10月自考00372公安信息学试题及答案含解析
- 烟草行业安全风险分级管控和事故隐患排查治理双重预防机制
- 师承指导老师学术思想
- 2016-2023年西安职业技术学院高职单招(英语/数学/语文)笔试历年考点试题甄选合集含答案解析
- 培养孩子的社会交往能力
- 安全生产法律法规、标准清单
- JCT640-2010 顶进施工法用钢筋混凝土排水管
- 新疆民居及建筑纹饰介绍(37张)
评论
0/150
提交评论