文档库 最新最全的文档下载
当前位置:文档库 › 汇编语言程序设计习题及答案

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

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

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

汇编语言是一种底层的计算机语言,它直接操作计算机的硬件资源。虽然在现

代计算机编程中,高级语言如C、Java等更为常见,但了解汇编语言的基本原

理和编程技巧对于理解计算机底层工作原理和进行性能优化非常重要。本文将

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

程能力。

一、基础习题

1. 编写一个汇编程序,将存储器中的某个字节的值加1,并将结果存回原位置。答案:

```assembly

MOV AL, [地址]

INC AL

MOV [地址], AL

```

2. 编写一个汇编程序,计算存储器中一个数组的和,并将结果存放在指定的寄

存器中。

答案:

```assembly

MOV CX, 数组长度

MOV BX, 数组首地址

MOV AX, 0

LOOP_START:

ADD AX, [BX]

ADD BX, 2

LOOP LOOP_START

```

二、进阶习题

1. 编写一个汇编程序,实现字符串的逆序输出。答案:

```assembly

MOV SI, 字符串首地址

MOV DI, 字符串尾地址

MOV CX, 字符串长度

DEC CX

REVERSE:

MOV AL, [SI]

MOV AH, [DI]

MOV [DI], AL

MOV [SI], AH

INC SI

DEC DI

LOOP REVERSE

```

2. 编写一个汇编程序,实现两个16位无符号整数的相乘,并将结果存放在指定的寄存器中。

答案:

```assembly

MOV AX, 第一个数

MOV BX, 第二个数

MUL BX

```

三、挑战习题

1. 编写一个汇编程序,实现一个简单的计算器,支持加法、减法、乘法和除法运算。

答案:

```assembly

READ_INPUT:

; 读取用户输入

; ...

PARSE_INPUT:

; 解析用户输入,获取操作数和运算符

; ...

CALCULATE:

; 根据运算符进行相应的计算

; ...

DISPLAY_RESULT:

; 将计算结果显示给用户

; ...

LOOP:

; 循环执行计算器程序

; ...

```

2. 编写一个汇编程序,实现一个简单的迷宫游戏,玩家通过键盘控制角色在迷宫中移动,并找到出口。

答案:

```assembly

INIT_GAME:

; 初始化游戏状态、迷宫地图等

; ...

DISPLAY_GAME:

; 将当前迷宫状态显示给用户

; ...

READ_INPUT:

; 读取用户输入,控制角色移动

; ...

UPDATE_GAME:

; 根据用户输入更新游戏状态

; ...

CHECK_GAMEOVER:

; 检查游戏是否结束(找到出口或者失败)

; ...

LOOP:

; 循环执行游戏逻辑

; ...

```

通过以上习题的练习,读者可以逐步提升自己的汇编语言编程能力。同时,还可以尝试更复杂的习题或者根据实际需求编写汇编程序,深入理解计算机底层工作原理和优化技巧。

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

一、单项选择题(每小题1分,共20分) 1、设DS=8225H,DI=3942H,指令NEG BYTE PTR[DI]操作数的物理地址是(A) A、85B92H B、86192H C、BB690H D、12169H 2、下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是(B) A、AX,BX,CX,DX B、BX,BP,SI,DI C、SP,IP,BP,DX D、CS,DS,ES,SS 3、循环指令LOOPNZ终止循环的条件是(B)。 A、CX=0,且ZF=0 B、CX=0,或ZF=1 C、CX10,且ZF=0 D、CX10,或ZF=1 4、对寄存器AX的内容乘以4的正确指令序列是(B)。 A、SHR AX,1 /SHR AX,1 B、SHL AX,1/ SHL,AX,1 C、ROL AX,1 /ROL AX,1 D、RCR AX,1/ RCR AX,1 5、执行INC指令除对SF、ZF有影响外,还要影响的标志位是(A)。 A、OF,AF,PF B、OF,AF,CF C、OF,PF,CF D、AF,PF,CF 6、设DH=10H,执行NEG DH指令后,正确的结果是(D)。 A、DH=10H CF=1 B、DH=0F0H CF=0 C、DH=10H CF=0 D、DH=0F0H CF=1 7、下列传送指令中有语法错误的是(A)。 A、MOV CS,AX B、MOV DS,AX C、MOV SS,AX D、MOV ES,AX 8、下面指令执行后,改变AL寄存器内容的指令是(D)。 A、TEST AL,02H B、OR AL,AL C、CMP AL,BL D、AND AL,BL 9、执行除法指令后,影响的标志位是(D)。 A、CF,OF

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

