8086汇编语言程序格式习题及答案

第4章 汇编语言程序格式 习题 练习题 1 单项选择题 1.下列选项中不能作为名字项的是( C)。 A.FH B.A3 C.3B D.FADC 2.下列指令不正确的是( )。 A.MOV AL,123 B.MOV AL,123Q C.MOV AL,123D D.MOV AL,123H 3.下列指令不正确的是( )。 A.MOV BL,OFFSET A (偏移量16位) B.LEA BX,A C.MOV BX,OFFSET A D.MOV BX,A 4.若定义“BUF DB 1,2,3,4”,执行MOV AL,TYPE BUF 后AL=( )。 A.0 B.1 C.2 D.3 5.若定义“A EQU 100”,执行“MOV AX,A”后,AX=( )。 A.A的偏移地址 B.A单元中的内容 C.100 D.A的段地址 6.若定义“B DW 1,2,10 DUP(0)”,则该伪指令分配( )字节单元。 A.10 B.20 C.22 D.24 7.若定义“C DD 2,4”,则该伪指令分配( )个字节单元。 A.2 B.4 C.6 D.8 8、伪指令是( )规定的汇编说明符,它在源程序汇编时进行说明。 A、DEBUG B、LINK C、MASM (汇编程序) D、EDIT 9.在上机操作过程中,MASM命令执行后,除了生成一个目标文件外,根据选择还可以生成一个( )文件。 A. .LST B. .EXE C. .MAP D. .ASM 10.LINK命令执行后可以生成一个以( )为扩展名的文件。 A.ASM B.EXE C.OBJ D.COM 11.一个段最大可定义( )字节。 A.1M B.64K C.32K D.16K 12.若要求一个段的起始位置能被256整除的单元开始,在定位方式选项中应选( )。 A.BYTE B.WORD C.PARA D.PAGE(页) 13.宏指令与子程序相比,在多次调用时,宏指令调用的目标程序长度比子程序调用的( )。 A.相同 B.长 C.短 D.不定 14.宏指令与子程序相比,子程序调用的执行速度比宏指令的( )。 A.相同 B.快 C.慢 (恢复断点、保护现场、恢复现场) D.不定 15.ASSUME伪指令说明了汇编程序所定义段与段寄存器的关系,它只影响( )的设定。 A.源程序 B.目标程序 C.汇编程序 D.连接程序 16.设A和B为字变量,C为标号,下列指令中不正确的是( )。 A.MOV AX,A (变量) B.MOV AX,B C.JNE A D.JMP C 17.代码段中的语句( )表示该段结束。 A.ASSUME B.CODE ENDS C.START:MOV AX,DATA D.END START 18.过程定义语句以“过程名PROC”开始,以过程名( )结束。 A.ENDS B.ENDP C.ENDM D.END 19.一个段可以放在内存的任何地方,但起始地址应该从一个能被( )整除的单元地址开始。 A.16 B.32 C.64 D.128 20.在数据定义语句中,下列描述不正确的是( )。 A.存放存储单元的地址可以用字节表示 B.存放存储单元的地址可以用字表示 C.存放存储单元的地址可以用双字表示 D.存放存储单元的地址可以用四字表示 2 多项选择题

