汇编语言程序设计第03次作业
汇编语言程序设计第03次作业

汇编语言程序设计第03次作业1、已知一数据段中的数据定义如下:DATA SEGMENTSTR1 DB 0,1,2,3,4,5STR2 DB ‘012345’COUNT EQU 30NUMB DB 3 DUP(2)NUMW DW 10H,-60HPOIN DW 0DATA ENDS根据以上数据段的定义,改正下列语句中的错误。
(1) MOV AX,STR1(2) MOV BP,OFFSET STR2MOV CL,[BP](3) MOV SI,OFFSET NUMBMOV [SI],’+’(4) MOV DL,NUMW+2(5) MOV DI,CH(6) MOV BX,OFFSET STR1MOV DH,BX+3(7) INC COUNT(8) MOV NUMB,STR2(9) LEA POIN,NUMW2、已知下列数据段定义:DATA SEGMENTNUM DW 10,20,30,40,50BUF DW 3DATA ENDS执行下列程序后,AX中的值是多少?MOV AX, SEG NUMMOV DS, AXMOV BX, OFFSET NUMADD BX, BUFMOV AX, [BX]3、设程序中数据的定义如下:NO DW ?NAME DB 16 DUP(0)COUNT DD ?LENGTH EQU $-NO请问LENGTH的值为多少?表示什么意义?4、已知数据段有如下定义:FIRST DB 12H,34HSECOND DB 56H,78H用堆栈指令编一段程序实现将FIRST和SECOND单元的内容互换,FIRST+1和SECOND+1单元的内容互换。
5、设数据段中有10个8位无符号数,定义如下(实际数据编程时可随机设置):NUM DB 19,250,88,42,60,77,39,100,91,2编写完整的汇编语言程序,找出这组数据中的最大数、最小数,同时计算平均值(取整),以十六进制的形式显示在屏幕上:MAX=??HMIN=??HAVG=??H要求给出实际调试运行过的代码,并在Word文档中给出运行结果的屏幕截图。
北航《汇编语言》在线作业三满分答案

北航《汇编语言》在线作业三一、单选题(共 15 道试题,共 60 分。
)1. PSW寄存器中共有( )位条件状态位,有( )位控制状态位。
A. 6、3B. 3、6C. 8、4D. 4、8-----------------选择:A2. 若X补=11111,则其十进制真值为A. -31B. -15C. -1D. 31-----------------选择:C3. 使用DOS系统功能调用时,使用的软中断指令是()A. INT 21B. INT 10HC. INT 16HD. INT 21H-----------------选择:D4. AND,OR,XOR,NOT为四条逻辑运算指令,下面的解释正确的是()A. 指令XOR AX,AX执行后,AX内容不变,但设置了标志位B. 指令OR DX,1000H执行后,将DX最高位置1,其余各位置0C. 指令AND AX,OFH执行后,分离出AL低四位D. NOT AX,执行后,将AX清0-----------------选择:C5. 无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的指令是A. ADD BH,01HB. OR BH,01HC. XOR BH,01HD. TEST BH,01H-----------------选择:B6. OR AL,AL是( )操作指令。
A. 异或B. 加法C. 右移D. 逻辑或-----------------选择:D7. 某存储单元的物理地址是12345H,可以作为它的段地址有()A. 2345HC. 12340HD. 1234H-----------------选择:D8. 原码乘法是A. 用原码表示操作数B. 被乘数用原码表示,乘数取绝对值,然后相乘C. 乘数用原码表示,被乘数取绝对值,然后相乘D. 先取操作数绝对值相乘,符号位单独处理-----------------选择:D9. 在汇编语言程序中,对END语句的叙述正确的是()A. END语句是一可执行语句B. END语句表示程序执行到此结束C. END语句表示源程序到此结束D. END语句在汇编后要产生机器码-----------------选择:C10. 在执行DAA指令,当高四位BCD码校正时产生进位,如要把此进位值送入AH中,对这进位值的操作应是()A. DAA校正指令的功能已自动加在AH中B. 进位值在AF中,校正后根据AF内容再加在AH中C. 进位值在CF中,校正后根据CF内容再加在AH中D. 进位值在AL最高位上,校正后根据AL最高位内容再加在AH中-----------------选择:C11. 计算机能直接识别并执行的语言是( )A. 汇编语言B. 机器语言C. 高级语言D. 低级语言-----------------选择:B12. 设AH=0,AL=06H,BL=09H,执行指令 ADD AL,BL AAA 之后,其结果应是()。
汇编语言(专升本)阶段性作业3

