汇编语言程序设计基础练习一 (1)

合集下载

《汇编语言》练习题库资料

《汇编语言》练习题库资料

华中师范大学网络教育学院《汇编语言程序设计》练习测试题库一 .选择题(只有一个正确答案,填在题干前的括号里)1.一台完整的计算机系统包括_________。

A.硬件系统和软件系统B.系统硬件和系统软件C.控制器、运算器、存储器、输入设备和输出设备D.操作系统、机器语言、汇编语言、高级语言2.汇编程序属于_________。

A.硬件系统B.软件系统C.系统软件D.用户软件3.简单的汇编语言程序可以通过_________来建立A.连接程序B.调试程序C.汇编程序D.编辑程序4.8086/8088微处理器包含有两个独立的部件_________和_________。

A.R和ALUB.CS和IPC.BIU和EUD.CPU和I/0设备5 .进行汇编语言编程时,设计者应该考虑一些基本的要求,下列叙述不正确的是____。

A.程序应该结构化B.程序应该执行速度快C.程序应该占用空间大D.程序应该简明、易读、易懂6 .一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是____。

A.12C5BHB.12B6BHC.12C59HD.12BFEH7 .字符串HOLLO的ASCII代码表示为____.A.484F4C4C4FHB.484F4D4D4FHC.494F4C4C4FHD.494F4D4D4FH8.如果内存中某一单元的物理地址是20B4CH,那么它的逻辑地址是_________:212CH。

A. IEA2HB. IEB2HC. IFA2HD. IFB2H9,现有段地址和偏移地址为1025H:0F2AH,那么它所对应存储单元中的物理地址是_________。

A. 1107AHB. 01F4FHC. 11F4FHD. 1117AH10.一个有16个字的数据区,它的起始地址是1000H:117AH,请指出这个数据区最末一个字单元的物理地址是_________。

A.111ACHB.11190HC .11198HD.1119AH11.在机器内部操作中,CPU与存储器之间的任何信息交换使用的都是_________。

汇编语言程序设计练习题及参考答案

汇编语言程序设计练习题及参考答案

一、单项选择题从每小题的四个备选答案中,选出一个正确答案,并将正确答案的番号填人括号内。

1.用来存放下一条将要执行的指令地址的寄存器是 (B )A.SP B.IP C.BP D.CS2.要使串处理从低地址向高地址进行,应把标志位置为 (D )A.IF=1 B.TF=0C.DF=1 D.DF=03.使状态标志位CF清零的错误指令是 (C )A.OR AX,AX B.SUB AX,AXC.MOV CF,0 D.CLC4.设SP=1110H,执行PUSH AX指令后,SP的内容为 (B )A.SP=1112H B.SP=110EHC.SP=1111H D.SP=110FH5.汇编源程序出现语法错误的指令有 (D )A.MOV [BX+SI],AL B. MOV AX,[BP+DI]C.MOV DS,AX D. MOV CS,AX6.下列串操作指令中,必须同时指明源串和目的串地址的指令是 (D )A.STOSW B.LODSWC.SCASW D.CMPSW7.设BL中有一无符号数,实现把BL中的数乘以2,应选用的指令是 (B )A.SHR BL,1 B.SHL BL,1C.SAR BL,1 D.RCR BL,18.执行PUSH AX指令的正确步骤是 (A )A.1.SP←SP-1,(SP)←AH B.1.(SP)←AH,SP←SP-12.SP←SP-1,(SP)←AL 2.(SP)←AL,SP←SP-1C.1.SP←SP+1,(SP)←AH D.1.(SP)←AH,SP←SP+12.SP←SP+1,(SP)←AL 2.(SP)←AL,SP←SP+19.CF=1 时转移到目标地址的条件转移指令是 (B )A.JNC B.JC C.JZ D.JS10.在执行NEG指令时,对标志位CF有影响,其影响的规则是 ( C )A.对正数求补时,CF=0 B.对负数求补时,CF=0C.对非零数求补时,CF=1 D.对零求补时,CF=111.算术右移SAR和逻辑右移SHR两条指令执行后结果完全相同的情况是(A )A.目的操作数最高位为0 B.目的操作数最高位为1C.目的操作数为任意情况 D.无论什么情况都不可能相同12.设AL=04H,BL=0F8H,执行IMUL BL指令后,结果是 ( D )A.AX=0032H B.AX=00E0HC.AX=03E0H D.AX=0FFE0H13.指令的操作数中,允许出现表达式,例如BUF1与BUF2均为变量名,下面指令中语法正确的是 (D )A.MOV AX,BUFl*BUF2B.MOV AX,BUF1/BUF2C.MOV AX,BUF1+ES:BUF2D .MOV AX ,BUF2-BUF114.下面指令中,操作数的寻址方式为寄存器间接寻址的指令是 (C )A .INC WORD PTR [BX+SI]B .INC CX ,[SI+COUNT]C .NEG BYTE PTR [BX]D .ADD AX ,B15.NUM EQU 80HDA DB 34HAND DA ,NUM上述语句执行后,DA 中的内容是 (D )A .0B4HB .80HC .34HD .016.直接、间接、立即三种寻址方式指令的执行速度,由快至慢的排序为 (A )A .立即、直接、间接B .直接、间接、立即C .直接、立即、间接D .不一定17.语句DA1 DB 2 DUP(3,5,7)汇编后,该语句可等同于的语句是 (D )A .DA1 DB 3,5,7B .DA1 DB 2,3,5,7C .DA1 DB 3,5,7,2D .DA1 DB 3,5,7,3,5,718. MOV AL ,80HMOV CL ,2SAR AL ,CL上述指令序列执行后,结果是 (D )A .AL=40HB .AL=20HC .AL=0C0HD .AL=0E0H19.下面是实现将AL 内容加1的压缩型BCD 码加法程序段,其中正确的指令序列是 (A ) A .INC ALB .ADD AL ,1DAA DASC .ADD AL ,1 D .STCDAA AAA20.现有数据存储如图所示:30100H 30101H 30102H 30103H设AL=01H ,BX=0100H ,DS=3000H 执行换码指令XLAT 后正确的结果是(B )A .AL=20HB .AL=38HC .AL=00HD .AL=41H21.若定义DAT DW 'A',则(DAT)和(DAT+1)两个相邻的内存中存放的数据是 (B )A .0041HB .4100H20H38H41H55HC.xx41H D.41xxH[注]选项C. 和D.中的XX表示任意数据。