1.在8086汇编语言中,语句的种类有( )。 A.指令性语句 B.指示性语句 C.汇编语句 D.说明语句 2.在下列的选项中,不能作为名字的有( )。 A.AX B.3MA C.ABCD D.MOV 3.在下列的选项中,作为变量的类型有( )。 A.字节 B.字 C.双字 D.近程 4.在下列的选项中,作为标号的类型有( )。 A.DB B.DD C.NEAR D.FAR 5.在运算符OFFSET后可以是( )。 A.标号 B.变量 C.表达式 D.数字 6.在指令“LEA BX,X”中的X可以是( )。 A.标号 B.变量 C.表达式 D.数字 7.不能分配内存单元的伪指令语句有( )。 A.EQU B.DW C.= D.DD 8.定义一个段的伪指令语句有( )。 A.NAME SEGMENT B.NAME PROC C.NAME ENDP D.NAME ENDS 9.定义一个过程的伪指令语句有( )。 A.NAME SEGMENT B.NAME PROC C.NAME ENDP D.NAME ENDS 10.宏指令与子程序的主要区别在于( )。 A.完成的功能完全不同 B.目标程序的长度不同 C.执行程序的速度不同 D.汇编时处理的方式不同 3 填空题 1.汇编语言的语句有指令语句和 指示性语句 ,宏指令是 指令语句 的另一种形式。 2.标号的三个属性是段地址、 偏移地址 和类型。 3.变量的三个属性是段地址、 偏移地址 和类型。偏移地址 4.标号的类型有 NEAR 和 FAR 。 5.变量的类型有 字节 、 字 、 双字 、四字(八字节)和十字节。 6.等价语句不能重复定义、等号语句 重复定义。 7.等价语句和等号语句 内存单元。 8.语句“MOV BX,OFFSET A”可用 LEA BX,A 一条指令代替。 9.若定义“A DW 1234H”,指令“MOV AL,BYTE PTR A”执行后,AL= 34H 。 10.若定义“B DW 1,2,30 DUP(5)”,则B分配的内存单元数是 64 字节。 11.若定义C DW „AB‟,则“MOV AL,BYTE PTR C”执行后,AL= 。 12.在程序的操作数项中使用的段名、标号名、变量名和符号名都必须在源程序中先 定义 ,否则汇编程序进行汇编时就会 报错 。 13.使用伪指令 和 定义一个段。 14.使用伪指令 和 定义一个过程。利用过程定义语句可以把程序分成小段,以便于 、 、调试和修改。 15.伪指令 表示整个程序结束。 16.宏展开就是用宏定义取代源程序中的宏指令。若实元个数大于变元个数,则多余的实元 。若实元个数少于变元个数,则多余的变元用 代替。 17.汇编语言源程序经 产生目标文件,它 直接在机器上运行,还必须经过 后形成可执行文件。 18.在数据段中使用字符串时,该字符必须用 括起来。当定义含有多个字符的字符串时,只能使用 伪指令。 19.用汇编语言编写的程序称为 ,其扩展名为 。 20.在源程序中只要对某一独立功能的程序段进行一次宏定义,就可以 次调用它。 4 简答题 1.按照下列题目要求写出每小题的伪指令。 (1)将12H、34H、56H、78H存放在字节变量A的存储单元中。 (2)将12、1638H、0E52H存放在字变量B的存储单元中。 (3)将字符串COMPUTER存放在C变量的存储单元中。 (4)将D字节变量的100个单元设置为0。 (5)将D的偏移地址存放在E变量中。 2.设数据段定义如下: DATA SEGMENT BUF1 DB 2,3 BUF2 DW 4,5,6 BUF3 DB 2,100 DUP(0) BUF4 DB „ABCDE‟ BUF5 DW BUF3 BUF6 EQU $-BUF3 DATA ENDS 请回答 :(1)该数据段占用的内存有多少字节? (2)BUF5单元中的值是多少? (3)BUF6的值是多少? (4)执行“MOV AL,BUF4+2”指令后,AL= 。 (5)执行“MOV AX,WORD PTR BUF1”指令后,AX= 。 3.设数据段定义如下: DATA SEGMENT A DW 23,45 B DW „EF‟ C = $+5 D DB 10 DUP(?) E EQU $-D F DW D DATA ENDS 请回答:(1)该数据段占用的内存有多少字节? (2)C的值为多少? (3)E的值为多少? (4)执行“MOV AX,F”指令后,AX= 。 (5)执行“MOV AL,BYTE PTR B”指令后,AL= 。 4.设数据段定义如下: DATA SEGMENT BUF1 DB 36H,3,2 BUF2 DW 1364H,253H BUF3 DB 30 DUP(„ABC‟) BUF4 DW $—BUF3 BUF5 DB 100 DUP(0) DATA ENDS 请回答 :(1)执行“MOV AX,WORD PTR BUF1”后,AX= 。 (2)执行“LEA BX,BUF3”后,BX= 。 (3)执行“MOV CX,BUF4”后,CX= 。 (4)执行“MOV AL,BUF3+2”后,AL= 。 (5)执行“MOV AX,BUF2+1”后,AH= 。 5.设数据段定义如下: DATA SEGMENT A1 DB 10 DUP(„ ‟) A2 DW 1234H,5678H,341H A3 DW $—A2 A4 DW A2 A5 DB 7,3,2 DATA ENDS 请回答:(1)用一条指令将A2的偏移地址送BX。 (2)将A1的第6个字节送字符„A‟的ASCII码 (3)将A2的第3个字节的内容送AL。 (4)将A2的第3个单元开始的字内容送AX。 (5)用一条伪指令求出A1和A2所占字节数(设伪指令的变量为C)。 6.设数据段定义如下: DATA SEGMENT A DW 2,3 B DB 100 DUP(0) C DD 12345678H D DB $—B E DW B DATA ENDS 请回答:(1)用一条指令将C的第2个字节的内容取出并送AL。 (2)执行完“MOV AL,LENGTH B”后,AL= 。 (3)执行完“MOV AL,TYPE C”后,AL= 。