8. MOV AL,79 ;ADD AL,0B1H上面指令执行后,设置的标志位CF和OF的值是_______。 (4分) (A) CF=0,OF=1 (B) CF=1,OF=1 (C) CF=0,OF=1 (D) CF=1,OF=0
参考答案:D
9. 检查BUF的内容是否为正偶数,如是正偶数,则AL=0,下面程序段正确的是_______。(4分)
参考答案:A
30. 下列指令执行后总是使CF=0,OF=0的是_______。(3分)
(A) AND
(B) NEG
(C) NOT
参考答案:A
(D) INC
第3/3页
(C) 1兆个字节
参考答案:D
(D) 64K个字节
4. CPU发出的访问存储器的地址是_______。(4分)
(A) 物理地址
(B) 偏移地址
(C) 逻辑地址
参考答案:A
(D) 段地址
5. BUF DW 10H DUP(3 DUP(2,10H),3,5)_______。(4分)
(A) 80H
(B) 100H
[2020年春季]
姓名 学号 学习中心 专业 年级 考试时间
汇编语言(专升本)阶段性作业3
总分: 100 分 得分: 0 分
一、单选题
1. 指令JMP FAR PTR DONE属于( 1 )。(4分) (A) 段内转移直接寻址 (B) 段内转移间接寻址 (C) 段间转移直接寻址 (D) 段间转移间接寻址
(A) NUM1=0,NUM2=0 (C) NUM1=0FFH,NUM2=0
(B) NUM1=0,NUM2=0FFH (D) NUM1=0FFH,NUM2=0FFH
参考答案:D
IBM-PC汇编语言程序设计第三章习题详解答案

IBM-PC汇编语言程序设计第三章习题详解答案IBM-PC汇编语言程序设计第三章习题详解答案第三章答案1-20=================================1.已知(BX)=637DH,(SI)=2A9BH,位移量D=7237H,确定在以下各种寻址方式下的有效地址是什么(1)立即寻址没有(2)直接寻址 7237H(3)使用BX的寄存器寻址没有(4)使用BX的间接寻址 637DH(5)使用BX的寄存器相对寻址 0D5F0H(6)基址变址寻址 8E18H(7)相对基址变址 004FH2.试根据下列要求,写出相应的汇编指令.(1)ADD DX,BX(2)ADD AL,[BX][SI](3)ADD [BX][0B2H], CX(4)MOV AX,2A59HADD [0524H] ,AX(5)ADD AL ,0B5H3.写出把首地址为BLOCK的字数组的第6个字送到DX寄存器的指令。
要求使用以下几种寻址方式。
(1)寄存器间接寻址MOV BX,OFFSET [BLOCK][0AH] 或 LEA BX,BLOCK+0AHMOV DX ,[BX] MOV DX ,[BX](2)寄存器相对寻址MOV SI,OAH 或 LEA BX,BLOCKMOV DX,[BLOCK][SI] MOV DX,[BX+0AH](3)基址变址寻址MOV BX ,BLOCKMOV SI,OAHMOV DX,[BX][SI]4.现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100)=12H,(20101)=34H ,(20102)=56H,(20103)=78H,(21200)=2AH,(20201)=4CH,(21202) =B7H,(21203)=65H,试说明下列各条指令执行完后,AX寄存器的内容.(1)MOV AX,1200H 1200H(2)MOV AX,BX 0100H(3)MOV AX,[1200] 4C2AH 注意,是字单元!(4)MOV AX,[BX] 3412H 注意,是字单元!(5)MOV 1100[BX] 4C2AH(6)MOV AX,[BX][SI] 7856H(7)MOV AX,1100[BX][SI] 65B7H5.给定(IP)=2BC0H,(CS)=0200H,位移量D=5119H,(BX)=1200H,(DS)=212AH,(224A0)=0600H(1)段内直接寻址 7CD9H(2)使用BX及寄存器间接寻址方式的段内间接寻址 1200H(3)使用BX及寄存器相对寻址方式的段内间接寻址 6319H6.设当前数据段寄存器的内容为1B00H,在数据段的偏移地址2000H单元内,含有一个内容为0FF10H和8000H单元的指针,它们是一个16位变量的偏移地址和段地址,试写出把该变量装入AX的指令序列,并画图表示出来.MOV BX,2000HLES DI ,[BX]MOV AX, ES:DI7.在0024单元内有一条二字节指令JMP SHORT OBJ,如其中位移量为(1)27H,(2)6BH,(3)0C6H,试问转向地址OBJ的值分别为多少?(1)064DH (2)0691H (3)05E0H8.假定(DS)=2000H,(ES)=2100H,(SS)=1500H,(SI)=00A0H,(BX)=0100H,(B P)=0010H,数据段中变量名VAL的偏移地址值为0050H,试指出下列源操作数字段的寻址方式是什么?其物理地址值是多少?(1)MOV AX,0ABH 立即数寻址无物理地址(2)MOV AX,BX 寄存器寻址无物理地址(3)MOV AX,[100] 直接寻址 20100H(4)MOV AX,VAL 直接寻址 20050H(5) MOV AX,[BX] 寄存器间接寻址 20100H(6)MOV AX,ES:[BX] 直接寻址 21100H(7)MOV AX,[BP] 寄存器间接寻址 20010H(8)MOV AX,[SI] 寄存器间接寻址 200A0H(9)MOV AX,[BX+10] 寄存器相对寻址 20110H(10)MOV AX,VAL[BX] 寄存器相对寻址 20150H(11)MOV AX,[BX][SI] 基址变址寻址 201A0H(12)MOV AX,VAL[BX][SI] 相对基相变址寻址 201F0H9.在ARRAY数组中存储了七个字数据,紧接着是名为ZERO的字单元表示如下:ARRAY DW 23,36,2,100,32000,54,0ZERO DW ?(1)如果BX包含数组ARRAY的初始地址,请编写将数据0传送给ZERO单元。
汇编语言程序设计题目以及答案