汇编语言程序设计(第四版)【课后答案】

汇编语言程序设计(第四版)【课后答案】

汇编语言程序设计第四版【课后习题答案】第1章汇编语言基础知识〔习题1.1〕简述计算机系统的硬件组成及各部分作用。

〔解答〕CPU:包括运算器、控制器和寄存器组。

运算器执行所有的算术和逻辑运算;控制器负责把指指令逐条从存储器中取出,经译码分析后向机器发出各种控制命令,并正确完成程序所要求的功能;寄存器组为处理单元提供所需要的数据。

存储器:是计算机的记忆部件,它用来存放程序以及程序中所涉及的数据。

外部设备:实现人机交换和机间的通信。

〔习题1.2〕明确下列概念或符号:主存和辅存,RAM和ROM,存储器地址和I/O端口,KB、MB、GB和TB。

〔解答〕主存又称内存是主存储器的简称,主存储器存放当前正在执行的程序和使用的数据,CPU可以直接存取,它由半导体存储器芯片构成其成本高、容量小、但速度快。

辅存是辅助存储器的简称,辅存可用来长期保存大量程序和数据,CPU需要通过I/O接口访问,它由磁盘或光盘构成,其成本低、容量大,但速度慢。

RAM是随机存取存储器的英语简写,由于CPU可以从RAM读信息,也可以向RAM写入信息,所以RAM也被称为读写存储器,RAM型半导体存储器可以按地址随机读写,但这类存储器在断电后不能保存信息;而ROM中的信息只能被读出,不能被修改,ROM型半导体通常只能被读出,但这类存储器断电后能保存信息。

存储器由大量存储单元组成。

为了区别每个单元,我们将它们编号,于是,每个存储单元就有了一个存储地址,I/O接口是由一组寄存器组成,为了区别它们,各个寄存器进行了编号,形成I/O地址,通常称做I/O端口。

KB是千字节、MB是兆字节、GB是吉字节和TB是太字节,它们都是表示存储器存储单元的单位。

〔习题1.3〕什么是汇编语言源程序、汇编程序、目标程序?〔解答〕用汇编语言书写的程序就称为汇编语言源程序;完成汇编工作的程序就是汇编程序;由汇编程序编译通过的程序就是目标程序。

〔习题1.4〕汇编语言与高级语言相比有什么优缺点?〔解答〕汇编语言与高级语言相比的优点:由于汇编语言本质就是机器语言,它可以直接地、有效地控制计算机硬件,因而容易产生运行速度快,指令序列短小的高效目标程序,可以直接控制计算机硬件部件,可以编写在“时间”和“空间”两方面最有效的程序。

(完整版)第1章_汇编语言基础习题答案

(完整版)第1章_汇编语言基础习题答案

(完整版)第1章_汇编语言基础习题答案第1章汇编语言基础1.1 简答题(1)哪个处理器的指令系统成为Intel 80x86系列处理器的基本指令集?8086(2)ROM-BIOS 是什么?ROM-BIOS是固化在只读存储器中的基本输入输出系统,是PC 软件系统最低层的程序。

(3)什么是通用寄存器?一般指处理器最常使用的整数寄存器,可用于保存整数数据、地址等(4)堆栈的存取原则是什么?采用先进后出FILO或者后进先出LIFO的操作方式。

(5)标志寄存器主要保存哪方面的信息?用于反映指令执行结果或控制指令执行形式。

(6)最高有效位MSB是指哪一位?数据的最高位,例如对8、16、32位数据,MSB依次指D7、D15和D31位(7)汇编语言中的标识符与高级语言的变量和常量名的组成原则有本质的区别吗?没有(8)汇编语言的标识符大小写不敏感意味着什么?表示字母大小写不同、但表示同一个符号(9)在汇编语言源程序文件中,END语句后的语句会被汇编吗?不会(10)汇编时生成的列表文件主要包括哪些内容?主要包含源程序和目标代码。

1.2 判断题1)EAX也被称为累加器,因为它使用最频繁。

对,EAX中的A来自英文累加器(Accumulator)6)处理器的传送指令MOV属于汇编语言的执行性语句对7)汇编语言的语句由明显的4部分组成,不需要分隔符区别。

错,使用了分隔符才有了明显的4部分8)MASM汇编语言的注释用分号开始,不能用中文分号对,源程序中的分隔符以及各种标识符都是英文9)程序终止执行也就意味着汇编结束,所以两者含义相同。

错,两者完全是两个概念1.3 填空题(1)Intel 8086支持( ) 容量主存空间,IA-32处理器支持( ) 容量主存空间。

1MB ,4GB(2)Intel ( ) 处理器将80x86指令系统升级为32位指令系统,()处理器内部集成浮点处理单元、开始支持浮点操作指令。

80386,80486(3)IA-32处理器有8个32位通用寄存器,其中EAX,(),( )和EDX,可以分成16位和8位操作;还有另外4个是( ),( ),( ),和( )。