合集下载

汇编语言习题与答案

汇编语言习题与答案

汇编语言习题与答案一、填空题:把答案填在题中横线上。

1.8位无符号整数的表示范围为0~255,写成16进制形式为00H~__________;8位有符号整数的表示范围为-128~+127,写成16进制形式为__________~__________。

2.8086/8088分段管理存储空间,但每段容量最大不超过__________。

3.逻辑地址为F000:100的存储单元,其物理地址是__________。

4.用来指示堆栈栈顶的偏移地址的是__________寄存器。

5.若要测试AL寄存器D4、D2、D0位是否都为0,则可使用__________指令语句(含操作数),以产生转移条件。

这条指令执行后将利用标志位__________实现转移。

6.若定义:bdata db2dup(1,2,2dup(3),4),则dbata变量前5个单元从低地址到高地址的数据依次是__________。

7.假设varw是一个16位变量,则指令“mov varw,ax”的目的操作数的寻址方式是__________。

二、选择题:在每小题给出的四个选项中,只有一项是符合题目要求的,请把所选项前的字母填在题后的括号内。

1.对汇编语言源程序进行翻译,形成OBJ文件的是A.汇编程序B.连接程序C.编辑程序D.调试程序[]2.下列各个8位二进制数的补码中,真值最大的是A.10001000B.11111111C.00000000D.00000001[]3.MASM语句中,表达常数不正确的形式是A.01101001BB.A346HC.’A’D.5600[]4.如果SS=600H,则说明堆栈段物理地址起始于A.60HB.600HC.6000HD.60000H[]5.dw50dup(?)预留了存储空间的字节数是A.25B.50C.100D.200[]6.下列指令中有操作数在代码段中的是A.mov ax,34hB.add ax,bxC.inc word ptr[34h]D.cmp ax,[34h][]7.假设AL=5,要使得AL=0FAH,应执行的指令是A.not alB.and al,0fhC.xor al,0f0hD.or al,0fh[]8.设置逻辑段应该采用的一对伪指令是A.segment/endsB.start/end startC.proc/endpD.macro/endm[]9.条件转移指令JNE条件是A.CF=0B.CF=1C.ZF=0D.ZF=1[]10.逻辑移位指令SHL可用于A.有符号数乘以2B.有符号数除以2C.无符号数乘以2D.无符号数除以2[]11.执行“in al,dx”指令后,进入AL寄存器的数据来自A.寄存器B.存储器C.立即数D.外设端口[]12.将十进制数75以压缩BCD码送入AX,正确的指令是A.mov ax,0075B.mov ax,0705C.mov ax,0075hD.mov ax,0705h[]13.如下指令可将AX寄存器内容改变的是A.cmp ax,bxB.test ax,bxC.and ax,bxD.xchg ax,bx[]14.设AH=10H,执行“neg ah”指令后,正确的结果是A.AH=10H、CF=1B.AH=F0H、CF=0C.AH=10H、CF=0D.AH=F0H、CF=1[]15.如下程序段:again:mov es:[di],alinc diloop again可用指令__________完成相同的功能。

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

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

