08级1-4班《汇编语言程序设计》期末考试卷(A卷)
- 格式:doc
- 大小:80.50 KB
- 文档页数:8
汇编语言程序设计期末考试-试卷及参考答案【汇编语言程序设计】期末考试-试卷及参考答案执行上述两条指令后,正确的结果是( B )。
A.(AX)=1001H; B.(AX)=0FFFH;C.(AX)=1000H; D.(AX)=0111H。
6.串指令中的目的操作数地址一定是由____A_ _提供。
()A.ES:[DI] ; B.SS:[BP];C.DS:[SI] ; D.CS:[IP]。
7.将DX的内容除以2,正确的指令是( C )。
A.DIV 2 ;B.DIV DX,2 ;C.SAR DX,1;D.SHL DX,1。
8. 用户为了解决自己的问题,用汇编语言所编写的程序,称为( B )。
A.目标程序; B.汇编语言源程序;C.可执行程序; D.汇编程序。
9.用一条指令仅实现将AX←BX+SI的方法是( D )。
A.XCHG AX,[BX][SI] ;B.MOV AX,[BX+SI];C.LEA AX,BX[SI] ;D.LEA AX,[BX][SI]。
10.设SP初值为2000H,执行指令“PUSH AX”后,SP的值是( C )。
A.1FFFH; B.1998H;C.1FFEH; D.2002H。
2. C二、指出下列指令的出错原因,并改正。
(每小题2分,共12分)1.MOV BX,DL;操作数类型不匹配,改正为:MOV BL,DL 或MOV BX,DX2.MOV CS,AX;代码段寄存器CS不能作目的操作数,改正为MOV DS,AX3.ADD AX,DS;段寄存器DS的内容不能作为加法指令的操作数,改正为MOV BX,DSADD AX,BX4.TEST BX,[CX];不能使用CX实现寄存器间接寻址,改正为MOV SI,CXTEST BX,[SI]5.SUB [BX],[BP+SI];两个操作数不能同为存储器操作数,且两个操作数的数据类型不确定,改正为:MOV AX,[BX]SUB AX,[BP+SI]或:MOV AL,[BX]SUB AL,[BP+SI]6.SHL DX ;没有给出移位次数,改正为SHL DX,1或 SHL DX,CL三、程序填空题(注意:每空只能填一条指令,并注释说明所填指令的作用!每空3分,共18分)1.在表TABLE处存放着N个无符号字节数,求表中前10个字节数的总和并保存在AX寄存器中。
2007-2008学年第二学期期末考试试卷(A卷)试卷类型:闭卷年级 2006 专业计算机应用科目汇编语言姓名_____________ 学号_________________ 主考教师程学先分数______一、单项选择题(本大题共10小题,每小题1分,共10分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.用户为了解决自己的问题,用汇编语言所编写的程序,称为()A.目标程序B.源程序C.可执行程序D.汇编程序2、用电平型信号表示数字时,一般是()A用电平信号的有或无区分1或0B 用电平的高或低区分1或0C用电平信号的上升边表示1,下降边表示0D用电平信号的前沿表示1,后沿表示03. 若X补=1101010,则X原=()A. 0010101B. 0010110C. 1101011D. 11010104.假设存储器中从7462H单元开始的四个相邻字节单元中的内容依次是32H,46H,52H,OFEH,则存放字数据OFE52H的字地址是()A.7462HB.7463HC.7464HD.7465H5.下列寄存器组中,在访问存储器操作数地址时,可以提供偏移地址的是()A.BP、BX、SI、DIB.AX、BX、CX、DXC.SP、IPD.BX、SI、DI、DS6.在数据区定义了:DA2 DB 'A','B','C','D'执行语句:MOV AX ,WORD PTR DA2+1后 AX 中的值是( )A. 'AD'B. 'BC'C. 'DA'D. 'CB'7.执行POP BP指令时,源操作数的物理地址表达式是()A.16*SS+SPB.16*SS+BPC.16*DS+BPD.16*CS+BP8.在串操作指令前使用重复前缀指令REPE,终止串的重复操作条件是()。
2009—2010第一学期汇编语言期末考试试题A卷适用班级:08计科一、单项选择题(本大题共20小题,每小题1分,共20分)1.CPU要访问的某一存储单元的实际地址称()A.段地址B.偏移地址C.物理地址D.逻辑地址2.某存储单元的物理地址是12345H,可以作为它的段地址有()A.2345H B.12345HC.12340H D.1234H3.执行后使BX=0的同时也使CF=0,OF=0的指令是()A.XOR BX,BX B.OR BX,BXC.AND BX,BX D.CMP BX,BX4.设物理地址(21000H)=20H,(21001H)=30H,(21002H)=40H。
如从地址21001H 中取出一个字的内容是( )A.2030HB.3040HC.3020HD.4030H5.与LEA BX,BUF指令完全等效的指令是( )A.MOV BX, BUFB.LDS BX,BUFC.MOV BX,OFFSET BUFD.MOV BX,WOKD PTR BUF 6.AND,OR,XOR,NOT为四条逻辑运算指令,下面的解释正确的是()A.指令XOR AX,AX执行后,AX内容不变,但设置了标志位B.指令OR DX,1000H执行后,将DX最高位置1,其余各位置0C.指令AND AX,OFH执行后,分离出AL低四位D.NOT AX,执行后,将AX清07.在执行下列指令时,需要使用段寄存器DS的指令是()A.STOSW B.ADD AL,CLC.NEG BX D.INC DA[BX]8.无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的指令是()A.ADD BH,01H B.OR BH,01HC.XOR BH,01H D.TEST BH,01H9.完成对CL寄存器的内容乘以4的正确操作是()A.ROL CL,1 B.MUL 4ROL CL,1C.SHL CL,1 D.MOV CL,2SHL CL,1 SHL CL,CL10.下面各传送指令中,正确的是()A.MOV [DI],[SI] B.MOV[DX+DI],ALC.MOV WORD PTR [BX],0100H D.MOV AL,BX11.设SP的初值为1000H,执行指令PUSH AX后SP的值是( )A.OFFFHB.1001HC.0FFEHD.1002H12.要实现使BETA的值为56,应采用语句为()A.BETA DB 56 B.BETA DB 56HC.BETA EQU 56 D.BETA EQU 56H13.设AX=9ABCH,DX=8765HPUSH AXPUSH DXPOP AXPOP DX上述4条指令执行后,AX,DX中内容分别是( )A.AX=9ABCH DX=8765HB.AX=9ABCH DX=9ABCHC.AX=8765H DX=8765HD.AX=8765H DX=9ABCH14.下面程序段执行后,AL中的内容是()MOV AX,8833HADD AL,AHDAAA.21 B.21HC.0C1H D.0DDH15.比较两个带符号的数A、B,当A=B时程序转移,测试的条件为()A.ZF=1 B.ZF=0C.SF=1 D.SF=016.检查二个无符号数的关系,若要实现AL≥BL时分支去LOP1处,那么在“CMP AL,BL”指令后应跟的分支指令是()A.JNC LOP1 B.JA LOP1C.JC LOP1 D.JGE LOP117.检查BUF单元的内容是否为正偶数,下面程序段正确的是( )A.MOV AL,BUFB.MOV AL,BUFJS K1 AND AL,11HSHR AL,1 JNE K1JC K1 ……;是正偶数……;是正偶数K1:……K1:……C.MOV AL,BUFD.MOV AL,BUFJNP K1 TEST AL,81HTEST AL,80H JNE K1JNE K1 ……;是正偶数……;是正偶数K1:……K1:……18.设AL=0AH,下列指令执行后能使AL=05H的是()A.NOT AL B.AND AL,0FHC.XOR AL,0FH D.OR AL,0FH19.DA1 DW‘AB’,‘CD’,‘EF’,‘GH’()┇MOV AX,DA1+3指令执行后AX中的内容是A.‘EF’B.‘CD’C.‘BC’D.‘FC’20.使用DOS系统功能调用时,使用的软中断指令是()A.INT 21 B.INT 10HC.INT 16H D.INT 21H二、填空题(本大题共6空,每空1分,共6分)21.十六进制数0FFF8H表示的十进制正数为________。
诚信考试沉着应考杜绝违纪浙江大学2008–2009学年秋冬学期《汇编与接口》课程期末考试试卷开课学院:计算机学院,考试形式:开卷,允许带__1本书___入场考试时间: 09 年 1 月 11 日,所需时间: 120 分钟,任课教师 ________考生姓名: _____学号:专业: ______请把第1-5题的答案写在本页的答题纸上,第1-5题的评分以答题纸上的答案为准。
一.(10 points)Mark T for correct instruction or description, mark F foe incorrect instruction or description. (每题1分)三.(10 points) The following program runs under 32-bit Visual C++ environment,Please choose the best四.(10 points) The following program is developed under 32-bit Visual C++ environment, each integer takes 32五.(10 points) In protected mode, a Pentium 4 descriptor describes a segment, and the content of the descriptor一.(10 points)Mark T for correct instruction or description, mark F foe incorrect instruction or description. ()1. POP CS()2. IMUL DH()3. INSB()4. MOV AX,[ESI][EDI]()5. MOV AX,[SI][DI]()6. JMP WORD PTR [BP]()7. MOV [EBX], [ESI]()8. IMUL 125()9. ADD CX,[EAX]()10. In Mode 2, the 8254 usually generates a continuous square-wave.【答案】:(每题1分)(F)1. POP CS(T)2. IMUL DH(T)3. INSB(T)4. MOV AX,[ESI][EDI](F)5. MOV AX,[SI][DI](T)6. JMP WORD PTR [BP](F)7. MOV [EBX], [ESI](F)8. IMUL 125(T)9. ADD CX,[EAX](F)10. In Mode 2, the 8254 usually generates a continuous square-wave.二.(20 points)Please select your best choice for the following questions. (每题2分)1.In real mode, according to the following memory data, the entry address of INT 13H should be (____).0000:0030 72 10 A7 00 7C 10 A7 00-4F 03 80 05 8A 03 80 050000:0040 AD 06 14 02 A4 F0 00 F0-37 05 14 02 11 6D 00 C0A:6D11:C000 B:116D:00C0C:00C0:116D D:C000:6D11【答案】:D2.MOV EAX, 3A4C0002HMOV EBX, -2MUL BL then AX= (____)A:-4 B:508 C:-304H D:74980004H【答案】:B3.MOV EAX,1007MOV EDX,100DIV DL then AX= (____)A:070AH B:-532H C:10 D:7【答案】:A4.In real mode , variable X is defined in data segment, its segment address is 2345H, its offset is 2222H, then its20-bit physical address will be ____ .A:04567H B:45670H C:25672H D:23452H【答案】:C5.Which instruction will do “EBX -- ECX + 8*EAX –400H” ?A:MOV ECX, [ECX + 8*EAX – 400H] B:LEA ECX, [ECX + 8*EAX – 400H]C:MOV EBX, OFFSET [ECX + 8*EAX – 400H] D:ADD ECX , 8*EAX – 400H【答案】:B6.CF and OF are always set to 0 after instruction.A:SUB B:AND C:ADD D:MUL【答案】:B7.Suppose that DS=3200H, BX=0300H, SI=0240H, offset of myarray=0120H, determine the physical addressaccessed by instruction: “MOV myarray [SI], ECX” , assuming real mode operation.A:32240H B:32120H C:3560H D:32360H【答案】:D8.What is the purpose of interrupt vector type number 0?A:to detect and respond to divide eror. B:to report hardware errorC:to do a single-step trap D:to process double fault【答案】:A9.Suppose that the 8254’s control word is 10110110B, which description is correct?A:it sets counter 2 to read/write least-significant byte only.B:it sets counter 1 to read/write least-significant byte only.C:it sets counter 2 to read/write least-significant byte first, followed by the most significant byte.D:it sets counter 2 to read/write least-significant byte only.【答案】:C10.Suppose t hat the 8254’s control word is 10110110B, which description is correct?A:it selects mode 2.B:it selects BCD counting.C:it selects mode 3 and binary counting..D:it selects counter 1 and binary counting.【答案】:C三.(10 points) The following program runs under 32-bit Visual C++ environment.#include "stdafx.h"#include "stdio.h"char STRING[512]="27 hosts,120 disks and 3 printers#";int main(int argc, char* argv[]){_asm {MOV DH,'0'XOR ECX,ECXLEA EBX,STRINGCONT: MOV DL,[EBX]CMP DL,'#'JE EXITINC EBXCMP DL,30HJB CONTCMP DL,39HJA CONTINC ECXCMP DL,DHJBE CONTMOV DH,DLJMP CONTEXIT:}return 0;}Please choose the best answer.1. When this program runs to the label “EXIT”, the register CX= .A. 5B. 6C. 7D. 82. When this program runs to the label “EXIT”, the register DH= .A. 34HB. 35HC. 36HD. 37H(每题5分)1.【答案】:B2.【答案】:D四.(10 points) The following program is developed under 32-bit Visual C++ environment, each integer takes 32bits. The integer array “weight” holds many element, each element is the weight of an elephant; The integer “count” holds the total number of array elements; The integer “avg_w” holds the average weight of all elephants. The program calculates the average weight of all elephants and stores the result to integer “avg_w”, here avg_w is the average.1.Please fill in the blanks to make it complete.#include "stdafx.h"#include "stdio.h"int weight[5]={1100,2100,3200,4200,5400};int avg_w, count=5;int main(int argc, char* argv[]){_asm {LEA ESI, weight[0]XOR EBX,EBXCLDR1: LODSDLOOP R1MOV EAX,EBXMOV avg_w, EAX}printf("avg_w=%d\n" ,avg_w);return 0;}2.The printf will output: avg_w= .==================================【答案1】:(每空格2分)1.LEA ESI, weight[0]XOR EBX,EBXMOV ECX,count;错误答案:mov CX,5CLDR1: LODSDADD EBX,EAXLOOP R1MOV EAX,EBXXOR EDX,EDX; 或sub edx,edx; 或mov edx ,0;IDIV count ;或DIV count 错误答案:div 5MOV avg_w, EAX2. The printf will output: avg_w= 3200 .==================================【答案2】:(每空格2分)1.LEA ESI, weight[0]XOR EBX,EBXMOV CX, word ptr count 错误答案:mov CX,5CLDR1: LODSDADD BX, AXLOOP R1MOV EAX,EBXXOR DX,DX; 或sub dx,dx; 或mov dx ,0;IDIV word ptr count ;或DIV word ptr count 错误答案:div 5MOV avg_w, EAX2. The printf will output: avg_w= 3200 .五.(10 points) In protected mode, a Pentium 4 descriptor describes a segment, and the content of the descriptoris: 3CH, C0H, A2H, 6CH, 40H, 00H, 00H, 2FH,here the first byte 3CH is the most significant byte (B31-B24 of base address ). According to these content of descriptor: (please fill the answer in the below table.)1、the first byte address of the memory segment is (1) ;2、the size of the memory segment is (2)bytes;3、the segment has (3) . (been accessed, or not been accessed)4、the instruction mode of the memory segment is (4)(option :16-bit or 32-bit );5、the descriptor is a (5)descriptor. (option:system, or code segment ,or data segment)【答案】:(每空格2分)1、the first byte address of the memory segment is 3C6C4000H;2、the size of the memory segment is 30000H bytes; limit=0 00 2FH,size=30 000H3、the segment has not been accessed .; the access right byte of the memory segment is A2H=10100010 ;4、the instruction mode of the memory segment is 32-bit(16-bit or 32-bit );5. the descriptor is a system descriptor. (system or code segment or data segment)六.( 28 points) We use one 16550 chip and three 8259As to construct a communication subsystem which isbased on interrupt. The 16550’s port address is 3F0H—3F7H, and the 8259A’s port address is 20H and 21H.Every 8259A has 8 interrupt request pins: IR0—IR7. The main 8259A’s IR2 pin and IR3 pin connect to two slave 8259A’s INT pin respectively. The 16550’s INTR pin connects to main 8259A’s IR4.The following pro cedure INIT is used to initialize the 16550 and main 8259A, and two slave 8259A’s initialization program is not included in INIT.1.Please fill an instruction or part of an instruction in each blank. The content you filled must be in accordance with the prompt information beside each instruction. (20 points)INITPROC NEAR;============part I: begin to program 16550 ( 10 points) ===========CLIMOV AL, B ; ( 1 points)MOV DX, 3F3HOUT DX, ALMOV AL, ; ( 1 points) program Baud as 38400.MOV DX, 3F0HOUT DX, ALMOV AL, ;( 1 points); ( 1 points)OUT DX, ALMOV AL, 0 0 B ;program 8 data bit ,odd parity, 2 stop bit, ( 3 points)MOV DX, 3F3H ;OUT DX, ALMOV AL, 00 00 B; ( 2 points)MOV DX, 3F2H; ( 1 points);============part II: begin to program main 8259A and 16550 ( 10 points) ===========MOV AL, 000 0 B ;program ICW1 of 8259A ( 2 points)OUT 20H, AL ;edge trigger, two 8259 chips cascaded, ICW4 is neededMOV AL, ;program ICW2 ( 1 points)OUT 21H, AL ;set int. vector type numbers as 60—67HMOV AL, B ;program ICW3, The main 8259A’s;IR2、IR3 connect to 2 slave 8259As. ( 1 points)OUT 21H, AL ;MOV AL, 0 0 B; program ICW4 ( 3 points)OUT 21H, AL ;8086 mode,normal EOI, not SNFM, buffer mode , master chipMOV AL, B ; program OCW1 ( 1 points)OUT 21H, AL ;mask IR0—IR3, IR5—IR7 of 8259A( 1 points)MOV AL, B ; ( 1 points)enable transmitter interrupt of 16550,disable other interruptsMOV DX, 3F1H ;OUT DX, AL ; program interrupt control registerRETINIT ENDP【答案】:INITPROC NEAR;============part I: begin to program 16550 ( 10 points) ===========CLIMOV AL, 10000000B ;允许波特率除数, 最高位必须为1,其余位任意,1分MOV DX, 3F3H ; line control reg.OUT DX, ALMOV AL, 30 ;编程波特率16位除数为30,1分MOV DX, 3F0H ;LSB=3F0H , 38400波特OUT DX, ALMOV AL, 0 ;1分INC DX ; 或add dx,1; 或mov dx,3F1H 或其他正确答案,1分OUT DX, ALMOV AL, 00 0 0 1 1 1 1 B ;共3分,每空格0.5分MOV DX, 3F3H ;program 8 data bit ,odd parity, 2 stop bit, 00011111BOUT DX, AL ;line control reg. =base+3HMOV AL, XX0XX111B ;2分MOV DX, 3F2H ; FIFO reg. EQU base+2HOUT DX, AL ;1分;============ now begin to program main 8259A and 16550 ( 10 points) ========MOV AL, XXX10X01B ;program ICW1 of main 8259A ( 2 points)OUT 20H, AL ;edge trigger, two 8259 chips cascaded, ICW4 is neededMOV AL, 60H ;编程ICW2 ( 1 points)OUT 21H, AL ;set int. vector type numbers as 60—67HMOV AL, 00001100 B ;( 1 points) ICW3, The main 8259A’s IR2、IR3 connect to slave 8259A’OUT 21H, AL ;MOV AL, 0 0 B ; 编程ICW4=000 01101B ( 3 points)OUT 21H, AL ;8086 mode,normal EOI, not SNFM, buffer mode , master chipMOV AL, 11101111 B ; program OCW1 ( 1 points)OUT 21H, AL ;mask IR0—IR3, IR5—IR7 of 8259ASTI ( 1 points)MOV AL, 00000010B ; ( 1 points) enable transmitter interrupt of 16550,disable other interruptsMOV DX, 3F1H ;OUT DX, AL ; program interrupt control registerRETINIT ENDP2.The 16550’s D0—D7 pins connect to D0—D7 of system data bus, and its A0—A3 pins connect to A0—A2 of system address bus, please choose the best answer. (8 points)(下面每小题2分)(1). The 16550’s XIN and XOUT pins connects a crystal oscillator 18.432 MHZ, and the Baud rate is 38400 bit/s, then the BAUDOUT pin should has a frequency of HZ.A. 614400B. 307020C. 38400D. 19200【答案】:A(2). When a instruction “OUT DX,AL” is executed and DX=3F3H, AL=11001010B, the A2-A1-A0 pins of 16550 will be .A. 1-1-0B. 1-0-1C. 0-1-1D. 0-1-0【答案】:C(3). When a instruction “OUT DX,AL” is exec uted and DX=3F3H, AL=11001010B, the D2-D1-D0 pins of 16550 will be .A. 1-1-0B. 0-0-1C. 0-1-1D. 0-1-0【答案】:D(4).After 2 instructions “MOV DX, 3F2H” and “IN AL, DX” is executed, AL’s value is 00000010B, this indicates that for 16550.A. interrupt of receiver error is pendingB. interrupt of empty transmitter is pendingC. interrupt of newly received data is pendingD. no interrupt occurs【答案】:B七.(12 points)In a newly designed 8086-based personal computer, 82C55 is used. Suppose that the portaddress of 82C55 is 60H-63H, and the port B is set as mode 1 strobed input, the port C is set as mode 0 input, port A is set as mode 1 strobed out.Step 1: The CPU repeatedly polls the IBF of port B. When it finds that the IBF of port B is 1, the data inport B is read and added to DX.Step 2: Then the CPU checks whether the PC7 (the highest bit of port C) is 1, if yes, the DX is saved to 2-byte memory word located at 7000:32e4H and the procedure returns; otherwise the CPU goes to Step1.All registers except AX are protected. Please fill instruction or part of a instruction in the below procedure to accomplish the above task.sum8255 PROC NEARPUSH SIMOV AL, B ; (this blank takes 4 points, other blank takes 1 point each )OUT 63H, ALXOR DX, DXrep1: IN AL, 62H ;JZ rep1IN AL, 61HADD DL, AL;IN AL, 62HJZ rep1MOV AX,7000hMOV DS, AXMOV [SI], DXPOP SIRETsum8255 ENDP【答案】:sum8255 PROC NEARPUSH DSPUSH DXPUSH SIMOV AL, 10101111B ; (本空格4 points ,其他每空格1分)OUT 63H, ALXOR DX, DX ; or SUB DX,DX; XOR DX,DXrep1: IN AL, 62H ; 查IBF(PC1)=1?TEST AL,00000010B ; and AL, 00000010B是错的JZ rep1IN AL, 61HADD DL, ALADC DH,0 ; 把进位加到DHIN AL, 62HTEST AL, 10000000BJZ rep1MOV AX,7000hMOV DS, AXMOV SI, 32E4HMOV [SI], DXPOP SIPOP DXPOP DSRETsum8255 ENDP11。
《汇编语言程序设计》期末复习题及答案一、选择(30题)1.下列是8位带符号二进制数的补码,其中最大的是(B )。
B、000000012.在一段汇编语言程序中多次调用另一段程序,用宏指令比用子程序实现(C )C、占内存空间大,但速度快3.数据定义为:EE DB 3, 4CC DW 3456H, 6789H执行指令“MOV CX, WORD PTR EE+1” 后,(CX) = ( B )B、5604H4.有如下指令序列:MOV AL, 95HMOV CL, 2SAR AL, CL上述指令序列执行后,AL的内容是(D )D、0E5H5.设A=186m B=273R,C=0BB E把这三个数看成无符号数,则它们之间的关系是(D )D、A<B=C6.用一条指令实现寄存器BX和SI的内容相加,并将结果送入AX中,这条指令是(D )D、LEA AX, [BX] [SI]7.要从端口1234H中读入8位数据,其指令应是(C )C、MOV DX, 1234HIN AL, DX8.循环控制指令LOOPNZ/LOOPNE继续执行循环的条件是(B )B、CX尹。
且ZF=O9.8088/8086存储器分段,每个段不超过(D )D、64K个字节10.表示过程定义结束的伪指令是(A )A、ENDP11.用来存放下一条将要执行的指令代码段地址的段寄存器是(D )D、CS12.假定(SS) =1000H, (SP) =0100H, (AX) =5609H,执行指令PUSH AX 后,存放数据56H的物理地址是(D )D、100FFH13.执行“SUB AX, [BP] [DI] ”指令,取源操作数时,使用的物理地址表达式是(A )A、16*SS+BP+DI14.设AX中有一带符号数8520H,执行“SA R AX, 1”指令后,AX中的值是(C )C、0C290H15.设(BX) =1234H, (DS) =2000H, (21234H) =5678H,则指令“LEA SI, [BX] ” 执行后的结果是:(B )B、SI=1234H16.测试BL中的数是否为负数,若为负数则转移至AA1处,横线处的指令应为(A )A、JNE17.设DF=O, (SI) =20H, (CX) =10,执行“REP LODSW"指令后,SI 中的内容是(C )C、34H18.在程序执行过程中,IP寄存器中始终保存的是(B )B、下一条指令的首地址19.设SP初值为2000H,执行指令“POP AX”后,SP的值是(A )A、2002H20.若AX=3500H, CX=56B8H,当AND AX, CX 指令执行后,AX= ( A )A、1400H21.汇编源程序时,出现语法错误的语句是(A )A、MOV DS, 1200H22.将数据1234H存放在存储单元中的伪指令是(C )C、DATA1 DB 34H, 12H23.下面指令执行后,可能改变AL寄存器内容的指令是(D )D、AND AL, BL24.操作数地址存放在寄存器的寻址方式称为(B )B、寄存器间接寻址25.用户为了解决自己的问题,用汇编语言所编写的程序,称为(B )B、汇编语言程序26.用DOS功能调用时,子功能调用的编号应放在(C )C、AH27.提供串指令中目的操作数地址的是(C )C、ES: [DI]28.在寄存器间接寻址方式下,能够提供有效地址的寄存器有(B )B、BX, BP, SI, DI29.已知某操作数的物理地址是2117AH,则它的段地址和偏移地址可能是(A )A、2025 : 0F2A30.中断向量表中的每个中断向量所占内存空间为:(B )B、4个字节二、填空(30题)1.在用直接寻址方式寻址操作数时,系统对段地址的默认值在段寄存器DS 中。
汇编语言期末试卷在发送自动消息时是无法提供格式化文本的方式的,因此我将回答您的问题的主要部分,为您提供一个有关汇编语言期末试卷的文章示例,这是一个不保证完全满足2000字的示例,请您自行添加所需的内容。
汇编语言期末试卷一、选择题1. 汇编语言是以什么为基础的计算机语言?a) 字母b) 二进制码c) 命令d) 中文字符2. 在汇编语言中,用于标识内存地址的是什么?a) 寄存器b) 标识符c) 指令d) 常数3. 汇编语言的一个主要特点是什么?a) 可读性高b) 执行速度快c) 容易学习d) 适合大型程序4. 在汇编语言中,用于定义和初始化一个常数的指令是什么?a) MOVb) ADDc) SUBd) CMP5. 汇编语言中,用于跳转到指定地址执行的指令是什么?a) JMPb) CALLc) RETd) INT二、填空题1. MOV指令是用于将数据从一个地方复制到另一个地方。
2. ALU是指算术逻辑单元,用于执行算术和逻辑运算。
3. 标志寄存器中的ZF标志表示上一次运算的结果是否为零。
4. 汇编语言程序需要被汇编器转换成机器语言程序才能被计算机执行。
5. 汇编语言中,用于定义变量的伪指令是DB。
三、简答题1. 请简要解释一下汇编语言相对于高级语言的优点和缺点。
汇编语言的优点包括:执行速度快、对计算机硬件的控制更精细、适合进行底层操作等。
然而,汇编语言的缺点是可读性差、编写和调试困难、可移植性差等。
2. 请解释一下汇编语言中的寄存器。
寄存器是一种用于存储和处理数据的特殊存储区域,其容量较小但读写速度快。
在汇编语言中,寄存器用于存储和操作数据,例如存储临时变量、保存计算结果等。
常用的寄存器包括通用寄存器(如AX、BX等)、指针寄存器(如SP、BP等)和标志寄存器(如ZF、CF 等)。
四、编程题请编写一段汇编语言程序,求两个数之和,并将结果保存在寄存器AX中。
```; 程序开始MOV AX, 5 ; 将数5加载到寄存器AX中ADD AX, 3 ; 将数3加到AX中; 程序结束```以上是汇编语言期末试卷的一部分示例,希望对您有所帮助。
2013-2014 学年第 2 学期《 汇编语言程序设计 》考试试卷A 卷 闭卷 考试时间: 2014 年 5 月 15 日 专业班级学号学生姓名得分 评卷人 一、填空题(共 10 分,每空 1 分)题号 一 二 三 四 五 六 七 八 总分 核对人题分得分10101020101010201001、访问存放在内存中的数据时,需要知道该数据的物理地址。
在实方式下,设(DS)=1000H, 则指令 MOV AX, DS:[200H]中源操作数的物理地址是。
2、堆栈也是内存中的一片数据存储区域,要访问栈顶元素,同样要知道其物理地址。
在实方式下,设( SS )= 2000H, (SP)= 100 H ,则栈顶元素的物理地址是。
3、一个内存单元的物理地址是唯一的,但是在写指令时, 可以由多种方式表达出同一个单元的地址。
例如,设在数据段( DS )中定义了变量LENDW10H 。
代码段中有:LEA BX, LEN MOVSI,在这两条指令之后,可使用如下几种方式将 LEN 中的内容送入 CX 中。
用直接寻址方式:MOVCX,用寄存器间接寻址方式: MOV CX, 用变址寻址方式:MOVCX,4、在访问一个内存单元时, 除了知道其物理地址外, 还应明确其类型, 即明确以该地址取一个字节、一个字,还是一个双字。
设 BUF DW1122H, 3344H则执行MOVCL, BYTE PTR BUF 后, (CL) = 执行 MOV CX, BUF 后,(CX)=执行 MOVECX, DWORD PTR BUF 后,( ECX )=5、外部设备寄存器只能用I/O 指令来访问。
从端口地址 60H 输入一个字节到 AL 中的指令为:。
而“ OUT 70H, AL ” 的功能是。
得分评卷人二、选择题(共10 分,每空 1 分)1、指令MOV [DI], WORD PTR [SI] 的错误原因是。
(A) DI 不能用于寄存器间接寻址方式(B) WORD PTR 的用法错误(C) 两个操作数不能同时为存储器操作数(D) 源操作数的类型不明确2、指令ADD [CX], AL 的错误原因是。
08级1 4班《汇编语言程序设计》期末考试卷(A卷)08级1-4班《汇编语言程序设计》期末考试卷(a卷)――――――――――――the2022-2022学年第一学期计算机科学学院08级(1-4)班《汇编语言程序设计》期末考试试卷(a卷)年级:__专业:_____班级:_学号:____姓名:___总题号一二三四五六七八签名分得分注:1、共100分,考试时间120分钟。
2、此试卷适用于计算机科学与技术本科专业。
填空(这道题有10个小问题,每个空白1分,共20分)1、将十进制数686化为十六进制是________,将十进制数101化为二进制是________。
2.在指令movax,100中,源操作数的寻址模式为____________________。
3、若ds=0f3eh,si=2000h,count=0a8h,指令movax,[si+count]中,源操作数的有效地址ea为________,其物理地址为________。
4、汇编语言程序设计有、和等三种基本结构形式。
5.与leadi和buf指令等效的指令为。
6、语句da2dw‘ab’汇编后在da2字节单元中存放__________,在da2+1字节单元中存放____________。
7.字符串指令MOVs和STOs指令的前缀可以是“重复操作”_________________________数据字符串长度必须发送到_。
8、jmp指令采用段间间接寻址,那么由4个相邻字节单元中存放有转移地汇编语言程序设计期末考试卷(a卷)第1页,共8页订线址,其中前两个字节存放的是________,而后两个字节存放的是________。
9、逻辑运算指令是按进行操作的,指令执行后只设置标志位,不保留结果的逻辑运算指令是。
10.用于指示无符号数大于或等于的条件分支指令是__;,用于指示有符号数大于或等于的条件分支指令是__;。
2.评分和评分教师2。
多项选择题(共10个子题,每题1分,共10分)1。
………………………………密………………………………封…………………………………线………………………………安徽工业大学工商学院试题纸(一)题号一二三四五六七八九十十一十二十三十四十五十六十七十八十九二十总分得分2008~2009学年第一学期期末考试《汇编语言》试卷(A)一、单项选择题(每题2分,共30分,要求将答案写在答题纸规定的表格中)1、下列哪个不是汇编语言的特点:()A、执行速度快B、可以直接控制硬件C、可以方便地移植D、程序编制耗时2、完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是。
A、MOV AL,00HB、AND AL,00HC、XOR AL,ALD、SUB AL,AL3、设(BL)=5,要使结果(BL)=0AH,应执行指令是。
A、AND BL,0FHB、NOT BLC、XOR BL,0FHD、OR BL,0FH4.把BL中的数据输出到端口8CH中正确指令是()A.OUT8CH,BL B.IN8CH,BLC.MOV AL,BL D.MOV AL,BLOUT8CH,AL IN8CH,AL5、条件转移指令JZ,其测试条件是()A.ZF=1B.ZF=0C.SF=l D.SF=06.设SP初值为3050H,执行指令PUSH BX后,SP的值是()A.304FH B.304EHC.3048H D.3049H7.下列指令执行后影响CF值的是()A.DEC B.XCHGC.LEA D.SHL8.设AL=57H,BL=24H,执行指令SUB AL,BL后,寄存器内容为()A.AL=57H,BL=24H B.AL=33H,BL=24HC.AL=57H,BL=33H D.AL=33H,BL=09.设CL=8,AL=0C8H,执行SAR AL,CL后,AL中的数据是()A.0FFH B.80HC.00H D.0FEH10.已知BX=028AH,SI=0294H,(DS:051EH)=5432H。
2009-2010学年第一学期 计算机科学学院08级(1-4)班《汇编语言程序设计》期末考试卷(B 卷)2、此试卷适用于计算机科学与技术本科专业。
一、填空题(本题共10小题,每个空1分,共20分) 1、汇编语言是一种面向____________的语言,把汇编语言源程序翻译成机器语言目标程序是由____________完成的。
2、当标志位________=1时表示无符号数运算产生溢出,而当标志位________=1是表示带符号数运算产生溢出。
3、在执行串处理指令时,为了使地址自动增量,应执行指令:_______,该指令使得方向标志位_______。
4、调用程序与子程序之间的参数传递方法有_____________、_____________和___________。
5、若要源程序从标号START 开始执行,源程序结束伪指令的格式为__________ 。
6、设(AX)=1000H,(BX)=2340H,则执行了指令CMP AX ,BX 后,CF 标志值为__ __,ZF 标志值为_____。
7、堆栈的栈顶字由 寄存器指出,非栈顶字由 寄存器指出。
——————————————装————————————————订————————————————线————————————————————————————————8、宏指令定义必须由伪指令开始,伪指令结束,两者之间的语句序列称为宏定义体。
9、汇编语言源程序的扩展名是,目标程序的扩展名是,可执行程序的扩展名是。
10、设字节单元(01001H)=12H, (01002H)=45H, (01003H)=78H, 则字单元(01002H)= 。
二、选择题(本题共10小题,每题1分,共10分)1、汇编语言程序要经过()翻译成机器语言后才能执行。
A.汇编程序 B.解释程序 C.编译程序 D.连接程序2、能够表示指令存放地址的是()。
A.符号名 B.变量名 C.标号 D.常量3、一个8086汇编语言源程序最多有()个当前段。
2009-2010学年第一学期 计算机科学学院08级(1-4)班《汇编语言程序设计》期末考试卷(A 卷)
2、此试卷适用于计算机科学与技术本科专业。
一、填空题(本题共10小题,每个空1分,共20分) 1、 将十进制数686化为十六进制是________,将十进制数101化为二进制是________。
2、在指令 MOV AX ,100 中,源操作数的寻址方式为____ ____,目的操作数的寻址方式为____ ____。
3、若DS=0F3EH ,SI=2000H ,COUNT=0A8H ,指令MOV AX ,[SI+COUNT]中,源操作数的有效地址EA 为____ ____,其物理地址为____ ____。
4、汇编语言程序设计有 、 和 等三种基本结构形式。
5、与指令LEA DI ,BUF 等效的指令是____________。
6、语句DA2 DW ‘AB’ 汇编后在DA2字节单元中存放__________,在DA2+1字节单元中存放____________。
7、串指令MOVS 和STOS 指令可与重复操作前缀_____________联用,联用前必须将数据串长度送到____________寄存器中。
8、JMP 指令采用段间间接寻址,那么由4个相邻字节单元中存放有转移地
——————————————
装————————————————订————————————————
线
————————————————————————————————
址,其中前两个字节存放的是________,而后两个字节存放的是________。
9、逻辑运算指令是按进行操作的,指令执行后只设置标志位,不保留结果的逻辑运算指令是。
10、用于表示无符号数大于或等于的条件转移指令是__ ______,用于表示带符号数大于或等于的条件转移指令是_ _______。
二、选择题(本题共10小题,每题1分,共10分)
1、计算机能够直接执行的程序语言是()。
A.汇编语言 B.C++语言 C.机器语言 D.高级语言
2、在汇编过程中不产生指令代码,只用来指示汇编程序如何汇编的指令是()。
A.汇编指令 B.伪指令 C.机器指令 D.宏指令
3、标号和变量都不具有的()属性。
A.段属性 B.偏移属性 C.类型属性 D.操作属性
4、伪指令语句 VAR DW 5 DUP (?)在存储器中分配()个字节给变量VAR。
A.5 B.10 C.15 D.0
5、对于串传送指令MOVSB ,下列说法正确的是( )
A.源操作数来自AL/AX, 目的操作数来自DS:[DI]
B.源操作数来自DS:[SI], 目的操作数来自DS:[DI]
C.源操作数来自DS:[SI], 目的操作数来自ES:[DI]
D.源操作数来自DS:[SI], 目的操作数来自AL/AX
6、下列寄存器中用来指示堆栈中任意数据区的偏移地址的是()
A.BX B.BP
C .SI
D .DI 7、CBW 指令的功能是( )。
A .把源操作数的符号位扩展到目的操作数中 B .把AL 中的符号位扩展到AH 中 C .把AH 中的符号位扩展到AL 中 D .把AX 中的符号位扩展到DX 中 8、设DF=1,每次执行CMPSW 指令时,SI 和DI 均要分别( )。
A .减1 B .减2 C .加1 D .加2 9、设CL=05H ,要获得CL=0AH ,可选用的指令是( )。
A .XOR CL ,0FH B .NOT CL C .OR CL ,0AH D .AND CL ,0FH 10、 DAl DW 2A05H DA2 DB 0FAH MOV AL ,BYT
E PTR DAl SUB DA2,AL 上述指令执行后,DA2中的内容是( )。
A .0DAH B .0FAH C .0F5H D .0D0H
三、是非判断题(是则打“√”,非则打“X ”,每题1分,共10分)
1.[ ]8086/8088内存分段存取,受其内存总量的限制,最多只能分为
16个段来使用。
2.[ ]汇编语言接近于自然语言,易学、易用、通用强。
——————————————
装————————————————订
————————————————
线————————————————————————————————
3.[ ]任意一个程序模块最后一条语句必须是END [地址]。
4.[ ]一个子程序必须有一条RET语句,也可以有多条。
5.[ ]指令执行后的结果为0,则零标志为1。
6.[ ]把若干个模块连接起来成为可执行文件的系统程序是汇编程序。
7.[ ]用指令的助记符、符号地址、标号等符号书写程序的语言成为汇编语言,汇编语言能被计算机直接识别。
8.[ ] 立即数不能直接送段寄存器。
9.[ ]任何存储单元都只有唯一的物理地址。
10.[ ]assume为指令的作用是给段寄存器赋值。
5分,共15分)
1、开发一个汇编程序应经历哪些步骤?(5分)
2、简述指令语句和伪指令语句的区别?(5分)
3、简述DOS 系统功能调用方法,写出在屏幕上显示数字9的指令语句。
(5分)
五、下列指令是否有语法错误,如有错,请指出是什么错误?(每小题2
分,共8分)
1、MOV AX ,10[BX][BP]
2、SAL DH ,2
3、XCHG [SI],10H[DI]
4、MOV CS, AX
六、程序分析题(共2小题,共10分)
1、 MOV AX ,6540H
MOV DX ,3210H
——————————————装————————————————订
————————————————线
————————————————————————————————
MOV CL,04H
SHL DX,CL
MOV BL,AH
SHL AX,CL
SHR BL,CL
OR DL,BL
当上述程序段运行后,(AX)=,
(BL)=,(DX)=。
(每个2分,共6分)2、DAT1 DB 12H,34H,56H,78H
┇
MOV CX,0
MOV AX,WORD PTR DAT1
MOV CL,DAT1+3
当程序段执行完后AX=________;CX=________。
(每个2分,共4分)
七、程序填空题 (共2小题,每题6分,共12分)
1、下面定义一个过程,实现从键盘输入一个0~9之间的字符,并将其变成数值放入AL中,请将程序段补充完整。
(6分)
INCHAR PROC NEAR
MOV AH,1
(1)
CMP AL,‘0’
(2)
CMP AL,‘9’
JA EXIT
AND AL,0FH EXIT: (3)
INCHAR ENDP 2、内存缓冲区BUF1有10个字节数据,用下面的程序段求出这10个数的平均值,并存储于字节变量RESULT 中,请将程序段补充完整。
MOV AX ,0 LEA BX ,BUF1 MOV CX ,10 LOP1: (1) INC BX (2) MOV DL ,10 IDIV DL (3) HLT
1小题6分,第2小题9分,共15分) 1、试编制一程序段,把2个非压缩BCD 码组合为一个压缩BCD 码,并存入DA3中。
(6分) DA1 DB XXH ;低位非压缩BCD 码
DA2 DB XXH ;高位非压缩BCD 码
DA3 DB ?
——————————————
装————————————————订————————————————
线
————————————————————————————————
...
2、编写一个计算100个正整数之和的完整程序。
如果和不超过16位字的范围(65535),则保存其和到wordsum,如超过则显示‘overflow’。
(9分)。