汇编语言程序设计题目以及答案[P1] 汇编语言程序设计题目以及答案 汇编语言是一种底层计算机语言,它直接使用机器指令来编写程序。本文将介绍一些汇编语言程序设计的题目,并提供相应的答案。通过 这些题目和答案的学习,读者可以更好地理解和掌握汇编语言程序设 计的基本概念和技巧。 [题目一] 计算两个数的和 要求:编写汇编程序,计算两个给定的整数的和,并将结果存储在 指定的内存位置中。 答案: ```assembly section .data num1 dd 10 ; 第一个整数 num2 dd 20 ; 第二个整数 result dd 0 ; 结果 section .text global _start _start: mov eax, [num1] ; 将num1值存入寄存器eax

add 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 ; 执行系统调用 ``` [题目二] 字符串反转 要求:编写汇编程序,将一个给定的字符串反转,并将结果存储在指定的内存位置中。 答案: ```assembly section .data str db 'Hello', 0 ; 待反转的字符串

汇编语言程序设计试题和答案

《汇编语言程序设计》试题 专业姓名成绩 一、单项选择题(每1分,共15分). 1将下列二进制数0111,1111,1111 转换为16进制数和10进制数是() A.07FFH 3021D B. 6FEH 1021D C. 07FFH 2012D D. 07FFH 2047D 2. 在1BM Pc机的IN和OUT 指令中,I/o端口号通常是由Dx寄存器来提供的,但有时也可以在 指令中用一个字节来表示端口号。试问可以直接由指令指定的I/o端口号有多少个?( ) A. 127D B.255D C. 256D D.128D 3. 设MYDAT是一个字变量,下列指令中,错误的是() A.MOV BX,10100B B.MOV DS,AX C.ADD BX,[10100H] D.MOV BX,MYDAT[SI] 4.设有关寄存器及存储单元的内容如下:(DS)=2000H,(BX)=0100H,(SI)=0002H, (20100)=12H,(20102)=56H,(20103)=78H,(21200)=2AH,(21201)=4CH,(20202)=0B7H,(21203)=65H,试指出:MOV AX,1100h[BX]指令执行后,AX寄存器内是() A.5678H B.4C2AH C.2A4CH D.7856H 5.一台微型计算机的字长为16位,如果采用字节编址,那么它可以访问的最大存储空间是多少字节 ( ),试用16进制数表示该机的地址范围() A.1M 0~FFFFFH B.64K 0~FFFFH C.128K 0~FFFFH D.128K –FFH~FFH 6. 如果在一个程序段开始执行之前,(cs)=0A7F0H,(1P)=2B40H,试问该程序段的第一个字的物 理地址是() A.BAA40H B.AAB40H C.AAA40H D.0D603H 7.下列指令哪个是错误的(设OP1,OP2 是已经用DB定义的变量名)( ) A.CMP BL,OP1 B.MOV [BX],111001B C. INC OP2 D.SAR AX,CL 8.假定(DX)=10111001B,(CL)=05,(CF)=1试确定:RCL DL,CL 指令执行后, DX中的值是() A.00CEH B.009DH C.00B9H D.003BH 9. 有符号定义语句如下: BUFF DB 1,2,3,‘123’ EBUFF DB 0 L EQU EBUFF - BUFF 问L的值为多少( ) A.6D B.7D C.3D D.5D. 10. IBMPC机中下列那些寄存器可以用来存储存储器地址() A、BX,BP,SP,CX B、AX,SI,DI,DX C、BX,SI,DI,SP D、DX,SI,DI,SP 11.下列指令中正确的是() A.MOV [BX],[SI] B.MOV AX,[SI][DI] C.MOV BX,OFFSET NAME[SI] D.MOV BYTE PTR [100],100 12下列程序段执行后,寄存器BX中的内容是什么()

《汇编语言程序设计》期末复习题及答案_

《汇编语言程序设计》期末复习题及答案 一、选择(30题) 1.下列是8位带符号二进制数的补码,其中最大的是( B )。 A、10001000 B、00000001 C、00000000 D、11111111 2.在一段汇编语言程序中多次调用另一段程序,用宏指令比用子程序实现。 ( C ) A、占内存空间小,但速度慢 B、占内存空间相同,速度快 C、占内存空间大,但速度快 D、占内存空间相同,速度慢 3.数据定义为:EE DB 3,4 CC DW 3456H,6789H 执行指令“MOV CX,WORD PTR EE+1”后,(CX)= ( B ) A、0304H B、5604H C、3404H D、3456H 4.有如下指令序列: MOV AL,95H MOV CL,2 SAR AL,CL 上述指令序列执行后,AL的内容是( D ) A、05H B、25H C、24H D、0E5H 5.设A=18610,B=2738,C=0BB16,把这三个数看成无符号数,则它们之间的关系是( D )。 A、A>B>C B、 A

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

第一章微型计算机系统概述 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的结构和功能。 微处理器是计算机中最关键的部件,由控制器,运算器,寄存器组和辅助部件组成。 控制器是硬件系统的指挥部,负责从存储器中取出指令,分析指令,确定指令类型并对指令进行译码,按时间先后顺序负责向其他各部件发出控制信号,保证各部件协调工作。运算器是用来进行算术运算和逻辑运算的元件。寄存器组用来存放计算所需的各种操作数,地址

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

汇编语言程序设计习题及答案 汇编语言程序设计习题及答案 汇编语言是一种底层的计算机语言,它直接操作计算机的硬件资源。虽然在现 代计算机编程中,高级语言如C、Java等更为常见,但了解汇编语言的基本原 理和编程技巧对于理解计算机底层工作原理和进行性能优化非常重要。本文将 介绍一些汇编语言程序设计的习题及其答案,帮助读者巩固和提升汇编语言编 程能力。 一、基础习题 1. 编写一个汇编程序,将存储器中的某个字节的值加1,并将结果存回原位置。答案: ```assembly MOV AL, [地址] INC AL MOV [地址], AL ``` 2. 编写一个汇编程序,计算存储器中一个数组的和,并将结果存放在指定的寄 存器中。 答案: ```assembly MOV CX, 数组长度 MOV BX, 数组首地址 MOV AX, 0