《汇编语言程序设计》第1次作业

《汇编语言程序设计》第1次作业

一、单项选择题(只有一个选项正确,共10道小题)1.十进制数-100的8位二进制数的补码为()。

(A) 10011100(B)11100100(C) 11001110(D) 011001002.十六进制数88H,可表示成下面几种形式,请找出错误的表示()。

(A) 无符号十进制数136(B) 压缩型BCD码十进制数88(C) 8位二进制数-8的补码表示(D) 带符号十进制数-1203.指令MOV AX,[BX][SI]中源操作数采用的寻址方式是()。

(A) 寄存器(B) 基址变址(C) 寄存器间接(D) 寄存器相对4.下面有语法错误的指令是( )。

(A) ADD [BP+2],DA1(DA1是变量名)(B) ADD [BX+3],AL(C) ADD AL,AH(D) ADD AH,[DI]5.在DEBUG上机调试程序时,存储器地址表示为12FA:015F,它的物理地址是( )(A) 12FAH(B) 1305FH(C) 015FH(D) 130FFH6.下列指令中,执行后,不改变标志位ZF的是()。

(A) AND AL,AL(B) TEST AL,0FFH(C) CMP AL,BL(D) ROR AL,CL7.DATA SEGMENTDA1 DB 32 DUP(?)DA2 DW 1456H,789AHDA3 DW DA2DATA ENDS…MOV BX, DA3上述指令执行后,BX中的内容是( )。

(A) 0031H(B) 0032H(C) 0020H(D) 0021H8.完成将累加器AX清零,下面错误的指令是()。

(A) OR AX,00H(B) AND AX,00H(C) XOR AX,AX(D) SUB AX,AX9.数据段有如下数据定义VAR DB 4 DUP(1,5 DUP(?)),1,2执行指令MOV AL,SIZE VAR后AX寄存器的值是多少()。

(A) 4(B) 1(C) 5(D) 2010.内存中(2000H)=3000H,(3000H)=A01FH,MOV BX,[2000H]MOV AX,[BX]执行上述指令AX的内容是()。

汇编语言习题 (1)

汇编语言习题 (1)

第1章自测练习一、选择题(四选一)1.某个加法运算结果使标志ZF=1,则标志SF为。

A 0B 1C 不改变原来的状态D 不确定2.可以为存储器操作数提供偏移地址的寄存器组是。

A AX、BX、CX、DXB BX、BP、SI、DIC SP、IP、BP、DXD CS、DS、ES、SS3.8086/8088确定下一条执行指令物理地址的计算表达式为。

A DS× 16+EAB ES× 16+EAC SS×l6+SPD CS×l6+IP4.某系列微机对存储器分段,如果每个段最多的字存储单元(16位二进制)是32K,那么表示段内字节单元偏移地址的二进制位数应是位。

A 14B 15C 16D 205.十进制数-100的8位二进制数的补码为。

A 10011011B 01100100C 10011101D 100111006.下列各个8位二进制数的补码中,绝对值最大的是。

A 10001000B 11111110C 00000100D 000000017.16位有符号数的补码所表示的十进制数的范围是。

A -32767~+32768B -32768~+32767C -65535~+65536D 0~655358.对数值83A7H作逻辑非运算后的结果是——·A 83A8H B、73A8H C、7C59H D、7C58H9.指令“mov cx,[bp+16]”的源操作数采用的段寄存器是。

A CSB SSC DSD ES10.指向程序堆栈区的段寄存器是。

A CSB SSC DSD ES11.有效地址是指。

A 存储器操作数的物理地址B 存储器操作数的段地址C 存储器操作数的偏移地址D 立即数的偏移地址12.寄存器间接寻址方式中,操作数在中。

A 通用寄存器B 段寄存器C 主存单元D 堆栈13.指令“mov ax,es:[bx][si]”源操作数的物理地址是。

A 16×CS+BX+SIB 16×SS+BX+SIC 16×DS+BX+SID 16×ES+BX+S114.算术运算类指令的寻址和转移类指令的寻址,两者的不同之处是。

计算机组成原理与汇编语言程序设计课后习题及解答(详解)

计算机组成原理与汇编语言程序设计课后习题及解答(详解)

计算机组成原理与汇编语言程序设计课后习题及解答徐洁,俸远祯电子工业出版社第1章习题一1.什么是程序存储工作方式?答:计算机的工作方式——存储程序工作方式。

即事先编写程序,再由计算机把这些信息存储起来,然后连续地、快速地执行程序,从而完成各种运算过程。

2.采用数字化方法表示信息有哪些优点?用数字化方法表示信息的优点:(1)抗干扰能力强, 可靠性高。

(2)依靠多位数字的组合,在表示数值时可获得很宽的表示范围以及很高的精度。

(3)数字化的信息可以存储、信息传送也比较容易实现。

(4)可表示的信息类型与范围及其广泛,几乎没有限制。

(5)能用逻辑代数等数字逻辑技术进行信息处理,这就形成了计算机硬件设计的基础。

3.如果有7×9点阵显示出字符A的图像,请用9个七位二进制代码表示A的点阵信息。

4.数字计算机的主要特点是什么?1. (1)能在程序控制下自动连续地工作;(2|)运算速度快;(3)运算精度高;(4)具有很强的信息存储能力;(5)通用性强,应用领域及其广泛。

5.衡量计算机性能的基本指标有哪些?答:衡量计算机性能的基本指标:(1)基本字长——参加一次运算的数的位数;(2)数据通路宽度——数据总线一次能并行传送的位数;(3)运算速度——可用①CPU的时钟频率与主频,②每秒平均执行指令数,③典型四则运算的时间来表示。