汇编语言程序设计教案及习题答案教案章节:一、汇编语言简介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. 汇编语言学习的方法与建议(正确)重点和难点解析本文主要介绍了汇编语言程序设计的基础知识和应用领域,通过详细的章节安排,从汇编语言的基本概念、语法规则、程序设计步骤、常用指令及其功能、输入输出操作、杂项指令、子程序调用、程序举例、调试与优化等方面进行了深入讲解。

完整word版,MCS_8086习题7_答案(部分)

完整word版,MCS_8086习题7_答案(部分)

习题7答案1.请编写完整8086汇编语言程序统计0801~0803班计算机原理考试成绩:●假设成绩存放在数据段0000H开始的85个字节单元中;●将成绩从高到低进行排序;●统计最高成绩和最低成绩,分别存放在字节变量max和min单元中;●统计不及格人数,存放在字节变量var1中;●统计90~99分人数,存放在字节变量var2中;●计算85人平均成绩,存放在字节变量avg中;data segment paraorg 0056Hmax db 0min db 0var1 db 0var2 db 0avg db 0sum dw 0cnt equ 85data endsss_seg segment stackdw 100 dup(0)ss_seg endscode segment paraassume cs:code, ds:data, ss:ss_segmain proc farmov ax, datamov ds, axmov cx, cnt-1circle1: ; sort the scorepush cxmov bx, 0mov dx, 0circle2:mov al, [bx]cmp al, [bx + 1]jae nextxchg al, [bx + 1]mov [bx], almov dx, 1next:inc bxloop circle2pop cxcmp dx, 1jz main1loop circle1main1:mov max, [0000H] ; get the maxmov max, [0054H] ; get the minmov cx, cnt ; calculate var1, var2 and avgmov bx, 0circle3: mov al, [bx]mov ah, 0add sum, ax ; get the sum of scorecmp al, 90jae main2cmp al, 60jb main3jmp main4main2: inc var2 ; 90~99 numberjmp main4main3: inc var1 ; < 60 numbermain4: inc bxloop circle3mov dl, cntmov ax, sumdiv dlmov avg, al ; get the average scoremov ax, 4c00hint 21h ; return OSmain endpcode endsend main2 如图6-1所示,以IBM-PC/XT计算机为核心构成的炉温控制系统。

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

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

汇编语言程序设计习题答案第一章. 习题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=7FFFH1.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=2551.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=46601.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=2178931.5下列各数均为十进制数,请用8位二进制补码计算下列各题,并用十六进制数表示其运算结果。

(1) (-85)+76 (2) 85+(-76) (3) 85-76 (4) 85-(-76) (5) (-85)-76 (6) -85-(-76)答:(1) (-85)+76=1010 1011B+0100 1100B=1111 0111B=0F7H;CF=0;OF=0(2) 85+(-76)=0101 0101B+1011 0100B=0000 1001B=09H;CF=1;OF=0(3) 85-76=0101 0101B-0100 1100B=0101 0101B+1011 0100B=0000 1001B=09H;CF=0;OF=0(4) 85-(-76)=0101 0101B-1011 0100B=0101 0101B+0100 1100B=10100001B=0A1H;CF=0;OF=1(5) (-85)-76=1010 1011B-0100 1100B=1010 1011B+1011 0100B=0101 1111B=5FH;CF=0;OF=1(6) -85-(-76)=1010 1011B-1011 0100B=1010 1011B+0100 1100B=11110111B=0F7H;CF=0;OF=01.6下列各数为十六进制表示的8位二进制数,请说明当它们分别被看作是用补码表示的带符号数或无符号数时,它们所表示的十进制数是什么?(1) D8 (2) FF答:(1) D8H表示的带符号数为-40,D8H表示的无符号数为216;(2) FFH表示的带符号数为-1,FFH表示的无符号数为255。

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

