汇编语言期末试题
- 格式:doc
- 大小:85.50 KB
- 文档页数:7
汇编语言期末试题及答案一、选择题(每题2分,共20分)1. 以下哪个指令用于将数据从内存加载到寄存器中?A. MOVB. CMPC. JMPD. CALL答案:A2. 在汇编语言中,以下哪个指令用于实现无条件跳转?A. JZB. JCC. JMPD. JS答案:C3. 假设当前数据段的偏移地址是1000H,那么以下哪个地址是有效的内存地址?A. 1000HB. 2000HC. 3000HD. 4000H答案:B4. 在汇编语言中,以下哪个寄存器用于存储当前指令的偏移地址?A. AXB. BXC. IP答案:C5. 假设AL寄存器的值为0F6H,执行指令AND AL, 0F0H后,AL寄存器的值是多少?A. 0F0HB. 0F6HC. 0F0HD. 00H答案:D6. 以下哪个指令用于将一个字节的值从寄存器移动到内存?A. MOVB. MOVSC. MOVZXD. MOVSX答案:A7. 在汇编语言中,以下哪个指令用于实现循环操作?A. LOOPB. JZC. JMPD. CALL答案:A8. 假设CS寄存器的值为1000H,IP寄存器的值为0100H,那么当前指令的物理地址是多少?A. 10000HB. 10100HC. 11000HD. 11100H9. 在汇编语言中,以下哪个指令用于实现子程序的调用?A. JMPB. CALLC. RETD. INT答案:B10. 假设DX寄存器的值为1234H,执行指令SHL DX, 1后,DX寄存器的值是多少?A. 2468HB. 1234HC. 0468HD. 0234H答案:A二、填空题(每题2分,共20分)1. 汇编语言中,指令MOV AX, [BX]表示将_________的值移动到AX寄存器中。
答案:BX寄存器指向的内存地址2. 汇编语言中,指令PUSH AX表示将AX寄存器的值压入_________。
答案:堆栈3. 汇编语言中,指令POP BX表示将堆栈顶的值弹出到_________寄存器中。
汇编语言期末试卷一、单项选择题(每小题1分,共10分)1、十进制数269变换为十六进制数是(C)。
(A)10B (B)10C (C)10D (D)10E2、指令mov 100[si][bp],ax目标操作数的隐含段为(B)。
(A)数据段(B)堆栈段(C)代码段(D)附加段3、以下语句汇编后,CENTH的值是(C)buf1 dw 8,19buf2 db 6,'abc$',10 dup('5')CENTH equ buf2—buf1A.14B.8C.4D.174、若栈顶物理地址为20100H,当执行完指令PUSH AX后,栈顶的物理地址为(D)。
(A)20102H (B)20101H (C)200FFH (D)200FEH5、执行下列指令后,正确的结果是(B )。
MOV AL,100MOV BL,-2(A)AL=100H,BL=02H (B)AL=64H,BL=0FEH(C)AL=64H,BL=82H (D)AL=100H,BL=0FEH6、假定AX的内容为-32768,在执行了指令NEG AH后,标志位(SF,OF)为(D )。
(A)0,0 (B)0,1 (C)1,0 (D)1,17、设AL=0B4H,BL=11H,指令“MUL BL”和指令“IMUL BL”分别执行后OF,CF的值为(B)。
(A)OF=1,CF=0 (B)OF=1,CF=1 (C)OF=0,CF=0 (D)OF=0,CF=18、当A≥B时转移的条件转移指令为(A,B为带符号数)(D )。
(A)JA (B)JAE (C)JG (D)JGE9、完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是(A)。
(A)MOV AL,00H (B)AND AL,00H(C)XOR AL,AL (D)SUB AL,AL10、已知CALL BX执行前SP=100H,执行后SP的内容为(D )。
(A)100H (B)102H (C)98H (D)0FEH二、填空题(每空1分,共10分)1、(00101011)B+(13)D+(1B)H=(123 )Q2、IBM PC机内存容量最大为(1M )B,要寻找这样大的空间,需要()根地址线。
汇编语言期末考试试题一、选择题(每题2分,共20分)1. 在汇编语言中,以下哪个指令用于将立即数或常量值送入寄存器?A. MOVB. ADDC. SUBD. MUL2. 汇编语言中的指令MOV AX, BX等价于以下哪个高级语言语句?A. AX = BXB. AX + BXC. AX - BXD. AX * BX3. 以下哪个指令用于将内存中的数据传送到寄存器?A. MOV AX, [BX]B. MOV [BX], AXC. ADD AX, [BX]D. SUB AX, [BX]4. 在汇编语言中,哪个指令用于实现无符号数的比较?A. CMPB. TESTC. JZD. JE5. 下列哪个指令用于实现条件跳转?A. JMPC. RETD. INT6. 汇编语言中的循环结构通常使用哪个指令来实现?A. LOOPB. JUMPC. JZD. JE7. 在汇编语言中,哪个指令用于实现子程序的调用?A. MOVB. CALLC. RETD. INT8. 汇编语言中的段寄存器CS用于存储什么?A. 数据B. 指令C. 代码段地址D. 堆栈地址9. 汇编语言中的指令PUSH AX和POP AX分别用于什么?A. 将AX寄存器的内容压入堆栈B. 将AX寄存器的内容弹出堆栈C. 将AX寄存器的内容加到堆栈D. 将AX寄存器的内容减去堆栈10. 在汇编语言中,哪个指令用于实现中断调用?A. INTB. IRETD. STI二、简答题(每题5分,共10分)1. 解释汇编语言中的立即寻址方式和直接寻址方式的区别。
2. 描述汇编语言中如何实现一个简单的加法程序。
三、编程题(每题15分,共30分)1. 编写一个汇编程序,实现将AX寄存器中的值与BX寄存器中的值相加,并将结果存储在CX寄存器中。
2. 设计一个汇编程序,实现从键盘接收一个字符,然后将其转换为ASCII码对应的十进制数值,并显示在屏幕上。
四、综合应用题(每题40分)编写一个汇编程序,实现一个简单的文本编辑器功能。
汇编期末考试题及答案试题:汇编期末考试题一、选择题(每题2分,共20分)1. 汇编语言中,用于定义常量的指令是:A. EQUB. DBC. DWD. DD2. 下列哪个指令用于将立即数送入累加器:A. MOV AX, 5B. MOV AL, 5C. MOV [100], 5D. MOV AX, [100]3. 在汇编语言中,哪个指令用于将数据从内存传送到寄存器:A. MOV AX, [BX]B. MOV [BX], AXC. MOV AX, BXD. MOV BX, AX4. 汇编语言中的循环结构通常使用以下哪个指令来实现:A. LOOPB. JUMPC. CMPD. RET5. 以下哪个指令用于将寄存器的内容清除为0:A. XOR AX, AXB. MOV AX, 0C. CLR AXD. SET AX, 06. 在汇编语言中,用于计算两个寄存器内容的和并存储结果的指令是:A. ADD AX, BXB. MOV AX, BXC. SUB AX, BXD. CMP AX, BX7. 下列哪个指令用于设置中断向量表:A. MOV AX, [100H]B. MOV [100H], AXC. MOV AX, @DATAD. MOV @DATA, AX8. 在汇编语言中,哪个指令用于无条件跳转:A. JMPB. JEC. JNED. JZ9. 汇编语言中,用于将寄存器的内容与立即数进行比较的指令是:A. CMP AX, BXB. MOV AX, BXC. ADD AX, BXD. SUB AX, BX10. 下列哪个指令用于将累加器的内容输出到屏幕上:A. OUT 0E0H, ALB. MOV AL, 0E0HC. MOV DX, 0E0HD. MOV AX, 0E0H二、简答题(每题5分,共20分)1. 解释汇编语言中的段寄存器的作用。
2. 描述汇编语言中堆栈的工作原理。
3. 解释汇编语言中的宏定义和条件编译指令。
汇编语言期末考试试题汇编语言期末考试试题汇编语言作为计算机科学专业的一门重要课程,对于学生来说是一项必修课程。
期末考试是对学生所学知识的综合考核,下面将为大家提供一些汇编语言期末考试试题,希望对大家复习和备考有所帮助。
一、选择题1. 汇编语言是一种低级语言,它与高级语言相比的主要优势是:A. 代码简洁易懂B. 可以直接操作硬件C. 可以实现更高的性能D. 更易于调试和维护2. 在汇编语言中,用于表示寄存器的符号是:A. #B. $C. @D. %3. 在8086汇编语言中,用于表示立即数的符号是:A. #B. $C. @D. %4. 在汇编语言中,用于表示寄存器间接寻址的符号是:A. []B. ()C. {}D. <>5. 在汇编语言中,用于表示寄存器的通用寄存器是:A. AXB. BXC. CXD. DX二、填空题1. 8086汇编语言中,用于将立即数存储到寄存器中的指令是________。
2. JMP指令用于实现无条件跳转,其操作码是________。
3. MOV指令用于将数据从源操作数传送到目的操作数,其操作码是________。
4. 在8086汇编语言中,用于将数据存储到内存中的指令是________。
5. 在汇编语言中,用于表示标号的符号是________。
三、编程题请编写一个8086汇编语言程序,实现将一个数组中的所有元素相加,并将结果存储在指定的寄存器中。
解答:```DATA SEGMENTARR DB 1, 2, 3, 4, 5LEN EQU $-ARRSUM DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART:MOV AX, DATAMOV DS, AXMOV CX, LENMOV SI, 0MOV AL, 0ADD_LOOP:ADD AL, ARR[SI]INC SILOOP ADD_LOOPMOV SUM, ALMOV AH, 4CHINT 21HCODE ENDSEND START```本程序首先定义了一个数据段,其中包括一个数组ARR和数组长度LEN,以及一个用于存储结果的寄存器SUM。
汇编语言a期末考试试题及答案汇编语言A期末考试试题及答案一、选择题(每题2分,共20分)1. 以下哪个指令用于将立即数加载到寄存器中?A. MOVB. ADDC. SUBD. JMP答案:A2. 在汇编语言中,哪个指令用于将一个寄存器的内容复制到另一个寄存器?A. MOVB. PUSHC. POPD. CMP答案:A3. 假设CS:IP指向当前执行的指令,那么DS:SI指向的是?A. 源地址B. 目的地址C. 下一条指令D. 前一条指令答案:A4. 以下哪个指令用于将一个字节的值从内存加载到寄存器?A. MOVC. MOVZXD. MOVSX答案:A5. 在汇编语言中,哪个指令用于比较两个寄存器的值?A. CMPB. TESTC. ANDD. OR答案:A6. 假设AL寄存器的值为0x0F,执行指令SHL AL, 1后,AL的值是多少?A. 0x0EB. 0x1EC. 0x07D. 0x1F答案:B7. 在汇编语言中,哪个指令用于无条件跳转到指定的地址?A. CALLB. JMPC. RETD. INT答案:B8. 以下哪个指令用于将寄存器的内容推送到堆栈中?A. PUSHB. POPC. CALL答案:A9. 假设CF标志位为1,执行指令RCL AX, 1后,AX的值会如何变化?A. 左移一位B. 右移一位C. 循环左移一位D. 循环右移一位答案:C10. 在汇编语言中,哪个指令用于将一个字节的值从寄存器移动到内存?A. MOVB. MOVSC. MOVZXD. MOVSX答案:A二、填空题(每题4分,共20分)1. 在汇编语言中,指令MOV AX, 1234H的结果是将____值加载到AX寄存器中。
答案:1234H2. 指令PUSH AX的作用是将AX寄存器的内容压入到____中。
答案:堆栈3. 指令AND AX, BX的结果是将AX和BX寄存器的值进行____操作。
答案:逻辑与4. 指令JMP 0100H的作用是跳转到内存地址____执行指令。
汇编语言期末复习题一、单项选择题1.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区第一个字单元的物理地址是()。
A.12B5BH B.12B6BH C.12C59H D.12BFEH2.在IN AL,PORT指令中,PORT称为()。
A.立即数B.有效地址 C.端口地址 D.寄存器名3.在下列指令的中,不能实现把AX寄存器内容清零的指令是()。
A.SUB AX,AX B.XOR AX,AXC.OR AX,0000H D.AND AX,0000H4.条件转移指令JNE的测试条件为()。
A.ZF=0B.CF=0C.ZF=1D.CF=15.8086CPU在基址加变址的寻址方式中,变址寄存器可以为()。
A.BX或CX B.CX或SIC.DX或SI D.SI或DI6.设(AX)=1000H,NEG AXNOT AX执行上述两条指令后,正确的结果是()。
A.(AX)=1001H B.(AX)=0FFFH;C.(AX)=1000H D.(AX)=0111H。
7.串指令中的目的操作数地址一定是由()提供。
A.ES:[DI]B.SS:[BP]C.DS:[SI]D.CS:[IP]8.将DX的内容除以2,正确的指令是()。
A.DIV 2 B.DIV DX,2C.SAR DX,1D.SHL DX,19.用户为了解决自己的问题,用汇编语言所编写的程序,称为()。
A.目标程序B.汇编语言源程序C.可执行程序D.汇编程序10.用一条指令仅实现将AX←BX+SI的方法是()。
A.XCHG AX,[BX][SI]B.MOV AX,[BX+SI]C.LEA AX,BX[SI]D.LEA AX,[BX][SI]11.设SP初值为2000H,执行指令“PUSH AX”后,SP的值是()。
A.1FFFH B.1998H C.1FFEH D.2002H12.一个字为()位二进制数。
A.8位B.16位C.32位D.64位13. 下列四个寄存器中,可作为八位寄存器的是()。
汇编语言期末试卷及答案一、单项选择题1、CPU发出的访问存储器的地址是(A)。
A.物理地址B.偏移地址C.逻辑地址D.段地址2、下列指令中操作数在代码段中的是(A)。
A.MOV AL,42HB.ADD AL,BLC.SUB [BX],DID.INC [DI]3、与MOV BX,OFFSET VAR指令完全等效的指令是(D)。
A.MOV BX,VARB.LDS BX,VARC.LES BX,VARD.LEA BX,VAR4、表示过程定义结束的伪指令是(A)。
A.ENDPB.ENDSC.ENDD.ENDM5、BUF1 DB 3 DUP(0,2 DUP(1,2),3)COUNT EQU $ - BUF1符号COUNT等价的值是(B )。
A.6B.18C.16D.86、下列寄存器中,作为16位寄存器的是(D)。
A. ALB. BLC. CHD.DX7、在程序运行过程中,确定下一条指令的物理地址的计算表达式是(C)。
A.DS*16+SIB. ES*16+DIC. CS*16+IPD. SS*16+SP8、物理地址(10FF0H )=10H,(10FF1H )=20H,(10FF2H )=30H,从地址10FF1H中取一个字的内容是(B)。
A.1020HB.3020HC.2030HD.2010H9、将AX 清零,下列指令错误的是(C)。
A.SUB AX,AXB.XOR AX,AXC.OR AX,00HD.AND AX,00H10、完成同指令XCHG AX,BX相同功能的指令或指令序列是(D)。
A. MOV AX,BXB. MOV BX,AXC. PUSH AXD. MOV CX,AXPOP BX MOV AX,BXMOV BX,CX11、JMP BX 的目标地址的偏移量为(A)。
A. BX 的内容B. BX 所指向的内存单元的内容C. IP + BX 的内容D. IP + [BX]12、可用作寄存器间接寻址或基址、变址寻址的地址寄存器,正确的是(D)。
1. 十进制数369转换成二进制数为(101110001)2,转换成十六进制数为(171)16.2. 计算机中的指令由(操作码)和(地址码)两部分组成。
3. 8086的地址总线有20根,寻址范围为(1M )字节。
4. 下一条将要执行的指令的地址存放在寄存器(指令指针寄存器)中。
5. 写出IBM PC机的三种子程序返回的指令(RET), (IRET),(IRETD)。
6. 汇编语言源程序需经过(汇编)程序汇编,(连接)程序连接才能生成可执行文件。
7. 存储器某单元的地址表示为2314H:4132H,则它的偏移地址=(4132),物理地址=(27272H)8. REP指令前缀与(字符串)指令配合使用。
9. 在显示器上查看和修改内存单元的内容可以使用DEBUG的(D )和(E )命令。
10. (AL)=BFH,要求屏蔽第0,1两位,则要执行指令(AND AL,3F );如果要求第0,1位变反,可使用指令(XOR AL,3F )11. 宏汇编适合于(程序短),(参数多)的子功能段使用;二、选择题1. 设字长N=16,有符号数7AE9H的补码表示为( D )A.9EA7H B. 76C4H C. 8417H D. 7AE9H2. 比较有符号数3260H与0B425H的大小关系为( C )A. 相等B. 小于C. 大于D. 不能比较3. 指令JMP WORD PTR [BX][DI]中转移的目标地址为( A )A.16 d x(DS)+(BX)+(DI) B.16d x(ES)+(BX)+(DI)C.16d x(SS)+(BX)+(DI) D.16d x(CS)+(BX)+(DI)4. 在指令MOV AX,[1000H]中,源操作数的寻址方式为( B )A.立即寻址 B.直接寻址 C.段内间接寻址 D.寄存器寻址5. 中断矢量表中存放的是( D )A. 中断类型号B. 断点地址C. 中断服务程序D. 中断服务程序入口地址6. 8086 的汇编语言指令系统中的条件转移指令可以使程序转移到( A )A. 段内的任何地方B. 距该指令偏移地址为-32768~+32767的地方C. 距该指令偏移地址为-128~+127的地方.D. 段外7. 能定义ASCII码字符串的数据定义语句有( D )A. DB,DW,DD,DQ,DTB. DB,DW,DDC. DB, DWD. DB;8. 若(AL)=87H,执行ADD AL,0F5H后,S,Z,C,O,P的状态为( C )A.SF=0,ZF=0,CF=1,OF=1,PF=0 B.SF=1,ZF=0,CF=1,OF=0,PF=1C.SF=0,ZF=0,CF=0,OF=1,PF=0 D.SF=1,ZF=0,CF=1,OF=1,PF=19. 比较指令CMP( D )A. 专用于有符号数比较B. 专用于无符号数比较C. 专用于串比较D. 不区分比较的对象是有符号数还是无符号数10. 数据传送指令对标志位的影响为( D )A.都不影响; B.都影响;C.除了SAHF,POPF,其它均不影响. D.除了控制标志位,其它均不影响三、判断题( )31. 段间调用的子程序必须由伪操作FAR说明为远过程。
汇编语言模拟试题及答案一,单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题1分,共20分)1.指令JMP FAR PTR DONE属于参考答案为:CA.段内转移直接寻址B.段内转移间接寻址C.段间转移直接寻址D.段间转移间接寻址[解析]略2.下列叙述正确的是参考答案为:CA.对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMPS指令B.对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CMP指令C.对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/JNL 指令D.对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/JNB 指令[解析]对于无符号数和有符号数的比较都采用CMP指令;CMPS指令是串比较指令;对两个无符号数的条件转移指令应是:JAE、JNB、JBE、JNA;对两个有符号数的条件转移指令应是:JGE、JNL、JLE、JNG。
3.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是参考答案为:CA.12CSBHB.12B6BHC.12C59HD.12BFEH[解析]末字与首字相隔(128-1=)127个字,且每个字占用2个字节,因此末字单元的物理地址应为:首字单元的物理地址+(128-1)×2即 12ABH×10H+00ABH+(128-1)×2=12C59H。
4.在下列指令的表示中,不正确的是参考答案为:CA.MOV AL,[BX+SI]B.JMP SHORT DONIC.DEC [BX]D.MUL CL[解析]当只有一个存储器操作数时,这个操作数的类型不明确,例如选项C中的[BX],没有明确的说明访问该存储单元的类型,此时存储器操作数就必须需用类型说明,如DEC BYTE PTR [BX] 或 DEC WORD PTR [BX]但是在题目的选项C中,没有指出存储器操作数类型,所以该指令是不正确的;而其它选项中的指令均是正确的。
西北民族大学计算机科学与信息工程学院期末考试汇编语言试卷(A卷)专业: 课程代码:学号: 姓名:一、单项选择题(在每小题的四个备选答案中,选出一个正确Array的答案,并将其代码填入题干后的括号内。
每小题1分,共20分)1.计算机中为便于存储及计算机的物理实现,采用( A )A.二进制数B.十进制数C.八进制数D.十六进制数2.为了区别不同数制的数,通常用字母( A )表示二进制数A.BB.EC.FD.S3.在86系列的CPU中,访问I/O设备采用( B )方式A.统一地址B.独立地址C.混合地址D.直接地址4.表示串操作方向的是( D )A.AFB.IFC.CFD.DF5.存储器分段时表示偏移地址是18位二进制代码,则一个段最多有( B )A.128KBB.256KBC.512KBD.1MB6.保存当前栈顶偏移地址的寄存器是( A )A.SPB.BPC.IPD.SS7.栈顶物理地址为24600H,执行完PUSH DX指令后,栈顶的物理地址为( D )A. 24602HB. 24601HC.245FFHD.245FEH8.伪指令在程序( B )阶段被处理A.编写B.汇编C.连接D.运行9.指令MOV AX,[BP]采用的寻址方式是( B )A.寄存器寻址B.间接寻址C.变址寻址D.直接寻址10.一个完整、独立的汇编语言源程序可以没有( C )伪指令A.段定义B.存储模式定义C.程序开始D.程序结束汇编语言试卷第1页(共7页)11.取指令操作的默认地址是( A )A.CS:IPB.DS:SIC.ES:DID.SS:SP12.在非串操作指令中用BX或DI作为基址时默认段地址是( B )A.CS,不可用段超越B.DS,可用段超越C.ES,不可用段超越D.SS,可用段超越13.MOV AX,[DI]取得内存操作数由( D )执行A.ALUB.EUC.地址加法器D.BIU14.JMP NEAR PTR [BX]使用( A )段寄存器A.CS,DSB.DS,ESC.ES,SSD.DS,SS15.从功能上看,不引起非顺序执行的指令有( D )A.RETB.CALLC.INTD.SCASB16.响铃符的ASCII编码为( D )A.0DHB.0AHC.20HD.07H17.操作系统1号功能调用输入的字符存放在( B )寄存器中A.AHB.ALC.DHD.DL18.不能作为汇编语言中标号的有( C )A._A_B.@6C.AAAD.?DB?19.可能改变标志寄存器的值的指令有( D )A.LODSBB.LODSWC.POPD.POPF20.在small内存模式中,如果参数采用栈方式传递,在被调用过程中取得倒数第2个调用参数可使用( D )A.[BP]B.[BP+2]C.[BP+4]D.[BP+6]二、填空题(每空1分,共20分)1. 2D 1272. CPU(或中央处理器)内存 I/O子系统(或输入/输出子系统)3. 注释4. 3017A5. ADD AL,[BX][SI]6. SI+1000H7. AX 8.659.汇编结束伪指令10.汇编阶段11.等号(或=)12.操作系统13.1024(或400H)14.64K(或65536,10000H,216)15.0FFFF0H(或FFFF:0000)16.41H、42H 17.从右到左汇编语言试卷第2页(共7页)1.二进制数101101转换为十六制数是 2D ,二进制数1111111转换为十进制数是 127 。
2.从微处理器的角度来看,计算机结构可分为 CPU 、内存和 I/O子系统三个主要部分。
3.汇编语言源程序中的每个语句由4部分组成,分别是:名字、操作码助记符、操作数和注释。
4.在实模式下,地址3017H:000AH存储单元的物理地址是3017A 。
5.把地址为BX+SI的存储单元中的数据与AL中的数值相加,结果存入AL的指令为ADD AL,[BX][SI] 。
6.指令“MOV DL,1000H[SI]”中源操作数的地址是 SI+1000H 。
7.执行“MUL BL”之后,积存放在 AX 中。
8.若二进制值01000001表示无符号数,其值为__65__。
9.汇编语言程序的最后一条指令是___汇编结束伪指令___。
10.MOV AX,3*4中的乘法是在__汇编阶段__计算的。
11.可以修改其值的定义符号常量的伪指令是__等号__伪指令。
12.MOV AX,@DATA中AX的值是由___操作系统___在程序运行之前传过来的。
13..STACK伪指令默认分配__1024__字节的栈空间。
14.在8086中,一个逻辑段最长为__64K _字节。
15.8086CPU加电后执行的第一条指令的物理地址为__0FFFF0H __。
16.DB ‘AB’定义了2个字节,在内存中的16进制代码按顺序为__41H、42H _。
17.调用C语言函数时参数的进栈顺序是___从右到左__。
三、给出能实现指定功能的程序片段。
(每小题1分,共12分)1.将寄存器AX置0XOR AX,AX2.将寄存器AL内容送到DL中MOV DL,AL3.将寄存器BX内容送到内存单元[7C01H]中MOV [7C01H],BX4.将寄存器DX内容加上BX的内容,结果送到DX中ADD DX,BX汇编语言试卷第3页(共7页)5.将寄存器CX内容加上立即数0A000H,结果送到CX中ADD CX, 0A000H6.将寄存器AX内容减去0B800H,结果送到AX中SUB AX,OB800H7.将寄存器AL的D6,D5,D1位清零ADD AL,01100010B8.将寄存器DX:AX的内容除以内存DS:[4920H]的内容DIV WORD PTR [4920H]9.将寄存器AL的内容乘BL的内容,结果送到BX寄存器MUL BLMOV BX,AX10.若AX为零则转向短标号SLABELOR AX,AXJZ SLABEL11.将AX的一个字输出到端口3D9HMOV DX,3D9HOUT DX,AX12.操作系统1号功能调用(输入一个字符)MOV AH,1INT 21H四、判断题(认为对的,在题后的括号内打“√”,认为错的打“×”。
每小题1分,共14分)汇编语言试卷第4页(共7页)1.POP CS ( 0 )2.MOV AH,BH ( 1 )3.MOV DS,BX ( 1 )4.MOV AX,[SP+2] ( 0 )5.PUSH AH ( 0 )6.MOV CX,AX ( 1 )7.LEA BX,SI ( 0 )8.MUL AX,12H ( 0 )9.MOV SP,BP ( 1 )10.JMP [BX] ( 0 )11.ADD AL,10000B ( 1 )12.AND DS,0FH ( 0 )13.REPE MOVSB ( 1 )14.STD ( 1 )五、简答题(每小题5分,共10分)1.简述PC最低1M主存空间的使用情况;最低1M主存空间从低地址到高地址可分为4个区段:基本RAM区(0-9FFFFH):共640K,由操作系统管理;保留的显示RAM区(A0000H-BFFFFH):共128K,由显示部件使用;I/O扩展ROM区(C0000H-DFFFFH):共128K,由扩展ROM使用;系统ROM区(E0000H-FFFFFH):共128K,由BIOS使用。
2.简述用缺省方式和Turbo C及Turbo Assember实现时,在C语言程序中调用汇编语言子程序时程序中需要注意哪些方面?汇编语言试卷第5页(共7页)汇编语言试卷第6页(共7页)六、程序填空题(每空1分,共12分)设X 、Y 为WORD 型变量。
理解以下程序,填写空白。
1. 计算Y=|X|①TEST AX , ② ③ NEG AXPOS :MOV ④ , ⑤2. 调用子程序SR1计算两个无符号字节参数84和96的乘积,将计算结果存入变量Y中。
SR1 PROC NEAR PUSH BP MOV BP ,SPMOV AL , 81① MOV BL , 91 ② MUL BL③ ④ SR1 ENDPSTART :MOV AX , ⑤ PUSH AX MOV AX ,94 PUSH AX⑥MOV [Y], ⑦七、程序设计题(每题6分,共12分)1. 编写一个函数过程,将高2位在AX 中、低2位在BX 中用ASCII 码表示的4位十进制数转换为16位二进制数存放在AX 中;2.设程序开头几行为:.model large.stack 512.dataweight DQ ?fmtstr DB ‘weight=’其中变量weight表示一个64位的双精度浮点型变量,可调用外部无参数远过程getValue计算出变量weight的值,需要调用C语言的格式输出函数printf输出weight变量的值。
写出该程序的后续部分,使之程序一个完整的程序。
汇编语言试卷第7页(共7页)。