(4)主存储器容量——可用字节数或单元数(字数)×位数来表示。

(6)配备的外围设备及其性能。

(7)系统软件配置。

7.系统软件一般包括哪些部分?列举你所熟悉的三种系统软件。

系统软件一般包括操作系统,编译程序、解释程序、各种软件平台等。

例如WINDOWS98操作系统,C 语言编译程序等,数据库管理系统。

8.对源程序的处理有哪两种基本方式?对源程序的处理通常有两种处理方式:解释方式和编译方式。

第2章习题二1.将二进制数(101010.01)2 转换为十进制数及BCD码。

解:(101010.01)2 = (42.25)10 = (01000010.00100101)BCD2.将八进制数(37.2)8转换为十进制数及BCD码.解:(37.2)8 = (31.25)10 =(00110001.00100101)BCD3.将十六进制数(AC.E)转换为十进制数及BCD码.解: (AC.E)16 =(172.875)10 = (000101110010.100001110101)BCD4.将十进制数(75.34)10转换为8位二进制数及八进制数、十六进制数。

汇编语言程序设计试卷

汇编语言程序设计试卷

汇编语言程序设计试卷一. (共75 题,共150 分)1.下列说法错误的是。

(2 分)A.机器指令的形式包含操作码和地址码B.计算机只能够识别规定好的机器指令C.不同计算机系统之间的机器指令能够相互兼容D.汇编语言的主要操作和机器指令基本上一一对应★检查答案标准答案:C2.两个有符号数相减,通过标志位判断结果是否溢出。

(2 分)A.ZFB.CFC.SFD.OF★检查答案标准答案:D(2 分)3.汇编语言和高级语言的比较,下列说法错误的是A.汇编语言和高级语言都不能被机器直接识别B.完成同样的功能,汇编语言占据空间小C.高级语言可以使用变量,但汇编语言不行D.汇编语言中有类似于高级语言的宏功能★检查答案标准答案:C4.下列寄存器中,哪个寄存器不能供汇编程序直接访问. (2 分)A.SPB.BPC.CSD.IP★检查答案标准答案:D5.下列寄存器,哪个不能作基址寄存器。

(2 分)A.BXB.BPC.SID.ESI★检查答案标准答案:C6.设有关寄存器及存储单元的内容如下:则指令MOV AX, 1100H[BX][SI] 执行完毕后,AX 寄存器中的值是。

(2 分)A.65B7HB.3412HC.4C2AHD.7856H★检查答案标准答案:AA.可以作立即寻址的操作数B.也可作某些存贮器操作数的的位移量组成部分C.在数据定义伪指令语句中给变量赋初值D.可以作目的操作数★检查答案标准答案:D8.若(ECX)=0ABCD1234H(BL)=0E3H,则语句MOVSX ECX,BL执行后:(ECX)的值为。

(2 分)A.0ABCD1234HB.0FFFFFFE3HC.000000E3HD.0ABCD12E3H★检查答案标准答案:B(2 分)9.若(AX)=0FFFDH ,则语句ADD AX,7FFFH 执行后,下列说法正确的是。

A.(AX) =7FFCH,(OF)=1 ,(CF)=1B.(AX) =17FFCH ,(OF)=1 ,(CF)=1C.(AX)=7FFCH,(OF)=0 ,(CF)=1 D.(AX)=17FFCH ,(OF)=0 ,(CF)=1★检查答案标准答案:C10.在语句INC SS:[BX] 中,操作数使用的段寄存器是。

汇编语言程序设计习题答案

汇编语言程序设计习题答案

第一章微型计算机系统概述1.3习题与综合练习1.解释和区别下列名词术语(1)微处理器(MP):具有中央处理器功能的大规模集成电路器件微型计算机(MC)微型计算机系统(MCS)(2)硬件:硬件是计算机系统的躯体,由控制器,运算器,存储器,输入设备,输出设备5大部分组成。

软件:软件是计算机的头脑和灵魂,可分为系统软件和应用软件。

(3)字节:8位二进制是一个字节。

字:16位二进制构成一个字。

字长:计算机的运算部件能同时处理的二进制数据的位数。

(4)指令指针:存放BIU要取的下一条指令的偏移地址。

指令寄存器:指令译码器:状态寄存器:(5)存储单元:存储内容:存储地址:存储容量:(6)RAM:ROM:软件固化:2.冯·诺依曼计算机结构的特点是什么?(1)采用二进制数的形式表示数据和指令。

(2)将指令和数据存放在存储器中。

(3) 计算机硬件由控制器,运算器,存储器,输入设备和输出设备5大部分组成。

3.件数计算机系统中复杂指令集和精简指令集的特点和用途。

复杂指令集(CISC):在微型计算机的体系结构组成结构上是以复杂指令为设计的计算机,在指令的运行过程中按指令的复杂程度来指挥计算机完成各条指令,由于各条指令复杂程度不同分配的时钟周期各不相同,执行指令所需时间就不相同。

CISC体系的指令集由微程序来实现,即每一个操作由若干微操作的程序组合来实现。

所以CISC可以使用微指令编程的方式实现多种和功能复杂的指令。

精简指令系统(RISC):不管计算机的指令如何复杂,在一个计算机时钟周期内完成,计算速度快,指令集简单。

每一条指令直接有硬布线实现,即它的每条指令原则上有自己的一套逻辑时序电路直接实现,所以单条指令的实现所占用的硬件资源较多。

因为该体系没有能采用增加单条指令的功能或高位的指令语义,也没有增加指令的条数,而是集中于它的精简指令集上。