汇编语言程序设计 习题与答案.ppt
习题与答案
❖第一章 基础知识 ❖第二章 80x86计算机组织 ❖第三章 指令系统和寻址方式 ❖第四章 汇编语言程序格式 ❖第五章 循环与分支程序设计 ❖第六章 子程序设计 ❖第七章 高级汇编语言技术 ❖第八章 输入输出程序设计
2020-6-17
谢谢阅读
1
第一章 基础知识 1. P14,1、2、6、7题。
系统程序。 13. 连接程序I:把若干模块连接成可执行文件的系统程序 14. 指令O:告诉CPU要执行的操作,在程序运行时执行 15. 伪指令N:由汇编程序在汇编过程中执行的指令。
谢谢阅读
2020-6-17
13
第三章 指令系统和寻址方式
• P107,1、2、3、4、5、8、13、14、15、17、 18、19、23、25、27、29、30、32、33、35、 37、38、49、51题。
– 逻辑地址:3010:007A
• 3010H * 16D + 7AH = 30100H + 7AH = 3017AH
– 总结:
• 同一物理地址,可用不同逻辑地址表示。
谢谢阅读
2020-6-17
11
第二章 80x86计算机组织 — 2.9
2.9:CPU、存储器、堆栈、IP、SP、状态标志 1. CPUM:分析、控制、执行指令的部件, 由ALU与寄存器等组成。 2. 存储器C:存储程序、数据等信息的记忆装 置,微机有RAM与ROM两种。 3. 堆栈D:以后进先出方式工作的存储空间。 4. IPB:指示下一条指令的地址。 5. SPA:保存当前栈顶地址的寄存器。 6. 状态标志L:记录指令操作结果的标志。 7. 控制标志K:控制操作的标志,如DF位。 8. 段寄存器J:保存各段起始地址的寄存器。

80x86汇编语言程序设计课后答案

80x86汇编语言程序设计课后答案

80x86汇编语言程序设计课后答案【篇一:《80x86汇编语言程序设计》教案及答案(第二版)】汇编语言程序设计》(第2版)沈美明、温冬婵编著教案编写时间:2007年8月18日前言1. 汇编语言是计算机能提供给用户的最快而又最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言。

2. 汇编语言程序设计是高等院校电子计算机硬、软件及应用专业学生必修的核心课程之一。

它不仅是计算机原理、操作系统等其它核心课程的必要先修课,而且对于训练学生掌握程序设计技术、熟悉上机操作和程序调试技术都有重要作用。

3. 本教材共有十一章,其内容安排如下:(1). 第一、二章为汇编语言所用的基础知识。

(2). 第三章详细介绍80x86系列cpu的指令系统和寻址方式。

(3). 第四章介绍伪操作、汇编语言程序格式及汇编语言的上机过程。

(4). 第五、六章说明循环、分支、子程序结构和程序设计的基本方法。

(5). 第七章说明宏汇编、重复汇编及条件汇编的设计方法。

(6). 第八章叙述输入/输出程序设计方法,重点说明中断原理、中断过程及中断程序设计方式。

(7). 第九章说明bios和dos系统功能调用的使用方法。

(8). 第十~十一章分别说明图形显示、发声及磁盘文件存储的程序设计方法,同时提供各种程序设计方法和程序实例。