汇编语言程序设计题目以及答案[P1] 汇编语言程序设计题目以及答案汇编语言是一种底层计算机语言,它直接使用机器指令来编写程序。
本文将介绍一些汇编语言程序设计的题目,并提供相应的答案。
通过这些题目和答案的学习,读者可以更好地理解和掌握汇编语言程序设计的基本概念和技巧。
[题目一] 计算两个数的和要求:编写汇编程序,计算两个给定的整数的和,并将结果存储在指定的内存位置中。
答案:```assemblysection .datanum1 dd 10 ; 第一个整数num2 dd 20 ; 第二个整数result dd 0 ; 结果section .textglobal _start_start:mov eax, [num1] ; 将num1值存入寄存器eaxadd eax, [num2] ; 将num2值与eax寄存器中的值相加mov [result], eax ; 将结果存储到result变量mov eax, 1 ; 准备执行系统调用mov ebx, 1 ; 文件描述符:标准输出mov ecx, result ; 输出的数据mov edx, 4 ; 数据长度int 0x80 ; 执行系统调用mov eax, 1 ; 准备执行系统调用xor ebx, ebx ; 正常退出int 0x80 ; 执行系统调用```[题目二] 字符串反转要求:编写汇编程序,将一个给定的字符串反转,并将结果存储在指定的内存位置中。
答案:```assemblysection .datastr db 'Hello', 0 ; 待反转的字符串section .bssreverse resb 6 ; 存储反转后的字符串section .textglobal _start_start:mov esi, str ; esi指向待反转的字符串mov edi, reverse ; edi指向存储反转结果的位置 mov ecx, 5 ; 字符串长度为5mov ebx, 1 ; ebx用于计数reverse_loop:mov al, [esi+ebx]mov [edi-ebx+5], alinc ebxloop reverse_loopmov byte [edi+5], 0 ; 在末尾添加字符串结束符 mov eax, 4 ; 准备执行系统调用mov ebx, 1 ; 文件描述符:标准输出mov ecx, reverse ; 输出的数据mov edx, 6 ; 数据长度int 0x80 ; 执行系统调用mov eax, 1 ; 准备执行系统调用xor ebx, ebx ; 正常退出int 0x80 ; 执行系统调用```[题目三] 求平均数要求:编写汇编程序,计算给定的一组整数的平均数,并将结果存储在指定的内存位置中。
汇编语言程序设计教案及习题答案