4.CPU是计算机系统中的重要部件,试说明CPU的结构和功能。

微处理器是计算机中最关键的部件,由控制器,运算器,寄存器组和辅助部件组成。

汇编语言习题册,有答案已经收编

汇编语言习题册,有答案已经收编

汇编语言习题册(汇编语言课程设计组编制)汇编语言程序设计习题一.填空题1.汇编语言是一种_____,它用_____来表示操作码,用——或——来表示操作数或操作数地址,它与_________是一一对应的。

2.计算机中的指令由__________和________两部分组成。

3.指出下列指令源操作数的寻址方式:MOV AX, ARRAYF[SI] _______MOV AX, ES:[BX] _______MOV AX, [200H] _______MOV AX, [BX+DI] _______MOV AX, BX _______MOV AX, 1200H _______MOV AX, 20[BX+SI] _______MOV AX, [DI+20] _______4.现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100)=12H,(20101)=34,(20102)=56H,(20103)=78H,(21200)=2AH,(21201)=4CH,(21202)=B7H,I(21203)=65H,下列指令执行后填入AX寄存器的内容:MOV AX,1200H ;(AX)=_______MOV AX, BX ;(AX)=_______MOV AX,[1200H] ;(AX)=_______MOV AX, [BX] ;(AX)=_______MOV AX,1100[BX] ;(AX)=_______MOV AX,[BX][SI] ;(AX)=_______MOV AX,1100[BX][SI] ;(AX)=_______5.条件码中最主要的是_____、_____、______、______。

6.对于乘法、除法指令,其目的操作数存放在______或______中,而其源操作数可以用除_______以外的任一寻址方式。

7.当指令“SUB AX,BX”执行后,CF=1,说明最高有效位_____;对____数,说明操作结果溢出。

汇编语言程序设计习题及答案

汇编语言程序设计习题及答案

汇编语言程序设计习题及答案汇编语言程序设计习题及答案汇编语言是一种底层的计算机语言,它直接操作计算机的硬件资源。

虽然在现代计算机编程中,高级语言如C、Java等更为常见,但了解汇编语言的基本原理和编程技巧对于理解计算机底层工作原理和进行性能优化非常重要。

本文将介绍一些汇编语言程序设计的习题及其答案,帮助读者巩固和提升汇编语言编程能力。

一、基础习题1. 编写一个汇编程序,将存储器中的某个字节的值加1,并将结果存回原位置。

答案:```assemblyMOV AL, [地址]INC ALMOV [地址], AL```2. 编写一个汇编程序,计算存储器中一个数组的和,并将结果存放在指定的寄存器中。

答案:```assemblyMOV CX, 数组长度MOV BX, 数组首地址MOV AX, 0LOOP_START:ADD AX, [BX]ADD BX, 2LOOP LOOP_START```二、进阶习题1. 编写一个汇编程序,实现字符串的逆序输出。

答案:```assemblyMOV SI, 字符串首地址MOV DI, 字符串尾地址MOV CX, 字符串长度DEC CXREVERSE:MOV AL, [SI]MOV AH, [DI]MOV [DI], ALMOV [SI], AHINC SIDEC DILOOP REVERSE```2. 编写一个汇编程序,实现两个16位无符号整数的相乘,并将结果存放在指定的寄存器中。

答案:```assemblyMOV AX, 第一个数MOV BX, 第二个数MUL BX```三、挑战习题1. 编写一个汇编程序,实现一个简单的计算器,支持加法、减法、乘法和除法运算。

答案:```assemblyREAD_INPUT:; 读取用户输入; ...PARSE_INPUT:; 解析用户输入,获取操作数和运算符; ...CALCULATE:; 根据运算符进行相应的计算; ...DISPLAY_RESULT:; 将计算结果显示给用户; ...LOOP:; 循环执行计算器程序; ...```2. 编写一个汇编程序,实现一个简单的迷宫游戏,玩家通过键盘控制角色在迷宫中移动,并找到出口。

《汇编语言程序设计(1)》模拟试题一和答案

《汇编语言程序设计(1)》模拟试题一和答案

《汇编语言程序设计(1)》模拟试题一一、单项选择题(本大题共20个小题,每小题2分,共计40分)1、为了便于实现多级中断,保存现场信息最有效的方式是采用( )。

A、通用寄存器B、堆栈C、存储器D、寄存器2、8086CPU中有4个数据寄存器,其中AX除用作通用寄存器外,还可用作( )。

A、累加器B、计数器C、基址寄存器D、段寄存器3、如果(AL)=11111111B,执行INC AL指令后,CF= ( )。

A、1B、0C、2D、和执行INC AL指令之前的取值保持一致4、以下指令中,执行后要影响标志位的指令为( )。

A、MOV AL,BLB、LAHFC、CLCD、PUSHF5、在机器内部操作中,CPU与存储器之间的任何信息交换使用的都是( )。

A、逻辑地址B、物理地址C、有效地址D、相对地址6、用来表示堆栈指针的寄存器是( )。

A、IPB、BPC、SPD、SS7、8086CPU在基址加变址的寻址方式中,变址寄存器可以为()。

A、BX或CXB、CX或SIC、DX或SID、SI或DI8、如果当前(SP)=0058H,执行POP AX指令后,(SP)=( )。

A、60HB、56HC、59HD、5AH9、设DS=27FCH,某一数据存储单元的偏移地址为8640H,则数据存储单元的物理地址正确的是( )。

A、27FCHB、27FC0HC、8640HD、30600H10、PSW寄存器中共有( )位条件状态位,有( )位控制状态位。

A、6、3B、3、6C、8、4D、4、811、“与非”门中的某一个输入值为“0”,那么它的输出值( )。