附:教学参考书1. 沈美明、温冬婵编著,ibm–pc汇编语言程序设计(第2版),清华大学出版社,2001年(教材)2. 沈美明、温冬婵编著,ibm–pc汇编语言程序设计,清华大学出版社,1991年3. 沈美明、温冬婵编著,ibm–pc汇编语言程序设计—例题习题集,清华大学出版社,1991年6月4. 沈美明、温冬婵、张赤红编著,ibm–pc汇编语言程序设计—实验教程,清华大学出版社,1992年5. 周明德,微型计算机ibm pc/xt(0520系列)系统原理及应用(修订版),清华大学出版社,19916. 郑学坚、周斌,微型计算机原理及应用(第二版),清华大学出版社,19957. 王士元、吴芝芳,ibm pc/xt[长城0520] 接口技术及其应用,南开大学出版社,19908. 杨素行,微型计算机系统原理及应用,清华大学出版社,19959. 戴梅萼、史嘉权,微型计算机技术及应用—从16位到32位(第二版),清华大学出版社,199610. 张昆藏,ibm pc/xt微型计算机接口技术,清华大学出版社,199111. 孟绍光,李维星,高档微机组成原理及接口技术(80386/80486/pentium),学苑出版社,199312. 吴秀清,周荷琴,微型计算机原理与接口技术,中国科学技术大学出版社目录第 1 章基础知识 ....................................................................................................... .. (1)1.1 进位计数制与不同基数的数之间的转换 (1)1.2 二进制数和十六进制数的运算 ....................................................................................................... .. (2)1.3 计算机中数和字符的表示 ....................................................................................................... . (3)1.4 几种基本的逻辑运算 ....................................................................................................... (3)第 2 章 80x86计算机组织 ....................................................................................................... . (4)2.1 80x86微处理器 ....................................................................................................... . (4)2.2 基于微处理器的计算机系统构成 ....................................................................................................... . (4)2.3 中央处理机 ....................................................................................................... . (5)2.4 存储器 ....................................................................................................... (6)2.5 外部设备 ....................................................................................................... .. (7)第 3 章 80x86的指令系统和寻址方式 ....................................................................................................... .. (8)3.1 80x86的寻址方式 ....................................................................................................... (8)3.2 程序占有的空间和执行时间 ....................................................................................................... . (10)3.3 80x86的指令系统 ....................................................................................................... . (10)第 4 章汇编语言程序格式 ....................................................................................................... .. (26)4.1 汇编程序功能 ....................................................................................................... . (26)4.2 伪操作 ....................................................................................................... . (26)4.3 汇编语言程序格式 ....................................................................................................... .. (30)4.4 汇编语言程序的上机过程 ....................................................................................................... .. (33)第 5 章循环与分支程序设计 ....................................................................................................... . (35)5.1 循环程序设计 ....................................................................................................... . (35)5.2 分支程序设计 ....................................................................................................... . (36)5.3 如何在实模式下发挥80386及其后继机型的优势 (36)第 6 章子程序结构 ....................................................................................................... .. (37)6.1 子程序的设计方法 ....................................................................................................... .. (37)6.2 子程序的嵌套 ....................................................................................................... . (38)6.3 子程序举例 ....................................................................................................... .. (38)第 7 章高级汇编语言技术 ....................................................................................................... .. (39)7.1 宏汇编 ....................................................................................................... . (39)7.2 重复汇编 ....................................................................................................... . (40)7.3 条件汇编 ....................................................................................................... . (41)第 8 章输入/输出程序设计 ....................................................................................................... . (42)8.1 i/o设备的数据传送方式 ....................................................................................................... .. (42)8.2 程序直接控制i/o方式 ....................................................................................................... . (43)8.3 中断传送方式 ....................................................................................................... . (43)第 9 章 bios和dos中断 ....................................................................................................... . (46)9.1 键盘i/o ....................................................................................................... .. (46)9.2 显示器i/o ....................................................................................................... . (48)9.3 打印机i/o ....................................................................................................... . (49)9.4 串行通信口i/o ....................................................................................................... .. (50)第 10 章图形与发声系统的程序设计 ....................................................................................................... ........... 51 10.1 显示方 (51)10.2 视频显示存储器 ....................................................................................................... .................................. 51 10.3 ega/vga图形程序设计 ....................................................................................................... .................... 52 10.4 通用发声程序 ....................................................................................................... ...................................... 53 10.5 乐曲程序 ....................................................................................................... . (54)第 11 章磁盘文件存取技术 ....................................................................................................... ........................... 55 11.1 磁盘的记录方式 ....................................................................................................... .................................. 55 11.2 文件代号式磁盘存取 ....................................................................................................... .......................... 56 11.3 字符设备的文件代号式i/o ....................................................................................................... ................ 57 11.4 bios磁盘存取功能 ....................................................................................................... .. (58)附录:《ibm—pc汇编语言程序设计》习题参考答案 ............................................................................... 59 第一章.第二章.第三章.第四章.第五章.第六章.第七章.第八章.第九章.第十章.第十一章. 习题 ....................................................................................................... ................. 59 习................. 60 习题 ....................................................................................................... ................. 61 习题 ....................................................................................................... ................. 74 习题 ....................................................................................................... ................. 79 习题 ....................................................................................................... ................. 97 习题 ....................................................................................................... ............... 110 习题 ....................................................................................................... ............... 117 习题 ....................................................................................................... ............... 122 习题 ....................................................................................................... ............... 125 习题 ....................................................................................................... (136)错误!未指定书签。

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