LOOP_START: ADD AX, [BX] ADD BX, 2 LOOP LOOP_START ``` 二、进阶习题 1. 编写一个汇编程序,实现字符串的逆序输出。答案: ```assembly MOV SI, 字符串首地址 MOV DI, 字符串尾地址 MOV CX, 字符串长度 DEC CX REVERSE: MOV AL, [SI] MOV AH, [DI] MOV [DI], AL MOV [SI], AH INC SI DEC DI LOOP REVERSE ```

2. 编写一个汇编程序,实现两个16位无符号整数的相乘,并将结果存放在指定的寄存器中。 答案: ```assembly MOV AX, 第一个数 MOV BX, 第二个数 MUL BX ``` 三、挑战习题 1. 编写一个汇编程序,实现一个简单的计算器,支持加法、减法、乘法和除法运算。 答案: ```assembly READ_INPUT: ; 读取用户输入 ; ... PARSE_INPUT: ; 解析用户输入,获取操作数和运算符 ; ... CALCULATE: ; 根据运算符进行相应的计算 ; ...

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

一、单项选择题 从每小题的四个备选答案中,选出一个正确答案,并将正确答案的番号填人括号内。 1.用来存放下一条将要执行的指令地址的寄存器是 (B ) A.SP B.IP C.BP D.CS 2.要使串处理从低地址向高地址进行,应把标志位置为 (D ) A.IF=1 B.TF=0 C.DF=1 D.DF=0 3.使状态标志位CF清零的错误指令是 (C ) A.OR AX,AX B.SUB AX,AX C.MOV CF,0 D.CLC 4.设SP=1110H,执行PUSH AX指令后,SP的内容为 (B ) A.SP=1112H B.SP=110EH C.SP=1111H D.SP=110FH 5.汇编源程序出现语法错误的指令有 (D ) A.MOV [BX+SI],AL B. MOV AX,[BP+DI] C.MOV DS,AX D. MOV CS,AX 6.下列串操作指令中,必须同时指明源串和目的串地址的指令是 (D ) A.STOSW B.LODSW C.SCASW D.CMPSW 7.设BL中有一无符号数,实现把BL中的数乘以2,应选用的指令是 (B ) A.SHR BL,1 B.SHL BL,1 C.SAR BL,1 D.RCR BL,1 8.执行PUSH AX指令的正确步骤是 (A ) A.1.SP←SP-1,(SP)←AH B.1.(SP)←AH,SP←SP-1 2.SP←SP-1,(SP)←AL 2.(SP)←AL,SP←SP-1 C.1.SP←SP+1,(SP)←AH D.1.(SP)←AH,SP←SP+1 2.SP←SP+1,(SP)←AL 2.(SP)←AL,SP←SP+1 9.CF=1 时转移到目标地址的条件转移指令是 (B ) A.JNC B.JC C.JZ D.JS 10.在执行NEG指令时,对标志位CF有影响,其影响的规则是 ( C ) A.对正数求补时,CF=0 B.对负数求补时,CF=0 C.对非零数求补时,CF=1 D.对零求补时,CF=1 11.算术右移SAR和逻辑右移SHR两条指令执行后结果完全相同的情况是(A ) A.目的操作数最高位为0 B.目的操作数最高位为1 C.目的操作数为任意情况 D.无论什么情况都不可能相同 12.设AL=04H,BL=0F8H,执行IMUL BL指令后,结果是 ( D ) A.AX=0032H B.AX=00E0H C.AX=03E0H D.AX=0FFE0H 13.指令的操作数中,允许出现表达式,例如BUF1与BUF2均为变量名,下面指令中语法正确的是 (D ) A.MOV AX,BUFl*BUF2 B.MOV AX,BUF1/BUF2 C.MOV AX,BUF1+ES:BUF2

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

计算机组成原理与汇编语言程序设计课后习题及解答 徐, 第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)主存储器容量——可用字节数或单元数(字数)×位数来表示。 (5)外存容量——常用字节数表示。 (6)配备的外围设备及其性能。 (7)系统软件配置。 7.系统软件一般包括哪些部分?列举你所熟悉的三种系统软件。 系统软件一般包括操作系统,编译程序、解释程序、各种软件平台等。例如WINDOWS98操作系统,C语言编译程序等,数据库管理系统。 8.对源程序的处理有哪两种基本方式? 对源程序的处理通常有两种处理方式:解释方式和编译方式。 第2章习题二 1.将二进制数(101010.01)2 转换为十进制数及BCD码。 解:(101010.01)2 = (42.25)10 = (01000010.00100101)BCD 2.将八进制数(37.2)8转换为十进制数及BCD码. 解:(37.2)8 = (31.25)10 =(00110001.00100101)BCD 3.将十六进制数(AC.E)转换为十进制数及BCD码. 解: (AC.E)16 =(172.875)10 = 0.1)BCD 4.将十进制数(7 5.34)10转换为8位二进制数及八进制数、十六进制数。