A、为“0”B、为“1”C、取决于正逻辑还是负逻辑D、取决于其他输入端的值12、在段内寻址时,可以提供偏移地址的寄存器组是( )。

A、AX、BX、CX、DXB、BP、SS、IP、SIC、BX、BP、SI、DID、CS、DS、ES、SS13、为了便于实现多级中断,保存现场信息最有效的方式是采用( )。

《汇编语言程序设计》考试练习题及答案

《汇编语言程序设计》考试练习题及答案

《汇编语言程序设计》考试练习题及答案一、单选题1. 计算机中存取信息或数据的最小单位为()A 、位B 、字节C 、字D 、双字答案:B2. 调用子程序的指令为()A 、CALLB 、RETC 、HLTD 、NOP答案:A3. DOS功能调用是通过()指令去调用DOS系统提供的软件中断处理程序A 、INT 21HB 、INT 23HC 、INT 12HD 、INT 11H答案:A4. 满足()时,CPU允许中断A 、IF=0B 、IF=1C 、DF=0D 、DF=1答案:B5. 完成对CL寄存器的内容乘以4的正确操作是()。

A 、ROL CL,1 ROL CL, 1B 、MUL 4C 、SHL CL, 1 SHL CL, 1D 、MOV CL , 2 SHL CL, CL答案:C6. 下面寄存器中可以分为两个独立8位寄存器的是()A 、AXB 、DIC 、CSD 、SI答案:A7. ()是用二进制编码的机器指令的集合及一组使用机器指令的规则,是CPU能直接识别的唯一语言。

A 、汇编语言B 、机器语言C 、JAVA语言D 、C语言答案:B8. 源程序模块结束语句为()A 、ORGB 、ENDC 、SEGMENTD 、START答案:B9. 8位补码表示的有符号数的表示范围是()A 、0~255B 、-128~+127C 、0~65535D 、-32768~+32767答案:B10. 在一段汇编程序中多次调用另一段程序,用宏指令比用子程序实现起来,下列说法正确的是()A 、占内存空间小,但速度慢B 、占内存空间大,但速度快C 、占内存空间相同,但速度快D 、占内存空间相同,但速度慢答案:B11. 与LEABX ,BUF指令完全等效的指令是()。

A 、MOV BX ,BUFB 、LDS BX ,BUFC 、MOV BX ,OFFSET BUFD 、MOV BX ,WORD PTR BUF答案:C12. 14的非压缩BCD码为()A 、00010100B 、01000001C 、0000000000010100D 、0000000100000100答案:D13. 要实现使BETA的值为56,应采用的语句是()A 、BETA DB 56B 、BETA DB 56HC 、BETA EQU 56HD 、BETA EQU 56答案:D14. ()不可以做目的操作数A 、立即数B 、寄存器C 、存储器操作数D 、累加器答案:A15. 计算机一般由中央处理器、存储器和输入/输出子系统组成,其中()可以存放程序、数据、信息及中间结果。

汇编语言题库

汇编语言题库

《汇编语言程序设计》习题一、选择题1. 机器数为10000000B, 它代表-127D,则它是()。

A. 补码B. 原码C. 反码D. 原码或反码2.已知V AR为字节变量,下面是关于①MOV BX, OFFSET V AR和②LEA BX, V AR 指令的说明,正确的是()。

A.指令①执行速度比指令②执行速度快B.指令①中OFFSET只能与简单的符号地址相连,不能与诸如V AR[SI]等复杂数相连。

指令②LEA没有这个限制C.指令①有错误,因为V AR为字节变量,而BX为字D.指令①与指令②的作用完全相同3.下列指令中正确的是( )。

A.MOV 100,CL B.MOV CL,100HC.MOV CL,1000 D.MOV CL,1004.设(BX)=8D16H,执行指令序列MOV CL,7 SAR BX,CL 后BX寄存器的内容是()。

A.011AH B.0FF1AH C.2D1AH D.0B00H 5.在程序运行过程中,确定下一条指令的物理地址的计算表达式是()。

A.CS*16+IP B.BX*16+DIC.SS*16+SP D.ES*16+SI6.提示下列指令序列执行后的正确结果是()。

MOV BX,OFFFCHMOV CL,2SAR BX,CLA.3FFFH B.0FFFH C.0FFFCH D.0FFF5H7.下列指令中不影响标志位的是()。

A.SUB AX,BX B.ROR AL,1C.JNC LABLE D.INT n8.将寄存器AX的内容取负的正确操作是()。

A.NEG AX B.CMP AX,0FFFHC.NOT AX D.CMP AX,AX9. 指令SCAS的寻址方式是()。

A源操作数为寄存器寻址,目的操作数为寄存器间接寻址B 源操作数为寄存器间接寻址,目的操作数为寄存器间接寻址C 源操作数为寄存器间接寻址,目的操作数为寄存器寻址D 源操作数为寄存器寻址,目的操作数为寄存器寻址10. TABLE为字变量,下面是关于指令①MOV AX,TABLE与指令②LEA AX,TABLE的说明,错误的是()。

汇编语言程序设计基础练习一 (1)

汇编语言程序设计基础练习一 (1)

汇编语言程序设计练习一一填空题:1 设DS=2000H、BX=1256H,变量TABLE的偏移地址为20A1H,[232F7H]=3280H。

请问下列指令分别执行后,IP的值各是多少?①JMP BX ; IP=1256H②JMP TABLE[BX] ; IP=232f72 在8086/8088系统中,存储器是分段的,每段最大长度是2的16次方字节,段内偏移地址从0000 到FFFF H3 完成一个汇编语言程序的编制调试,通常需经过四个步骤:首先用编辑程序编出用户的源程序,然后通过运行汇编程序获得obj 程序(文件),接着运行连接装配程序,产生exe 程序(文件),最后通常使用dos 程序调试运行程序。