《汇编语言程序设计》复习题一、填空题1、8086CPU内部结构按功能分为两部分,即 BU(执行部件)和 BIU(总线接口部件)。

2、CPU中的总线接口部件BIU,根据执行部件EU的要求,完成CPU与主存储器或I/0端口之间的数据传送。

3、8086中的BIU由四个 16 位段寄存器、一个 16 位指令指针、 6 字节指令队列、 20 位地址加法器和总线控制电路组成。

4、8086/8088的执行部件EU由 8 个通用寄存器、 1 个专用寄存器、一个标志寄存器和 ALU 等构成。

5、根据功能不同,8086的标志位可分为状态标志和控制标志。

6、8086/8088构成的微机中,每个主存单元对应两种地址:段基值和偏移量。

7、8086CPU具有 20 根地址线,直接寻址能力可达 1M 。

8、逻辑地址由段基值和偏移量组成,其中的段基值是由段寄存器存储。

9、计算机的指令由操作码和地址码两部分组成。

10. 零地址指令是不带地址码的机器指令,其操作数是由隐含指定提供的。

11. 8088CPU中共有 14 个寄存器,这些寄存器为 16 位。

12. F标志寄存器共有9个标志位,除OF、SF、AF和CF外,还有 DF 、 IF 、 TF 、▁ ZF 和 PF ,其中用于记录是否产生进位的标志位是 CF 。

13. 标号和变量所具有的三种属性分别为段属性、偏移量属性和类型属性。

14. 操作数有三种类型,分别为常数操作数、寄存器操作数和存储器操作数。

15. 一个源程序中可以包含代码段、数据段堆栈段及附加段。

其中代码段是源程序中必不可少的,其它的段可有可无。

16. SEGMENT/ENDS称为段定义伪指令;ASSUME称为段寻址伪指令;NAME/END称为模块定义伪指令;源程序结束伪指令为 END ;过程定义伪指令为 PROC/ENDP 。

数据定义伪指令为 DB 、 DW 、DD 。

17. 一般DOS系统功能调用的步骤为:(1) 送入口参数到指定寄存器;(2)送功能号至AH ;(3)软中断指令INT 。

汇编语言程序设计教程(第二版)习题参考答案

汇编语言程序设计教程(第二版)习题参考答案第1章计算机基础知识1.计算机的应用分哪几个方面,请举例说明书中未提到的领域的计算机应用。

科学计算、数据处理、计算机控制、计算机辅助设计、人工智能、企业管理、家用电器、网络应用。

书中未提及的如:远程教育、住宅小区控制、飞行系统控制与管理等。

2.简述计算机的发展过程,请查阅相关资料,列出微机的发展过程。

电子管、晶体管、集成电路、大规模集成电路以IBM为例,微机的发展:4004、8008、8080、8086/8088、80286、80386、80486、Pentium 系列3.计算机的字长是怎么定义的,试举例说明。

计算机能同时处理二进制信息的位宽定义为计算机的字长。

如8086能同时进行16位二进制数据的运算、存储和传输等操作,该机器的字长为16位。

4.汇编语言中的基本数据类型有哪些?数值型数据和非数值型数据。

非数值数据如字符、字符串、逻辑值等。

(1)7BCH=011110111100B=1980D(2)562Q=101110010B=370D(3)90D=01011010B=5AH(4)1110100.111B=164.7Q=74.EH30H~39H 41H~5AH 61H~7AH9.在汇编语言中,如何表示二进制、八进制、十进制和十六进制的数值?用相应进制的数值加上进制标记即可。

二进制用B,如10101010B八进制用Q,如437Q。

十进制用D或不用,如54D,或54。

十六进制用H,如27A8H10.完成下列二进制数的加减运算。

(1)10101010 + 11110000 (2)11001100 + 01010100=110011010 =100100000(3)11011010 - 01010010 (4)11101110 - 01001101=10001000 =1010000111.完成下列十六进制数的加减运算。