《汇编语言程序设计》期末复习题及答案

汇编语言程序设计》期末复习题及答案 一、选择( 30 题) 1.下列是 8 位带符号二进制数的补码,其中最大的是( B )。 B、00000001 2.在一段汇编语言程序中多次调用另一段程序,用宏指令比用子程序实现 ( C ) C、占内存空间大,但速度快 3.数据定义为:EE DB 3 , 4 CC DW 3456H , 6789H 执行指令“ MOV CX WORD PTR EE+1'后,(CX = ( B ) B、5604H 4.有如下指令序列: MOV AL, 95H MOV CL, 2 SAR AL , CL 上述指令序列执行后,AL的内容是(D ) D、0E5H 5. 设A=186io, B=273s, C=0B^,把这三个数看成无符号数,则它们之间的关系是(D ) D、 A

A、ENDP 11 .用来存放下一条将要执行的指令代码段地址的段寄存器是( D ) D 、CS 12 .假定(SS) =1000H, (SP) =0100H, (AX)=5609H,执行指令 PUSH AX 后,存放数据56H 的物理地址是( D ) D、100FFH 13.执行“ SUB AX, [BP][DI] ”指令,取源操作数时,使用的物理地址表达式是( A ) A、16*SS+BP+DI 14 .设AX中有一带符号数 8520H,执行“ SAR AX, 1”指令后,AX中的值是(C ) C、0C290H 15 .设(BX =1234H,( DS =2000H, ( 21234H) =5678H,则指令“ LEA SI,[BX] ” 执行 后的结果是:( B ) B、SI=1234H 16 .测试BL中的数是否为负数,若为负数则转移至AA1处,横线处的指令应为( A ) A 、 JNE 17 .设 DF=Q (SI) =20H, (CX) =10,执行“ REP LODSW 指令后,SI 中的内容是(C ) C 、 34H 18.在程序执行过程中, IP 寄存器中始终保存的是( B ) B 、下一条指令的首地址 19 .设SP初值为2000H,执行指令“ POP AX'后,SP的值是(A ) A、2002H 20 .若 AX=3500H CX=56B8H 当 AND AX CX指令执行后, AX= ( A ) A、1400H 21 .汇编源程序时,出现语法错误的语句是( A ) A、MOV DS, 1200H 22 •将数据1234H存放在存储单元中的伪指令是( C ) C 、 DATA1 DB 34H, 12H 23 .下面指令执行后,可能改变AL寄存器内容的指令是( D ) D 、AND AL, BL

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

一、单项选择题(在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。) 1.为在一连续的存储单元中,依次存放数据41H,42H,43H,44H,45H,46H,可选用的数据定义语句是(D) A.DB 41,42,43,44,45,46 B.DW 4142H,4344H,4546H C.DW ‘AB’,‘CD’,‘EF’D.DW ‘BA’,‘DC’,‘FE’ 2.DA2 DB‘AB’,‘CD’ ┇ MOV AX,WORD PTR DA2+1 上述语句执行后AX中的值是(D) A.‘AD’B.‘BC’ C.‘DA’D.‘CB’ 3.下列数据定义语句中可实现留空20H个字节存储单元的是(D) A.DB 20 DUP(?) B.DW 20H DUP(?) C.DB 10H DUP(4 DUP(?)) D.DD 08H DUP(?) 4.如某存储器分段时,表示偏移地址是17位二进制代码,那么一个段最多的存储单元数是(D) A.32K字节B.32K字 C.64K字节D.64K字 5.下列寄存器中用来指示堆栈中任意数据区的偏移地址的是(B)A.BX B.BP C.SI D.DI 6.下列指令中有语法错误的是(C) A.PUSH AX B.PUSH [20H+SI+BX] C.POP CS D.PUSH CS 7.执行PUSH BP指令时,目的操作数的物理地址表达式是(D) A.16*SS+BP B.16*DS+BP C.16*CS+IP D.16*SS+SP 8.把BL中的数据输出到端口8CH中正确指令是(C) A.OUT 8CH,BL B.IN 8CH,BL C.MOV AL,BL D.MOV AL,BL OUT 8CH,AL IN 8CH,AL 9.结果为零的条件转移指令,其测试条件是(A) A.ZF=1 B.ZF=0 C.SF=l D.SF=0 10.下面程序段完成测试DA-BYTE字节单元中数是否为负数,若是则将全l送DH中,否则全0送DH中,那么程序段中方框里应填的语句是 MOV CH,0 MOV CH,0FFH ZERO:MOV DH,CH(C) A.JNZ ZERO B.JS ZERO

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

《汇编语言程序设计》必考试题及答案 一、选择题 1. 汇编语言属于 ____。 A. 高级语言 B. 机器语言 C. 低级语言 D. 自然语言 答案:C. 低级语言 2. 在汇编语言中,寄存器eax主要用于 ____。 A. 存储返回值 B. 存储函数参数 C. 存储局部变量 D. 存储全局变量 答案:A. 存储返回值 3. 汇编语言中,jmp指令用于 ____。 A. 设置循环条件 B. 调用子程序

C. 跳转到指定地址 D. 返回主程序 答案:C. 跳转到指定地址 二、简答题 1. 请简述汇编语言与高级语言的区别。 汇编语言是一种低级语言,使用助记符来代表机器指令,每条汇编 指令对应一条机器指令。而高级语言更加抽象,采用更接近人类自然 语言的表达方式,通过编译器将高级语言编写的程序转换为机器语言。 2. 请列举汇编语言常用的寄存器及其作用。 汇编语言常用的寄存器包括: - eax:主要用于存储返回值。 - ebx、ecx、edx:通用寄存器,用于暂存计算结果。 - esi、edi:源操作数寄存器和目的操作数寄存器,用于存储数据传 输时的源地址和目的地址。 - ebp、esp:用于管理函数调用过程中的栈帧。 - eip:指令指针寄存器,存储下一条将要执行的机器指令的地址。 三、编程题

请编写汇编语言程序,实现从键盘输入两个数,并将其相加后输出的功能。 ```assembly section .data prompt db '请输入两个数,以空格分隔:', 0 result db '两数相加的结果为:%d', 0 section .bss num1 resb 4 num2 resb 4 section .text global _start _start: ; 输出提示信息 mov eax, 4 mov ebx, 1 mov ecx, prompt mov edx, 20 int 0x80 ; 输入第一个数

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

4.1分析执行下列指令序列后的结果:1)MOVAX,1234H MOVBX,00FFH ANDAX,BX 【答】(AX)=0034H 2)MOVAL,0101B ANDAL,000111B;(AL)=000101B ORAL,11000B;(AL)=110101B XORAL,0011B;(AL)=11010B NOTAL 【答】(AL)=00101B 3)MOVDL,05H MOVAX,0A00H MOVDS,AX MOVSI,0H MOVCX,0FH AGAIN: INCSI CMP[SI],DL LOOPNE AGAIN HLT

本程序实现了什么功能? 【答】在以0A001H开始的15个单元中查找05H。 4)MOVAX,DSEGADDR MOVDS, AX MOVES,AX MOVSI, OFFSET B1ADDR MOVDI,OFFSET B2ADDR MOVCX,N CLD REPMOVSB HLT 本程序实现了什么功能? 【答】将B1ADDR中N个字节数据传送到B2ADDR开始的15个存储单元。5)MOVAX, 0H MOVDS,AX MOVES, AX MOVAL,05H MOVDI,0A000H MOVCX,0FH CLD AGAIN:

SCASB LOOPNEAGAIN HLT 本程序实现了什么功能? 【答】从地址0A000H开始的15个单元中查找字节型数据05H,用条件循环LOOPNZ,控制数据05H的查找。 4.2阅读程序: 1).CLD LEADI,[0100H] MOVCX, 0080H XORAX, AX REPSTOSW 本程序实现了什么功能? 【答】将DS中起始地址为0100H的128个字节单元清零。 2).MOVAL, 08H SAL,01H;(AL)=000100H MOVBL, AL MOVCL ,02H SAL,CL;(AL)=01000H ADDAL,BL;(AL)=0100H 本程序实现了什么功能?

汇编语言程序设计试题参考答案

汇编语言程序设计参考答案 A卷 一、单项选择题(本大题共8小题,每小题2分,共16分) 1.C 2.B 3.B 4.A 5.C 6.A 7.A 8.C 9.D 10.B 二、名词解释(本大题共5小题,每小题4分,共20分) 11.微处理器:也成中央处理器(CPU),是微型计算机的核心部件,包含运算器、控制器、寄存器组及总线接口等,负责对计算机系统各部件进行统一的协调和控制。 12.寻址方式:就是寻找操作数或操作数地址的方式,根据寻址方式可方便地访问各类操作数。 13.伪指令:是发送给汇编程序的命令,在汇编过程中由汇编程序进行处理,如定义数据、分配存储区、定义段及定义过程等。 14.中断源:指能引起中断的外部设备或内部原因。 15.汇编语言:是一种面向CPU指令系统的程序设计语言,采用指令助记符来表示操作码和操作数,用符号地址表示操作数地址。 三、简答题(本大题共4小题,每小题5分,共20分) 16.微型计算机系统软件的主要特点是什么? 计算机系统软件的主要特点是简化计算机操作,支持应用软件的运行并提供相关服务,通常包括操作系统、语言处理程序等。 17.什么是逻辑地址?他由哪两部分组成? 计算机存储器中给每个逻辑段编址的地址称逻辑地址。逻辑地址是在程序中使用的地址,他由段地址和偏移地址两部分构成。 18.一个完整的汇编源程序由那些逻辑段组成?各逻辑段的主要作用是什 么? 一般情况下汇编语言源程序应该由以下3个逻辑段组成: ①数据段:用来在内存中建立一个适当容量的工作区,以存放常数, 变量等程序需要对其进行操作的数据;

②堆栈段:用来在内存中建立一个适当容量的堆栈区,以便在中断、 子程序调用时使用; ③代码段:包括了许多以符号表示的指令,其内容就是程序需要执行 的具体操作。 19. DMA数据传送方式的特点是什么? DMA数据传送方式把外设与内存交换信息的操作与控制交给DMA控制器,简化了CPU对数据交换的控制,数据传送速度快,但这种方式电路结构复杂,硬件开销大。 20. 简述中断技术的优点。 ①CPU与外设可并行操作。 ②可对实时信息进行采集、处理和控制。 ③可对计算机出现的故障进行随机处理。 四、计算与分析(本大题共3小题,每小题5分,共15分) 21. 请将(158.625)10转为二进制。 结果:(10011110.101)2 22. 若一个程序段开始执行前,(CS)=33A0H,(IP)=0130H,则该程序段 启动执行指令的实际地址PA是多少? PA=(CS)×10H+(IP)=33A0H×10H+0130H=33B30H 23. 有两个16位的字31DAH和5E7FH,它们在8086系统存储器中的地址 分别为00130H和00134H,试画出它们的存储示意图。

汇编习题(含答案)

第一章基本知识 一、单项选择题 1.若十进制数为13 2.75,则其十六进制数为( B ) A.21.3 C.4.6 2.若[X]补=11111,则其十进制真值为(C ) 3.已知X=78,Y=-83则[X+Y]补=( C ) A.0F5H B.0A1H 4.已知[X]补=98H, 则[X]补/2=( A ) 二、填空题 1.(35)10 = (23)16。 2.(15)10 = (1111)2。 3. 计算机的存储容量1KB = (1024)Byte。 4. 计算机的存储容量1MB = (1024)KB。 5. 计算机的存储容量1GB = (1024)MB。 第二章8086计算机组织 一、单项选择题 1.在微机系统中分析并控制指令执行的部件是( C ) 2.在计算机的CPU中执行算术逻辑运算的部件是( A ) 3.能被计算机直接识别的语言是( C ) 4.8086/8088的存储器组织是将存储器划分为段,可作为段的起始地址的是( B )。A.185A2H B.01004H D. 0AB568H 5.堆栈中当前出栈的存储单元地址是( A ) A.SS*10H+SP B.SS*10H+BP C.SS*10+SP D.SS*10+BP 6.标志寄存器中属于控制标志位的是(B ) A.DF,OF,SF B.DF,IF,TF C.OF,CF,PF D. AF, OF, SF 7.8086/8088存储器分段,每个段不超过( D ) C. 1M个字节 D. 64K个字节

二、填空题 1. 假设某个字的值为1234H,其低位字节地址是20H,高位字节地址是21H,那么该字的地址是_______20H_____________。 2. 在8086/8088控制寄存器中,_______IP_________寄存器内容始终指向下一条指令的首地址,此时该指令物理地址计算式是_____CS*10H+IP__________________。 3. CPU的标志寄存器中标志位,可以分为两大类,其中一类成为___状态标志位________,另一类称为____控制标志位________标志位。 4. 当标志位___CF___=1时候表示无符号数运算产生溢出。而当标志位__OF______=1是表示带符号位数运算产生溢出。 1. 实模式下写出段地址和偏移地址为1234:2002、1430:0042、FF00:0FFF的物理地址。 答:物理地址=段地址*10H+偏移地址 (1)14342H (2)14342H (3)FFFFFH 2.从物理地址为00100H开始到00103H单元中顺序存放的数据为12H,34H,56H,78H。请画出数据存放示意图,并回答一下为题: (1)写出地址00101H字节单元的内容。 (2)写出地址00102字单元内容。 答: (1)(00101H)字节=34H (2)(00102H)字=7845H 第三章IBM PC机的寻址方式和指令系统 一、选择题 1.MOV AX,ES:[1000H] 源操作数的寻址方式是( B ) D.基址寻址 2.MOV AX,ES:COUNT[DI] 源操作数的寻址方式是( C ) D.基址变址寻址 3.MOV DX,COUNT[BP][DI]的源操作数的寻址方式是( D ) B.基址寻址 4.下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是( B ) A.AX,BX,CX,DX B.BX,BP,SI,DI C.SP,IP,BP,DX D.CS,DS,ES,SS 5.下列四组寄存器中,属于通用寄存器的是( A ) A.AX,BX,CX,DX B.SP,BP,IP C.SI,DI,FLAGS

汇编语言程序设计试卷

汇编语言程序设计试卷 一. (共75 题,共150 分) 1.下列说法错误的是。(2 分) A.机器指令的形式包含操作码和地址码 B.计算机只能够识别规定好的机器指令 C.不同计算机系统之间的机器指令能够相互兼容 D.汇编语言的主要操作和机器指令基本上一一对应 ★检查答案标准答案:C 2.两个有符号数相减,通过标志位判断结果是否溢出。(2 分) A.ZF B.CF C.SF D.OF ★检查答案标准答案:D (2 分) 3.汇编语言和高级语言的比较,下列说法错误的是 A.汇编语言和高级语言都不能被机器直接识别 B.完成同样的功能,汇编语言占据空间小 C.高级语言可以使用变量,但汇编语言不行 D.汇编语言中有类似于高级语言的宏功能 ★检查答案标准答案:C 4.下列寄存器中,哪个寄存器不能供汇编程序直接访问. (2 分) A.SP B.BP C.CS D.IP ★检查答案标准答案:D 5.下列寄存器,哪个不能作基址寄存器。(2 分) A.BX B.BP C.SI D.ESI ★检查答案标准答案:C 6.设有关寄存器及存储单元的内容如下:则指令MOV AX, 1100H[BX][SI] 执行完毕后,AX 寄存器中的值是 。(2 分) A.65B7H B.3412H C.4C2AH D.7856H ★检查答案标准答案:A

A.可以作立即寻址的操作数 B.也可作某些存贮器操作数的的位移量组成部分 C.在数据定义伪指令语句中给变量赋初值 D.可以作目的操作数 ★检查答案标准答案:D 8.若(ECX)=0ABCD1234H(BL)=0E3H,则语句MOVSX ECX,BL执行后:(ECX)的值为 。(2 分) A.0ABCD1234H B.0FFFFFFE3H C.000000E3H D.0ABCD12E3H ★检查答案标准答案:B (2 分) 9.若(AX)=0FFFDH ,则语句ADD AX,7FFFH 执行后,下列说法正确的是。 A.(AX) =7FFCH,(OF)=1 ,(CF)=1 B.(AX) =17FFCH ,(OF)=1 ,(CF)=1 C.(AX) =7FFCH,(OF)=0 ,(CF)=1 D.(AX)= 17FFCH ,(OF)=0 ,(CF)=1 ★检查答案标准答案:C 10.在语句INC SS:[BX] 中,操作数使用的段寄存器是。(2 分) A.DS B.ES C.CS D.SS ★检查答案标准答案:D 11.若(BX)= 0A2F4H,语句SAR BX, 2 执行后,(BX) = 。(2 分) A.0A2FH B.0E8BDH C.28DBH D.2F4AH ★检查答案标准答案:B 12.若(AX)=0FFFFH ,则指令XOR AX, 0AAAAH 执行后,(AX)= (2 分) A.0AAAAH B.5555H C.0FFFFH D.1111H ★检查答案标准答案:B 13.控制汇编程序应如何工作的约定符号称汇编控制命令,又称为。(2 分) A.条件跳转指令 B.机器指令 C.伪指令

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

汇编语言程序设计习题解答 1.指出下列指令的错误: (1)MOV AH,BX (2)MOV [BX],[SI] (3)MOV AX,[SI][DI] (4)MOV MYDAT[BX][SI],ES:AX (5)MOV BYTE PTR[BX],1000 (6)MOV BX,OFFSET MYDAT[SI] (7)MOV CS,AX 答:(1)MOV AH,BX AH 为八位,BX为16位 (2)MOV [BX],[SI] 两个操作数不能都是存储单元 (3)MOV AX,[SI][DI] 一个操作数中不能用两个变址寄存器 (4)MOV MYDAT [BX][SI],E8:AX ES ES 后应为一个变址寄存器,表示偏移量 (5)MOV BYTE PTR[BX],1000 BYTE 说明时BX进行字节操作。而1000为字 (6)MOV BX,OFFSET MYDAT [SI] OFFSET 为取某个地址的偏移量,故后面不应用[SI],而应是一个符号地址。 (7)MOV 是数据寻址,不应用程序段寄存器CS. 2.下面哪些指令是非法的?(假设OPl,OP2是已经用DB定义的变量) (1)CMP l5,BX (2)CMP OPl,25 (3)CMP OPl,OP2 (4)CMP AX,OPl 答:(1) CMP 15,BX 非法,两个操作数不能一个为字,一个为字节 (2)CMP OP1,25 正确 (3)CMP OP1,OP2 正确 (4)CMP AX,OP1 非法,两操作数不能一个为字,一个为字节 3.假设下列指令中的所有标识符均为类型属性为字的变量,请指出下列指令中哪些是非法的?它们的错误是什么? (1)MOV BP,AL (2)MOV WORD_OP[BX+4*3][DI],SP (3)MOV WORD_OPl,WORD_OP2 (4)MOV AX,WORD_OPl[DX] (5)MOV SAVE_WORD,DS (6)MOV SP,SS:DATA_WORD[BX][SI] (7)MOV [BX][SI],2 (8)MOV AX,WORD_ OPl+WORD_OP2 (9)MOV AX,WORD_ OPl-WORD_OP2+100 (10)MOV WORD_ OPl,WORD_ OPl-WORD_OP2 答:(1)MOV BP,AL

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

第一章.习题 1.1用降幂法和除法将下列十进制数转换为二进制数和十六进制数: (1) 369 (2) 10000 (3) 4095 (4) 32767 答:(1) 369=1 0111 0001B=171H (2) 10000=10 0111 0001 0000B=2710H (3) 4095=1111 1111 1111B=FFFH (4) 32767=111 1111 1111 1111B=7FFFH 1.2将下列二进制数转换为十六进制数和十进制数: (1) 10 1101 (2) 1000 0000 (3) 1111 1111 1111 1111 (4) 1111 1111 答:(1) 10 1101B=2DH=45 (2) 1000 0000B=80H=128 (3) 1111 1111 1111 1111B=FFFFH=65535 (4) 1111 1111B=FFH=255 1.3将下列十六进制数转换为二进制数和十进制数: (1) FA (2) 5B (3) FFFE (4) 1234 答:(1) FAH=1111 1010B=250 (2) 5BH=101 1011B=91 (3) FFFEH=1111 1111 1111 1110B=65534 (4) 1234H=1 0010 0011 0100B=4660 1.4完成下列十六进制数的运算,并转换为十进制数进行校核: (1) 3A+B7 (2) 1234+AF (3) ABCD-FE (4) 7AB× 6F 答:(1) 3A+B7H=F1H=241 (2) 1234+AFH=12E3H=4835 (3) ABCD-FEH=AACFH=43727 (4) 7AB×6FH=35325H=217893 1.5下列各数均为十进制数,请用8位二进制补码计算下列各题,并用十六进 制数表示其运算结果。

微机原理与汇编语言程序设计课后习题参考答案

第一章习题与参考答案 1. 微处理器,微型计算机和微型计算机系统三者之间有何区别? 答:微处理器即CPU,它包括运算器、控制器、寄存器阵列和内部总线等部分,用于实现微型计算机的运算和控制功能,是微型计算机的核心;一台微型计算机由微处理器、内存储器、I/O接口电路以及总线构成;微型计算机系统则包括硬件系统和软件系统两大部分,其中硬件系统又包括微型计算机和外围设备;由此可见,微处理器是微型计算机的重要组成部分,而微型计算机系统又主要由微型计算机作为其硬件构成。 2. CPU在内部结构上由哪几部分构成?CPU应具备哪些主要功能? 答:CPU在内部结构上由运算器、控制器、寄存器阵列和内部总线等各部分构成,其主要功能是完成各种算数及逻辑运算,并实现对整个微型计算机控制,为此,其内部又必须具备传递和暂存数据的功能。 3. 累加器和其它通用寄存器相比有何不同? 答:累加器是通用寄存器之一,但累加器和其它通用寄存器相比又有其独特之处。累加器除了可用做通用寄存器存放数据外,对某些操作,一般操作前累加器用于存放一个操作数,操作后,累加器用于存放结果。 4. 微型计算机的总线有哪几类?总线结构的特点是什么? 答:微型计算机的总线包括地址总线、数据总线和控制总线三类,总线结构的特点是结构简单、可靠性高、易于设计生产和维护,更主要的是便于扩充。 5. 举出10个微型计算机应用的例子。 答:略 6. 计算机I/O接口有何用途?试列出8个I/O接口。 答:计算机I/O接口是连接计算机和外部设备的纽带和桥梁,它主要用于协调和控制计算机与外设之间的信息流通和交换。例如:串行通讯口(COM口)、并行打印机口、软盘驱动器接口、硬盘驱动器接口、光驱接口、显示器接口、音响设备接口、其它通用设备接口(USB、SCSI等)。 7. 现在,计算机主板上一般都包括哪些I/O接口?I/O接口卡如何与主板相连? 答:现在,计算机主板上一般包括串行通讯口、并行打印口、软盘驱动器接口、硬盘驱动器接口、光驱接口、USB接口等。象显示器适配器、网卡、modem卡等I/O接口卡一般通过总线插槽与主板相连。 8. 简述系统总线,AGP总线,PCI总线及ISA总线的作用。 答:系统总线是CPU与存储器及桥接器之间传递信息的通道,AGP总线专门用与连接CPU与显示器适配器,PCI总线一般用于连接一些高速外设接口作为高速外设与CPU或内存交换信息的通道,而ISA总线一般用于连接一些非高速外设接口作为非高速外设与CPU或内存交换信息的通道。 9. 试说明计算机用户,计算机软件,计算机硬件三者的相互关系。 答:计算机用户,计算机软件系统,计算机硬件系统共同构成一个计算机应用系统,三者在该系统中处于三个不同的层次。计算机用户处于最高层,计算机软件处于中间层,计算机硬件系统处于最下层。在这里计算机用户是系统的主宰,他们通过软件系统与硬件系统发生关系,指挥计算机硬件完成指定的任务。即,计算机用户使用程序设计语言编制应用程序,在系统软件的干预下使用硬件系统进行工作。 10. 简述DOS操作系统各部分的作用及相互关系。 答:DOS操作系统包括3个模块:DOS-Shell(https://www.wendangku.net/doc/9f19135692.html,)、DOS-Kernel(https://www.wendangku.net/doc/9f19135692.html,)、DOS-BIOS(https://www.wendangku.net/doc/9f19135692.html,). DOS-Shell模块对用户输入的DOS命令行或应用程序行作出响应。即负责DOS命令的解释和

相关文档
相关文档 最新文档