4 每个段都以符号segment 作为段的开始, 以语句ends 作为段的结束。

5 Intel 8086CPU的字长为16 位,地址总线为20 位,寻址范围为00000--FFFFFH6 在汇编语言中,一个标号和过程有near 和far 两种属性。

NEAR属性表明在段内转移和调用,FAR属性表示在段间转移和调用。

7 MOV AX,[1234H]指令中的源操作数的寻址方式为直接寻址方式,这是因为在代码中放入了操作数的所在的存储器地址。

8 8086/8088的存储器是分段的,因此存储单元的物理地址是由16d*段地址和偏移地址组合而成。

9 用二进制代码组成的计算机能直接识别的语言称为机器语言。

用机器指令的助记符以及伪指令,宏指令表示的一种面向机器的语言称汇编语言,用该语言编写的程序需经过汇编程序反汇编,成为计算机能直接识别并执行的程序称机器语言程序。

10 指令MOV AX,[BX+SI+10H]源操作数寻址方式是相对基址变址寻址方式。

11 存储器中,数据是以字节为单位存放的,它是一个8 位二进制数。

12 汇编语言源程序的扩展名是asm ,目标程序的扩展名是obj ,通常产生的可执行程序的扩展名是exe 。

高校计算机专业汇编语言程序设计练习题

高校计算机专业汇编语言程序设计练习题

高校计算机专业汇编语言程序设计练习题1. 程序题一:编写一个汇编程序,实现将前n个自然数的和存储在寄存器AX中。

要求通过键盘输入n的值,并将计算结果输出到屏幕上。

程序思路如下:- 读取键盘输入的n值,存储到内存变量n_value中。

- 使用循环将前n个自然数求和,计算结果存储到寄存器AX中。

- 将寄存器AX中的结果输出到屏幕上。

2. 程序题二:编写一个汇编程序,实现求一个正整数的二进制表示中1的个数。

要求通过键盘输入一个正整数,并将结果输出到屏幕上。

程序思路如下:- 读取键盘输入的正整数值,存储到内存变量num中。

- 使用循环和位运算的方式,统计num的二进制表示中1的个数。

- 将得到的1的个数结果输出到屏幕上。

3. 程序题三:编写一个汇编程序,实现对一个已经存储在内存中的字符串进行反转。

要求将反转后的字符串输出到屏幕上。

程序思路如下:- 将待反转的字符串存储到内存变量str中。

- 使用循环和栈操作的方式,对字符串进行反转。

- 将反转后的字符串输出到屏幕上。

4. 程序题四:编写一个汇编程序,实现对一个已经存储在内存中的数组进行排序。

要求将排序后的数组输出到屏幕上。

程序思路如下:- 将待排序的数组存储到内存变量array中。

- 使用循环和比较交换的方式,对数组进行排序。

- 将排序后的数组输出到屏幕上。

5. 程序题五:编写一个汇编程序,实现求一个已经存储在内存中的数组中的最大值。

要求将最大值输出到屏幕上。

程序思路如下:- 将待求最大值的数组存储到内存变量array中。

- 使用循环和比较的方式,找到数组中的最大值。

- 将最大值输出到屏幕上。

以上是五道高校计算机专业汇编语言程序设计的练习题,希望能够帮助你提升汇编语言编程的能力。

完成这些练习题可以加深对汇编语言程序设计的理解和熟练程度,同时提升解决实际问题的能力。

如果你能够自行尝试解答并编写相应的程序,将会获得更好的学习效果。

祝你在汇编语言程序设计的学习中取得进步!。

王庆生主编的汇编语言程序设计课后答案习题1详解

王庆生主编的汇编语言程序设计课后答案习题1详解

习题11.1把下列十进制数转换为二进制数和十六进制数。

(1)67 (2)34 (3)254 (4)123答:(1)67D=1000011B=43H(2)34D=100010B=22H(3)254D=11111110B=0feH(4)123D=1111011B=7bH1.2把下列二进制数转换为十六进制数和十进制数。

(1)01101101 (2)10110010 (3)111111答:(1)01101101B=6dH=109D(2)10110010B=0d2H=208D(3) 111111B=3fH=63D1.3作下列十六进制数的运算,并转换为十进制数校核。

(1)5a+64 (2)86-49 (3)123-9a (4)43*2b 答:(1) 5aH+64H=0beH90D+100D=190D正确(2)86H-49H=3dH134D-73D=61D正确(3)123H-9aH=89H291D-154D=137D正确(4)43H*2bH=0b3fH67D*43D=2881D正确1.4下列各数均为十进制数,请采用八位二进制补码运算,并回答标致寄存器flags中CF和OF的值,运算结果所代表的十进制数是多少?如果用十六进制补码运算,其结果所代表的十进制数是多少?FLAGS中CF和OF的值呢?(1)85+69 (2)85+(-69) (3)85-(-69) (3)85-(69)答:(1)八位二进制01010101+01000101=10011010=-102D CF=0,OF=1十六位二进制0000000001010101+0000000001000101=0000000010011010 =154DCF=0,OF=0(2)八位二进制01010101+10111011=00010000=16D CF=1,OF=0十六位二进制0000000001010101+1111111110111011=0000000000010000 =16DCF=1,OF=0(3)八位二进制01010101-10111011=10011010=-102D CF=1,OF=1十六位二进制0000000001010101-1111111110111011=0000000010011010 =154DCF=1,OF=0(4)八位二进制01010101-01000101=00010000=16D CF=0,OF=0十六位二进制0000000001010101-0000000001000101=0000000000010000 =16DCF=0,OF=01.5 实模式下,写出段地址和偏移地址为1234:2002、1430:0042、FF00:0FFF的物理地址。