汇编语言程序设计教案及习题答案教案章节:一、汇编语言简介1. 汇编语言的概念2. 汇编语言的特点3. 汇编语言的应用领域二、汇编语言的基本语法1. 数据类型及表示2. 指令格式及分类3. 寄存器使用规则三、汇编语言程序设计步骤1. 分析需求,确定程序功能2. 选择合适的汇编语言及开发环境3. 编写汇编代码,调试程序4. 优化程序性能四、常用汇编指令及功能1. 数据传输指令2. 算术运算指令3. 逻辑运算指令4. 控制流指令5. 字符串操作指令6. 中断指令五、汇编语言与C语言的接口编程1. extern声明汇编函数2. 调用汇编函数的方法3. 汇编函数与C函数的数据交换4. 实例分析:汇编语言实现字符串排序习题答案:一、汇编语言简介1. 汇编语言是一种低级编程语言,用于编写计算机程序。
(正确)2. 汇编语言可以直接操作计算机硬件资源。
(正确)3. 汇编语言程序可读性差,不易维护。
(正确)二、汇编语言的基本语法1. 数据类型及表示a. 字节:8位(正确)b. 字:16位(正确)c. 双字:32位(正确)d. 四字:64位(正确)2. 指令格式及分类a. 操作码(正确)b. 操作数(正确)c. 寄存器(正确)d. 标志位(正确)3. 寄存器使用规则a. 通用寄存器:AX, BX, CX, DX(正确)b. 段寄存器:CS, DS, ES, SS(正确)c. 指令指针:IP(正确)d. 状态寄存器:FLAGS(正确)三、汇编语言程序设计步骤1. 分析需求,确定程序功能(正确)2. 选择合适的汇编语言及开发环境(正确)3. 编写汇编代码,调试程序(正确)4. 优化程序性能(正确)四、常用汇编指令及功能1. 数据传输指令a. MOV:数据传送(正确)b. PUSH:压栈(正确)c. POP:出栈(正确)d. XCHG:交换数据(正确)2. 算术运算指令a. ADD:加法(正确)b. SUB:减法(正确)c. MUL:无符号乘法(正确)d. IMUL:有符号乘法(正确)3. 逻辑运算指令a. AND:逻辑与(正确)b. OR:逻辑或(正确)c. XOR:逻辑异或(正确)d. NOT:逻辑非(正确)4. 控制流指令a. JMP:无条件跳转(正确)b. JE:相等跳转(正确)c. JNE:不相等跳转(正确)5. 字符串操作指令a. MOVS:字符串移动(正确)b. CMPS:字符串比较(正确)c. SCAS:字符串扫描(正确)d. LODS:字符串装载(正确)6. 中断指令a. INT:软件中断(正确)b. INTO:中断向量表(正确)五、汇编语言与C语言的接口编程1. extern声明汇编函数(正确)2. 调用汇编函数的方法(正确)3. 汇编函数与C函数的数据交换(正确)4. 实例分析:汇编语言实现字符串排序(正确)汇编语言程序设计教案及习题答案教案章节:六、汇编语言的输入与输出1. 输入输出指令2. 字符串操作指令3. 实例分析:编写一个简单的输入输出程序七、汇编语言的杂项指令1. 杂项指令的概念2. 常用杂项指令及其功能3. 实例分析:杂项指令的应用八、汇编语言的子程序调用1. 子程序调用的概念2. 子程序的定义与调用3. 子程序的返回4. 实例分析:子程序在汇编语言中的应用九、汇编语言的程序举例1. 实例一:计算两个数的和2. 实例二:字符串的复制3. 实例三:数制的转换4. 实例四:文件的读写十、汇编语言程序的调试与优化1. 调试工具的使用2. 调试方法与技巧3. 程序优化的概念4. 程序优化的方法与技巧习题答案:六、汇编语言的输入与输出1. 输入输出指令a. IN:输入指令(正确)b. OUT:输出指令(正确)c. INPUT:输入函数(正确)d. PRINT:输出函数(正确)2. 字符串操作指令a. MOVS:字符串移动(正确)b. CMPS:字符串比较(正确)c. SCAS:字符串扫描(正确)d. LODS:字符串装载(正确)3. 实例分析:编写一个简单的输入输出程序(正确)七、汇编语言的杂项指令1. 杂项指令的概念(正确)2. 常用杂项指令及其功能a. NOP:无操作(正确)b. HLT:停止CPU运行(正确)c. CMC:翻转标志位(正确)d. ARPL:寄存器之间交换(正确)3. 实例分析:杂项指令的应用(正确)八、汇编语言的子程序调用1. 子程序调用的概念(正确)2. 子程序的定义与调用a. 定义子程序(正确)b. 调用子程序(正确)3. 子程序的返回(正确)4. 实例分析:子程序在汇编语言中的应用(正确)九、汇编语言的程序举例1. 实例一:计算两个数的和(正确)2. 实例二:字符串的复制(正确)3. 实例三:数制的转换(正确)4. 实例四:文件的读写(正确)十、汇编语言程序的调试与优化1. 调试工具的使用(正确)2. 调试方法与技巧(正确)3. 程序优化的概念(正确)4. 程序优化的方法与技巧(正确)汇编语言程序设计教案及习题答案教案章节:十一、汇编语言与操作系统1. 操作系统的概念2. 汇编语言在操作系统中的应用3. 实例分析:汇编语言编写简单的操作系统十二、汇编语言与设备驱动程序1. 设备驱动程序的概念2. 汇编语言在设备驱动程序开发中的应用3. 实例分析:汇编语言编写简单的设备驱动程序十三、汇编语言与嵌入式系统1. 嵌入式系统的概念2. 汇编语言在嵌入式系统中的应用3. 实例分析:汇编语言编写简单的嵌入式系统十四、汇编语言与汇编器的使用1. 汇编器的概念2. 汇编器的使用方法3. 实例分析:使用汇编器编写和调试汇编程序十五、汇编语言与汇编语言的未来发展1. 汇编语言的发展趋势2. 汇编语言在未来的应用领域3. 汇编语言学习的方法与建议习题答案:十一、汇编语言与操作系统1. 操作系统的概念(正确)2. 汇编语言在操作系统中的应用(正确)3. 实例分析:汇编语言编写简单的操作系统(正确)十二、汇编语言与设备驱动程序1. 设备驱动程序的概念(正确)2. 汇编语言在设备驱动程序开发中的应用(正确)3. 实例分析:汇编语言编写简单的设备驱动程序(正确)十三、汇编语言与嵌入式系统1. 嵌入式系统的概念(正确)2. 汇编语言在嵌入式系统中的应用(正确)3. 实例分析:汇编语言编写简单的嵌入式系统(正确)十四、汇编语言与汇编器的使用1. 汇编器的概念(正确)2. 汇编器的使用方法(正确)3. 实例分析:使用汇编器编写和调试汇编程序(正确)十五、汇编语言与汇编语言的未来发展1. 汇编语言的发展趋势(正确)2. 汇编语言在未来的应用领域(正确)3. 汇编语言学习的方法与建议(正确)重点和难点解析本文主要介绍了汇编语言程序设计的基础知识和应用领域,通过详细的章节安排,从汇编语言的基本概念、语法规则、程序设计步骤、常用指令及其功能、输入输出操作、杂项指令、子程序调用、程序举例、调试与优化等方面进行了深入讲解。
汇编语言程序设计第一二三阶段在线作业