(1)0FEA9 - 8888=7621H (2)0FFFF - 1234=EDCBH(3)0EAC0 + 0028=EAE8H (4)3ABC + 1678=5134H12.完成下列BCD码的运算。

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

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

1.用来存放下一条将要执行的指令地址的寄存器是(B)A.SP B.IP C.BP D.CS2.要使串处理从低地址向高地址进行,应把标志位置为(D)A.IF=1B.TF=0C.DF=1D.DF=03.使状态标志位CF清零的错误指令是(C)A.OR AX,AX B.SUB AX,AXC.MOV CF,0D.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,1B.SHL BL,1C.SAR BL,1D.RCR BL,18.执行PUSH AX指令的正确步骤是(A)A.1.SP←SP-1,(SP)←AH B.1.(SP)←AH,SP←SP-12.SP←SP-1,(SP)←AL2.(SP)←AL,SP←SP-1C.1.SP←SP+1,(SP)←AH D.1.(SP)←AH,SP←SP+12.SP←SP+1,(SP)←AL2.(SP)←AL,SP←SP+19.CF=1时转移到目标地址的条件转移指令是(B)A.JNC B.JC C.JZ D.JS10.在执行NEG指令时,对标志位CF有影响,其影响的规则是(C)A.对正数求补时,CF=0B.对负数求补时,CF=0C.对非零数求补时,CF=1D.对零求补时,CF=111.算术右移SAR和逻辑右移SHR两条指令执行后结果完全相同的情况是(A)A.目的操作数最高位为0B.目的操作数最高位为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.0B4H B.80H C.34H D.016.直接、间接、立即三种寻址方式指令的执行速度,由快至慢的排序为(A )A.立即、直接、间接B.直接、间接、立即C.直接、立即、间接D.不一定17.语句DA1DB 2DUP(3,5,7)汇编后,该语句可等同于的语句是(D )A.DA1DB 3,5,7B.DA1DB 2,3,5,7C.DA1DB 3,5,7,2D.DA1DB 3,5,7,3,5,718.MOV AL,80HMOV CL,2SAR AL,CL上述指令序列执行后,结果是(D )A.AL=40H B.AL=20HC.AL=0C0H D.AL=0E0H19.下面是实现将AL 内容加1的压缩型BCD 码加法程序段,其中正确的指令序列是(A )A.INC AL B.ADD AL,1DAA DASC.ADD AL,1D.STCDAA AAA20.现有数据存储如图所示:30100H 30101H 30102H 30103H 设AL=01H,BX=0100H,DS=3000H 执行换码指令XLAT 后正确的结果是(B )A.AL=20H B.AL=38HC.AL=00H D.AL=41H21.若定义DAT DW 'A',则(DAT)和(DAT+1)两个相邻的内存中存放的数据是(B )A.0041H B.4100H 20H38H41H55HC.xx41H D.41xxH[注]选项C.和D.中的XX表示任意数据。

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

《汇编语言程序设计》必考试题及答案一、选择题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:指令指针寄存器,存储下一条将要执行的机器指令的地址。

三、编程题请编写汇编语言程序,实现从键盘输入两个数,并将其相加后输出的功能。

```assemblysection .dataprompt db '请输入两个数,以空格分隔:', 0result db '两数相加的结果为:%d', 0section .bssnum1 resb 4num2 resb 4section .textglobal _start_start:; 输出提示信息mov eax, 4mov ebx, 1mov ecx, promptmov edx, 20int 0x80; 输入第一个数mov ebx, 0mov ecx, num1 mov edx, 4int 0x80; 输入第二个数 mov eax, 3mov ebx, 0mov ecx, num2 mov edx, 4int 0x80; 将两个数相加 mov eax, [num1] mov ebx, [num2] add eax, ebx; 输出结果mov ebx, eaxmov eax, 1mov ecx, resultint 0x80; 退出程序mov eax, 1xor ebx, ebxint 0x80```以上为一个简单的汇编语言程序,实现了从键盘输入两个数,并将其相加后输出的功能。

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