汇编语言程序设计习题-答案

汇编语言程序设计习题-答案

4.1分析执行下列指令序列后的结果:1)MOVAX,1234HMOVBX,00FFHANDAX,BX【答】(AX)=0034H2)MOVAL,0101BANDAL,000111B;(AL)=000101BORAL,11000B;(AL)=110101BXORAL,0011B;(AL)=11010BNOTAL【答】(AL)=00101B3)MOVDL,05HMOVAX,0A00HMOVDS,AXMOVSI,0HMOVCX,0FHAGAIN:INCSICMP[SI],DLLOOPNE AGAINHLT本程序实现了什么功能?【答】在以0A001H开始的15个单元中查找05H。

4)MOVAX,DSEGADDRMOVDS, AXMOVES,AXMOVSI, OFFSET B1ADDRMOVDI,OFFSET B2ADDRMOVCX,NCLDREPMOVSBHLT本程序实现了什么功能?【答】将B1ADDR中N个字节数据传送到B2ADDR开始的15个存储单元。

5)MOVAX, 0HMOVDS,AXMOVES, AXMOVAL,05HMOVDI,0A000HMOVCX,0FHCLDAGAIN:SCASBLOOPNEAGAINHLT本程序实现了什么功能?【答】从地址0A000H开始的15个单元中查找字节型数据05H,用条件循环LOOPNZ,控制数据05H的查找。

4.2阅读程序:1).CLDLEADI,[0100H]MOVCX, 0080HXORAX, AXREPSTOSW本程序实现了什么功能?【答】将DS中起始地址为0100H的128个字节单元清零。

2).MOVAL, 08HSAL,01H;(AL)=000100HMOVBL, ALMOVCL ,02HSAL,CL;(AL)=01000HADDAL,BL;(AL)=0100H本程序实现了什么功能?【答】将AL中的内容乘以10。

4.3试分析下列程序完成什么功能?MOVDX,3F08HMOVAH,0A2HMOVCL,4SHLDX,CL;(DX)=F080HMOVBL,AHSHLBL,CL;(BL)=20HSHRBL,CL;(BL)=02HORDL,BL;(DL)=82H【答】将DX中的低4位数据8H分离出来,将AH中的低4位数据2H分离出来,合并为82H存放在DL。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

汇编语言程序设计练习一
一填空题:
1 设DS=2000H、BX=1256H,变量TABLE的偏移地址为20A1H,[232F7H]=3280H。

请问下列指令分别执行后,IP的值各是多少?
①JMP BX ; IP=1256H
②JMP TABLE[BX] ; IP=232f7
2 在8086/8088系统中,存储器是分段的,每段最大长度是2的16次方字节,段内偏移地址从0000 到FFFF H
3 完成一个汇编语言程序的编制调试,通常需经过四个步骤:首先用编辑程序编出用户的源程序,然后通过运行汇编程序获得obj 程序(文件),接着运行连接装配程序,产生exe 程序(文件),最后通常使用dos 程序调试运行程序。

4 每个段都以符号segment 作为段的开始, 以语句ends 作为段的结束。

5 Intel 8086CPU的字长为1
6 位,地址总线为20 位,寻址范围为00000--FFFFFH
6 在汇编语言中,一个标号和过程有near 和far 两种属性。

NEAR属性表明在段内转移和调用,FAR属性表示在段间转移和调用。

7 MOV AX,[1234H]指令中的源操作数的寻址方式为直接寻址方式,这是因为在代码中放入了操作数的所在的存储器地址。

8 8086/8088的存储器是分段的,因此存储单元的物理地址是由16d*段地址
和偏移地址组合而成。

9 用二进制代码组成的计算机能直接识别的语言称为机器语言。

用机器指令的助记符以及伪指令,宏指令表示的一种面向机器的语言称汇编语言,用该语言编写的程序需经过汇编程序反汇编,成为计算机能直接识别并执行的程序称机器语言程序。

10 指令MOV AX,[BX+SI+10H]源操作数寻址方式是相对基址变址寻址方式。

11 存储器中,数据是以字节为单位存放的,它是一个8 位二进制数。

12 汇编语言源程序的扩展名是asm ,目标程序的扩展名是obj ,通常产生的可执行程序的扩展名是exe 。

13 微型计算机一般都采用总线结构,系统总线的信号线有三组,即地址总线、数据总线和控制总线。

14 已知有一个物理地址34567H,可以采用的逻辑地址有3000H :4567H、3450H: 0067H 等。

二选择题:
1.指令JMP FAR PTR DONE 属于( c )
A.段内转移直接寻址B.段内转移间接寻址
C.段间转移直接寻址D.段间转移间接寻址
2.一个有128 个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是( c )
A.12CSBH B.12B6BH
C.12C59H D.12BFEH
3.8086CPU 在基址加变址的寻址方式中,变址寄存器可以为( d )A.BX 或CX B.CX 或SI
C.DX 或SI D.SI 或DI
4.已知BX=2000H,SI=1234H,则指令MOV AX,[BX+SI+2] 的源操作在( a )中。

A.数据段中偏移量为3236H 的字节
B.附加段中偏移量为3234H 的字节
C.数据段中偏移量为3234H 的字节
D.附加段中偏移量为3236H 的字节
5.串指令中的目的操作数地址是由______提供。

( c )
A.SS:[BP] B.DS:[SI]
C.ES:[DI] D.CS:[IP]。

相关文档
最新文档