第一次在线作业)单选题 (共40道题2.51.(分)8086CPU在基址变址的寻址方式中,变址寄存器可以为:?CX或、BX A?SI B、CX或?SI C、DX或?DI D、SI或我的答案:D 此题得分:2.5分的源操作数的位置是:,,则指令SI=1234H MOV AX,[BX+SI+2]2.52.(分)已知BX=2000H?的字节、数据段中偏移量为3236H A?的字节、附加段中偏移量为3234H B?的字节、数据段中偏移量为3234H C?的字节D、附加段中偏移量为3236H我的答案:分A 此题得分:2.5IP(2.5分)在程序执行过程中,寄存器中始终保存的是:3.?、上一条指令的首地址A?、下一条指令的首地址B?、正在执行指令的首地址C?、需计算有效地址后才能确定地址D我的答案:2.5分B 此题得分:,那32K16分)位二进制)是某系列微机对存储器的分段,如果每一个段最多的字存储单元(2.54.(么表示段内字节单元偏移地址的二进制位数应是:?位20 A、?位16 B、?位C、15?位12 D、我的答案:B 此题得分:2.5分(2.5分)可用作寄存器间接寻址或基址、变址寻址的地址寄存器,正确的是:5.?DXCX,AX A、,BX,?SS,CSB、DS,ES,?BXBP,IP,,C、SP?BXBP,,D、SIDI,我的答案:分D 此题得分:2.5 . . . .顺序存放在连续两个字存储单元中,可选用Ⅱ码两个字符的ASC41H,42H分)6.(2.5 要求将A,B的语句是:?‘AB'B A、DA1 D?‘AB'DW B、DA1?ABHB C、DA1?ABHW D、DA1我的答案:2.5分A 此题得分:下面语句中有语法错误的语句是:7.(2.5分)?5HDB A、?ABCDHB、DW?‘ABCD'C、DW?‘AB'、DDD我的答案:分2.5C 此题得分:(2.5分)寄存器间接寻址方式中,操作数存放在:8.?、通用寄存器A?、堆栈B?、程序计数器C?、主存单元D我的答案: D 此题得分:2.5分 2.5(分)操作数地址存放在寄存器的寻址方式称为:9.?、变址寻址A?、寄存器寻址B?、相对寻址C?、寄存器间接寻址D我的答案:此题得分:2.5分D操作数的物理地址是:BYTE PTR[DI](10.2.5分)设DI=3942HDS=8225H,,指令NEG?85B92H、A?86192H、B?BB690H C、?12169H、D我的答案:2.5分A 此题得分:下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是:分)(2.5 11.?DX,BXCX,,、AAX . . . .?DI,SI,、BBX,BP?DXBP,,C、SP,IP?SSES,、DCS,DS,我的答案:2.5分B 此题得分:分配的存,10H),3BUF5) 上述语句汇编后,为变量12.10H (2.5分)BUF DW DUP(3 ,DUP(2储单元字节数是:?80HA、?100HB、?124C 、?192、D我的答案:此题得分:2.5B 分13.发出的访问存储器的地址是:(2.5分)CPU?、物理地址A?、偏移地址B?、逻辑地址C?、段地址D我的答案:分A 此题得分:2.5]指令中的操作数的数据类型是:BYTE DEC PTR[BX14.(2.5分)?、字A?、双字B?、字节C?、四字D我的答案:C 分此题得分:2.5BUFFER称为:,0AH 中,15.(2.5分)在语句BUFFER DB 01H?、符号A?、变量B?、助记符C?、标号D我的答案:B 此题得分:2.5分将数据5618H存放在存储单元中的伪指令是:16.(2.5分)?1856HDATA1 DW A、?56H,DB B、DATA1 18H?5618HDATA1 C、EQU?00H,00H56H,,DB 、DDATA1 18H . . . .我的答案:分B 此题得分:2.5计算机处理问题中会碰到大量的字符、符号,对此必须采用统一的二进制编码,目前,微分)17.(2.5机中普遍采用的是:?码、BCD A?、二进制码B?码ASCII C、?、十六进制码D我的答案:2.5分C 此题得分:,,52H单元开始的四个相邻字节单元中的内容依次是32H,46H18.(2.5分)假设存储器中从7462H OFEH,则存放字数据OFE52H的字地址是:?7462HA、?7463HB、?7464H、C?7465H、D我的答案:C 分此题得分:2.5当堆栈为空时,如SS=0805H,SP=40H分)19.(2.5,栈底字单元的物理地址是:?08090H A、?08089H、B?0808EH、C?08450H、D我的答案:2.5此题得分:分A指令时,源操作数的物理地址表达式是:执行POP (20.2.5BP分)?16*SS+SP A、?16*SS+BPB、?16*DS+BPC、?16*CS+BPD、我的答案:2.5分A 此题得分:[BP][DI]指令,取源操作数时,使用的物理地址表达式是:2.5分)AX执行SUB ,21.(?16*SS+BP+DI、A?16*ES+BP+DI B、?16*DS+BP+DIC、?16*CS+BP+DID、我的答案:分A 此题得分:2.5 . . . .,请给出这个数据区最末一个字的数据区,它的起始地址为12ABH:00ABH一个有22.(2.5分)128个字单元的物理地址是:?12C5BH A、?12B6BH B、?12C59H C、?12BFEH、D我的答案:2.5C 分此题得分:,可以作为它的段地址有:某存储单元的物理地址是2.5分)23.(12345H?2345HA、?12345H、B?12340H C、?1234H、D我的答案:2.5分D 此题得分:(2.5分)操作数地址存放在寄存器的寻址方式称为:24.?、变址寻址A?、寄存器寻址B?、相对寻址C?、寄存器间接寻址D我的答案:D 此题得分:2.5分下列数据定义语句中可实现留空20H个字节存储单元的是:25.(2.5分)?DUP(?)、DB A 20?DUP(?)DW 20H B 、?DUP(?))DUP(4 、CDB 10H?DUP(?)08H D 、DD我的答案:2.5分D 此题得分:下列寄存器中用来指示堆栈中任意数据区的偏移地址的是:2.526.(分)?BX、A?BP B、?SI、C?DID 、我的答案:分2.5B 此题得分:结果为零的条件转移指令,其测试条件是:分)(27.2.5?ZF=1 A、 . . . .?ZF=0、B?SF=l C、?SF=0D 、我的答案:分A 此题得分:2.5SP初值为3050H的值是:,执行指令PUSH BX后,SP28.设(2.5分)?304FH、A?304EH B、?3048H、C?3049H D、我的答案:2.5B 此题得分:分的存储器组织是将存储器划分为段,可作为段的起始地址是:(2.58086分)/808829.?185A2H、A?00020H、B ?01004H C、?0AB568HD 、我的答案:分B 此题得分:2.580862.5分)存储器分段,每个段不超过:8088/30.(?个字.64K A、?个字节、B32K?个字节C、64K?兆个字节.1 D、我的答案:2.5C 此题得分:分,正确的指令是:的内容除以将DX31.(2.5分)2?2DIV 、A?2DX、DIV ,B?1SAR DX,C、?1DX,SHL D、我的答案:C 分此题得分:2.58086CPU在基址加变址的寻址方式中,变址寄存器可以为:分)32.(2.5?CX或、ABX?SICX B、或?SI、DX或C?DISI或D、我的答案:分D 此题得分:2.5 . . . .寄存器内容的指令是:33.(2.5分)下面指令执行后,改变AL?02H A、TEST AL,?AL B、OR AL,?BL,C、CMP AL?BLAL D、AND ,我的答案:分2.5D 此题得分:编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令有:34.(2.5分)?CMP、A?SUB B、?AND C、?MOV、D我的答案:分此题得分:2.5DXCHG下面指令语句中,语法正确的是:35.(2.5分)?AX,DSXCHG A、?BL,[BX]XCHG B、?AL,OFH C、XCHG?XCHG[SI],[DI]、D我的答案:2.5分此题得分:B中原有的数是奇数或偶数,若要使BH2.5分)中的数一定为奇数,应执行的指令是:无论BH36.(?01HBH ,A、ADD?01H,B、OR BH?01H,C、XOR BH?01H,D、TEST BH我的答案:2.5分B 此题得分:AL=05H的是:设AL=0AH37.(,下列指令执行后能使2.5分)?ALNOT A、?0FHAND AL,、B?0FHAL,、CXOR?0FHAL,D 、OR我的答案:此题得分:2.5分C的内容乘以22.5(分)的正确指令序列是:寄存器AX38.?1,A、SHR AX?1AX,SHL B、?1ROL 、AX,C. . . .?1 D、RCR AX,我的答案:B 此题得分:2.5分2.539.(分)ORG 0030H30H ,DA1 DB 0,‘0'DW DA1数据为3000H字存储单元的偏移地址是:?0030HA、?0031HB、?0032H、C?0033HD、我的答案: A 此题得分:2.5分分)40.(2.5,BUF DW 10H DUP(3 DUP(25)10H),,3分配上述语句汇编后,为变量BUF的存储单元字节数是:?80H A、?100H 、B?124、C?192、D我的答案:B 此题得分:2.5分-----------------------------------------------------分割-------------------------------------------------第二次在线作业)道题30单选题 (共下列叙述正确的是:分)(2.5 1.?指令CMPSCMP指令,对两个有符号数比较用、对两个无符号数进行比较采用A?指令指令,对两个有符号数比较用CMP、对两个无符号数进行比较采用BCMPS?指令JGE/JNL、对无符号数条件转移采用CJAE/JNB指令,对有符号数条件转移用?指令JAE/JNBD 、对无符号数条件转移采用JGE/JNL 指令,对有符号数条件转移用我的答案: 2.5分C 此题得分:在下列指令的表示中,不正确的是:(2.2.5分)?[BX+SI]AL,、AMOV?DONING、BJMP SHORT. . . .?[BX]、DEC C?CL、MUL D我的答案:分此题得分:2.5C3.(2.5分)在进行二重循环程序设计时,下列描述正确的是:?、外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内A?、外循环初值应置外循环之内;内循环初值应置内循环之内B?、内、外循环初值都应置外循环之外C?、内、外循环初值都应置内循环之外,外循环之内D我的答案:分A 此题得分:2.5条件转移指令(2.5分)JNE的测试条件为:4.?ZF=0A、?0CF=B、?ZF=1、C?CF=1D、我的答案:此题得分:A 2.5分 5.(下列指令执行时出错的是:2.5分)?BUF2A、BUF1ADD ,?[BX]DAT JMP DWORD PTR 、B?NUM[BX+DI] AX,C 、MOV?08H,TEST AL D、我的答案:A 此题得分:2.5分在下列指令中,执行会影响条件码中的CF位的指令是:6.(2.5分)?NEXTA、JMP?NEXT、JC B?BXINC C、?1,D 、SHL AX我的答案:2.5分D 此题得分:分)(7.2.5用户为了解决自己的问题,用汇编语言所编写的程序,称为:?、目标程序A?、源程序B?、可执行程序C?、汇编程序D我的答案:分B 此题得分:2.5的方法是:用一条指令仅实现将BX+SI=> AX分)(8.2.5 . . . .?[BX][SI],A、XCHG AX?[BX+SI],B、MOV AX?BX[SI],C、LEA AX?[BX][SI],D、LEA AX 我的答案:2.5分D 此题得分:SP的值是:设SP初值为2000H,执行指令“PUSH AX”后,9.(2.5分)?1FFFH、A?1998H B、?2002H C、?1FFEH、D我的答案:2.5分D 此题得分:指令的功能是:CBW10.(2.5分)?、把源操作数的符号位扩展到目的操作数中A?中AHB 、把AL中的符号位扩展到?中AL C、把AH中的符号位扩展到?中DX D、把AX中的符号位扩展到我的答案: 2.5分B 此题得分:LOOPNZ终止循环的条件是:11.(2.5分)循环指令?ZF=0,且A、CX=0?ZF=1 B、CX=0,或?ZF=0,且C、CX ≠0?ZF=1,或D、CX≠0我的答案:2.5分B 此题得分:下列传送指令中有语法错误的是:12.(2.5分)?AXCS,A、MOV?AX,、MOV DS B?AXMOV SS,C、?AXMOV ES,D、我的答案:2.5此题得分:分A OFFSET VAR指令完全等效的指令是:(2.5分)与MOV BX,13.?VAR,A、MOV BX?VAR,B、LDS BX ?VARBX,LES C、?VARLEA 、BX,D. . . .我的答案:2.5分D 此题得分:寄存器的值是:PUSH AX 执行上述指令序列后,,14.(2.5分)MOV SP3210H SP?3211H、A?320EH B、?320FH C、?3212H D、我的答案:2.5B 分此题得分:汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省(2.515.分)略的项是:?、名字项A?、操作项B?、操作数项C?、注释项D我的答案:此题得分:B 2.5分分)16.(2.5 使计算机执行某种操作的命令是:?、伪指令A?、指令B?、标号C?、助记符D我的答案:B 此题得分:2.5分AX=,CX指令执行后,17.(2.5分)若AX=3500H,CX=56B8H,当AND AX?1400H A、?77F8H B、?0000HC、?0FFFFHD、我的答案: 2.5分A 此题得分:指令语句中,2.518.(分)语法正确的是:下面XCHG?AX,DSXCHG A、?AX,[BX] B、XCHG?AX,CSH、XCHG C?XCHG[SI],[DX]D、我的答案:分B 此题得分:2.5 . . . .DL, MOV XX 设数据段有:DA1 DB ;是任一数据DA2 DB OFEH 下列两条指令:19.(2.5分)中的内容可能是:DA1 OR DL,DA2 执行后,DL?0FEH或A、.0FFH?0FEH、只能是B?0FFH、只能是C?01HD、只能是我的答案: 2.5此题得分:分A上述程序段BX,0FFSET DA1 100H DB NUM EQU 8042H DA1 56H MOV 20.(2.5分)ORG中的值是:执行后BX?56H、A?100HB、?101H、C?102HD、我的答案:此题得分:2.5分BPTR DONE属于:2.5分)JMP 指令FAR 21.(?、段内转移直接寻址A?、段内转移间接寻址B?、段间转移直接寻址C?、段间转移间接寻址D我的答案:分此题得分:2.5C将DX的内容除以2.5分)2,正确的指令是:22.(?2、ADIV?2 B、DIV DX,?1DX,C、SAR?1 D、DX,SHL我的答案: C 此题得分:2.5分,XOR为四条逻辑运算指令,下面的解释正确的是:,NOT 23.(2.5分)AND,OR?内容不变,但设置了标志位执行后,AX,A、指令XOR AXAX?0,其余各位置最高位置DX,1000H执行后,将DX1B 、指令OR?低四位,OFH执行后,分离出ALAND C、指令AX?0AX清NOT D、AX,执行后,将我的答案:分C 此题得分:2.5 . . . .寄存器的内容乘以4的正确操作是:24.(2.5分)完成对CL?1CL,A、ROL CL,1 ROL?4B、MUL?1CL,SHL C、CL,1 SHL?CLSHL CL D、MOV CL,2 ,我的答案:此题得分:2.5分C下面各传送指令中,正确的是:分)2.525.(?[SI][DI],A、MOV?AL,、BMOV [DX+DI]?0100H、CMOV WORD PTR [BX],?BX,D、MOV AL我的答案:分此题得分:2.5C,当A=BA2.5分)比较两个带符号的数时程序转移,测试的条件为:、B26.(?ZF=1、A?ZF=0 B、?SF=1 C、?SF=0D、我的答案:2.5分A 此题得分:分)汇编源程序时,出现语法错误的语句是:27.(2.5?BX,、AMOV [BX+SI] ?[BP+DI]、BMOV CL,?AXC、MOV CS,?AX,D、MOV DS我的答案: 2.5C 分此题得分:BL后,寄存器内容为:SUB AL,(28.2.5分)BL=24H 设AL=57H,,执行指令?BL=24H、AL=57H,A?BL=24HAL=33H,B、?BL=33HAL=57HC 、,?BL=0AL=33H,D、我的答案:2.5分B 此题得分:AL中的数据是:SAR AL后,,CL,2.529.(分)设CL=8AL=0C8H,执行?0FFH A、?80H、B?00H C、 . . . .?0FEHD、我的答案: 2.5此题得分:分A[BX+SI](DSBX,:051EH)=5432H。
2020年中国石油大学北京网络学院 汇编语言程序设计-第三次在线作业 参考答案

21.(2.5分) BUFF单元开始,连续存放了十个字节数据,欲找出与AL中内容不同的数,并将不同数据的地址偏移量送ADR单元,应选用的指令序列是:
A、REPZ CMPSB
B、REPNZ CMPSB
C、REPZ SCASB
D、REPNZ SCASB
我的答案:C 此题得分:2.5分
A、SI=5678H
B、SI=1234H
C、SI=2000H
D、SI=3234H
我的答案:B 此题得分:2.5分
12.(2.5分) 变量具有类型属性,错误的类型是:
A、字节型
B、字型
C、字符型
D、双字型
我的答案:C 此题得分:2.5分
13.(2.5分) 寄存器DI间接寻址的存储器字节单元内容加1的指令是:
26.(2.5分) CMP [BX],[DI]
正确
错误
我的答案:错误此题得分:2.5分
27.(2.5分) PUSH CL
中国石油大学北京网络学院
汇编语言程序设计-第三次在线作业
参考答案
1.(2.5分) 若AX=-15要得到AX=15应执行的指令是:
A、NEG AX
B、NOT AX
C、INC AX
D、DEC AX
我的答案:A 此题得分:2.5分
2.(2.5分) 已知AX,BX中均为带符号数,当进行字相除时,下面指令或指令序列正确的是:
22.(2.5分) 下列叙述正确的是
A、对两个无符号数进行比较采用cmp指令,对两个有符号数比较用cmps指令
B、对两个无符号数进行比较采用cmps指令,对两个有符号数比较用cmp指令
C、对无符号数条件转移采用jae/jnb指令,对有符号数条件转移用jge/jnl指令
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
汇编语言程序设计第03次作业
1、已知一数据段中的数据定义如下:
DATA SEGMENT
STR1 DB 0,1,2,3,4,5
STR2 DB ‘012345’
COUNT EQU 30
NUMB DB 3 DUP(2)
NUMW DW 10H,-60H
POIN DW 0
DATA ENDS
根据以上数据段的定义,改正下列语句中的错误。
(1) MOV AX,STR1
(2) MOV BP,OFFSET STR2
MOV CL,[BP]
(3) MOV SI,OFFSET NUMB
MOV [SI],’+’
(4) MOV DL,NUMW+2
(5) MOV DI,CH
(6) MOV BX,OFFSET STR1
MOV DH,BX+3
(7) INC COUNT
(8) MOV NUMB,STR2
(9) LEA POIN,NUMW
2、已知下列数据段定义:
DATA SEGMENT
NUM DW 10,20,30,40,50
BUF DW 3
DATA ENDS
执行下列程序后,AX中的值是多少?
MOV AX, SEG NUM
MOV DS, AX
MOV BX, OFFSET NUM
ADD BX, BUF
MOV AX, [BX]
3、设程序中数据的定义如下:
NO DW ?
NAME DB 16 DUP(0)
COUNT DD ?
LENGTH EQU $-NO
请问LENGTH的值为多少?表示什么意义?
4、已知数据段有如下定义:
FIRST DB 12H,34H
SECOND DB 56H,78H
用堆栈指令编一段程序实现将FIRST和SECOND单元的内容互换,FIRST+1和SECOND+1单元的内容互换。
5、设数据段中有10个8位无符号数,定义如下(实际数据请随机设置):
NUM DB 19,250,88,42,60,77,39,100,91,2
编写完整的汇编语言程序,找出这组数据中的最大数、最小数,同时计算平均值(取整),以十六进制的形式显示在屏幕上:
MAX=??H
MIN=??H
AVG=??H
要求给出实际调试运行过的代码,打印/抄写在作业纸上。
6、编写完整的汇编语言程序,完成下述显示彩色字符串的功能:
(1) 显示字符串的功能必须用宏指令实现,在主程序中调用;
(2) 在0行10列显示绿色字符串Hello(属性字02H);
在12行38列显示红色字符串OK(属性字04H);
在24行60列显示黄色字符串Goodbye!(属性字0EH)。