8086汇编语言程序设计 马丽妮 课后习题答案
汇编语言程序设计(第四版)第2章【课后答案】【范本模板】

汇编语言程序设计第四版【课后习题答案】-—囮裑為檤第2章8086的指令系统〔习题2.1〕已知DS=2000H、BX=0100H、SI=0002H,存储单元[20100H]~[20103H]依次存放12 34 56 78H,[21200H]~[21203H]依次存放2A 4C B7 65H,说明下列每条指令执行完后AX寄存器的内容。
(1)mov ax,1200h(2)mov ax,bx(3)mov ax,[1200h](4) mov ax,[bx](5) mov ax,[bx+1100h](6)mov ax,[bx+si](7)mov ax,[bx][si+1100h]〔解答〕(1)AX=1200H(2)AX=0100H(3)AX=4C2AH ;偏移地址=bx=0100h(4)AX=3412H ;偏移地址=bx=0100h(5)AX=4C2AH ;偏移地址=bx+1100h=1200h(6)AX=7856H ;偏移地址=bx+si=0100h+0002h=0102h(7)AX=65B7H ;偏移地址=bx+si+1100h=0100h+0002h+1100h=1202h〔习题2.2〕指出下列指令的错误(1)mov cx,dl(2)mov ip,ax(3) mov es,1234h(4)mov es,ds(5) mov al,300(6)mov [sp],ax(7)mov ax,bx+di(8)mov 20h,ah〔解答〕(1)两操作数类型不匹配(2)IP指令指针禁止用户访问(3)立即数不允许传给段寄存器(4)段寄存器之间不允许传送(5)两操作数类型不匹配(6)目的操作数应为[SI ](7)源操作数应为[BX+DI](8)立即数不能作目的操作数〔习题2。
3〕已知数字0 ~9对应的格雷码依次为:18H、34H、05H、06H、09H、0AH、0CH、11H、12H、14H,它存在于以table为首地址(设为200H)的连续区域中.请为如下程序段的每条指令加上注释,说明每条指令的功能和执行结果。
汇编语言程序设计教案及习题答案

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

汇编语言程序设计(第四版)第3章【课后答案】(总1 1页)-本页仅作为文档封面,使用时请直接删除即可一"内页可以根据需求调整合适字体及大小一汇编语言程序设计第四版【课后习题答案】・・晒為槌第3章汇编语言程序格式〔习题〕伪指令语句与硬指令语句的本质区别是什么伪指令有什么主要作用〔解答〕伪指令语句与硬指令语句的本质区别是能不能产生CPU动作;伪指令的作用是完成对如存储模式、主存变量、子程序、宏及段定义等很多不产生CPU动作的说明,并在程序执行前由汇编程序完成处理。
〔习题〕什么是标识符,汇編程序中标识符怎样组成(解答〕为了某种需要,每种程序语言都规定了在程序里如何描述名字.程序语言的名字通常被称为标识符;汇编语言中的标识符一般最多由31个字母、数字及规定的特殊符号(如・,$, , @)组成,不能以数字开头。
〔习题〕什么是保留字,汇编语言的保留字有哪些类型,并举例说明。
〔解答保留字是在每种语言中规定了有特殊意义和功能的不允许再做其它用处的字符串;汇编语言的保留字主要有硬指令助记、伪指令助记符、运算符、寄存器名以及预定义符号等。
汇编语言对大小写不敏感。
如定义字节数和字符串的DB就是伪指令助记符。
〔习题〕汇编语句有哪两种,每个语句由哪4个部分组成(解答〕汇编语句有执行性语句和说明性语句;执行性语句由标号、硬指令助记符、操作数和注释四部分组成;说明性语句由名字、伪指令助记符、参数和注释四部分组成〔习题〕汇编语言程序的开发有哪4个步骤,分别利用什么程序完成、产生什么输出文件。
〔解答〕1.编辑文本編辑程序汇编语言源程序.asm2.汇编汇编程序目标模块文件・obj3.连接连接程序可执行文件・exe或4.调试调试程序应用程序〔习题〕区分下列概念:(1)变屋和标号(2)数值表达式和地址表达式(3)符号常量和字符串常量〔解答〕(1)变虽是在程序运行过程中,其值可以被改变的量;标号是由用户自定义的标识符,指向存储单元,表示其存储内容的逻辑地址。
汇编语言程序设计部分练习参考答案

汇编语言程序设计练习参考答案(第三章 80x86的指令系统与寻址方式) 1.(1)立即寻址-(2)直接寻址7237H(3)使用BX的寄存器寻址-(4)使用BX的间接寻址637DH(5)使用BX的寄存器相对寻址0D5B4H(6)基址变址寻址8E18H(7)相对基址变址004FH2.(1) ADD DX,BX(2) ADD AL,[BX][SI](3) ADD [BX+0B2H], CX (4) ADD WORD PTR [0524H] ,2A59H(5) ADD AL ,0B5H3.(1)MOV BX,OFFSET BLOCK+0AH MOV DX ,[BX](2) MOV SI,OAHMOV DX,BLOCK[SI] 或MOV DX,SI+BLOCK(3)MOV BX ,OFFSET BLOCK 或LEA BX,BLOCKMOV SI,OAHMOV DX,[BX][SI]4.(1) MOV AX,1200H 1200H => AX = 1200H(2) MOV AX,BX BX = 0100H => AX = 0100H(3) MOV AX,[1200H] ((ds)*10h+1200h) = (21200h) = 4C2AH => AX = 4C2AH(4) MOV AX,[BX] ((ds)*10h+ (bx)) = (20199H) = 3412H => AX = 3412H(5) MOV 1100H[BX] ((ds)*10h+(bx)+1100h) = (21200H) = 4C2AH => AX = 4C2AH(6) MOV AX,[BX][SI] ((ds)*10h+(si)+(bx)) = (20102H) = 7856H => AX = 7856H(7) MOV AX,1100H[BX][SI] ((ds)*10h+(si)+(bx)+1100h) = (21202hH) = 65B7H => AX = 65B7H注:原题(5)和题(7)中的1100后面漏了十六进制说明符“H”5.(1)当前指令的IP为2BC0H,段内直接转移指令占3个字节,因此下一条指令的地址(IP)值应该为2BC2H,于是转移的偏移地址为: 2BC2H+5119H = 7CDCH(2) 按题意,该指令为JMP WORD PTR [BX]((DS)*10H+(BX)) = (212A*10H+1200H) = (224A0H) = 0600H, 所以转移的偏移地址为0600H(3)按题意,该指令为JMP WORD PTR D[BX]((DS)*10H+(BX)+D) = (212A*10H+1200H+5119H) = (275B9H) = 098AH, 所以转移的偏移地址为098AH6. LDS BX ,[2000H]MOV AX,[BX]图示如图3.1注:为了只改变AX,不影响其它寄存器,本题可以做如下完善处理:PUSH DSPUSH BXLDS BX,[2000H]MOV AX,[BX]POP BXPOP DS图3.17. JMP SHORT OBJ指令占两个字节,存放在偏移地址为0624H的连续两单元中,因此这条指令执行完后下一条指令的偏移地址(即IP值)为0626H,因此转向地址OBJ的值分别为:(1)0626H + 0027H = 064DH(2) 0626H + 006BH = 0691H(3) 0626H + 0FFC6 = 05ECH8. 指令源操作数的寻址方式物理地址(1)MOV AX,0ABH 立即数寻址-(2)MOV AX,BX 寄存器寻址-(3) MOV AX,[100H] 存储器直接寻址(ds)*10H+0100H = 20100H (4)MOV AX,V AL 存储器直接寻址(ds)*10H+0050H = 20050H (5)MOV AX,[BX] 寄存器间接寻址(ds)*10H+(bx)= 20100H (6) MOV AX,ES:[BX] 存储器直接寻址(es)*10H+(bx)= 21100H (7)MOV AX,[BP] 寄存器间接寻址(ss)*10H+(bp)= 15010H (8)MOV AX,[SI] 寄存器间接寻址(ds)*10H+(si)= 200A0H (9) MOV AX,[BX+10] 寄存器相对寻址(ds)*10H+(bx)+10 = 2010AH (10)MOV AX,V AL[BX] 寄存器相对寻址(ds)*10H+(bx)+0050H = 20150H (11) MOV AX,[BX][SI] 基址变址寻址(ds)*10H+(bx)+(si)= 201A0H (12) MOV AX,V AL[BX][SI] 相对基相变址寻址(ds)*10H+(bx)+(si)+0050H = 201F0H 9.(1)MOV AX, [BX+0CH] MOV ZREO ,AX (2) MOV AX,ARRAY[BX] MOV ZREO,AX10.MOV AX,TABLE 把符号地址TABLE所给出的字存储单元中的内容送给AX,指令执行完后,(AX)=1234HLEA AX,TABLE 把符号地址TABLE 的有效地址(这里是TABLE的偏移量)送给指定寄存器AX,指令执行完后,(AX)=0032H11.分配的存储单元如图3.2所示。
8086汇编语言程序格式_答案

汇编语言程序格式答案一.单项选择题1.C 2.D 3.A 4.B 5. C 6.D 7.D 8.C9.A 10.B 11.B 12.D 13.B 14.C 15.A 16.C17.B 18.B 19.A 20.A二.多项选择题1.AB 2.ABD 3.ABC 4.CD 5.AB6.ABC 7.AC 8.AD 9.BC 10.BCD三.填空题1.指示性语句(伪指令),指令语句2.偏移地址3.偏移地址4.近程(NEAR)、远程(FAR)5.字节(BYTE)、字(WORD)、双字(DWORD)6.可以7.不分配8.LEA BX,A9.34H10.6411.42H12.定义,报错13.“段名SEGMENT”,“段名ENDS”14.“过程名PROC”,“过程名ENDP”,阅读,理解15.“END [表达式]”16.不予考虑,用空格17.MASM(汇编),不能,LINK(连接)18.引号,DB19.汇编语言源程序,ASM20.多四.简答题1.(1)A DB 12H,34H,56H,78H(2)B DW 12,1638H,0E52H(3)C DB …COMPUTER‟(4)D DB 100 DUP(0)(5)E DW D2.(1)116(2)0008H(3)108(4)43H(5)0302H3.(1)18(2)11(3)10(4)0006H(5)46H4.(1)0336H(2)0007H(3)90(4)43H(5)13H5.(1)LEA BX,A2 或MOV BX,OFFSET A2 (2)MOV A1+5,BYTE PTR 41H(3)MOV AL,BYTE PTR A2+2(4)MOV AX,A2+2(5)C EQU A3-A1 或 C = A3-A16.(1)MOV AL,BYTE PTR C+1(2)100(3)4(4)1(5)1(6)104(7)0004(8)03H7.(1)MOV AL,B+4(2)MOV AX,WORD PTR D+1(3)MOV AL,BYTE PTR A+2(4)4142H(5)16H8.DATA SEGMENTTAB DB …0123456789‟STR DB …COMPUTER‟BUF DB 100 DUP(… ‟)COUNT = $-BUFAD DW TABD DW 15H,2,3DATA ENDS9.DSEG SEGMENTSTR DB …ABCDE‟D DW 372H,2673H,6852HBUF DB 10 DUP(0)E DD BUFF = 5DSEG ENDS10.汇编程序处理宏指令时,是把宏定义的宏体插入到宏调用处,有多少次调用就插入多少次。
汇编语言程序设计课后答案

第一章. 习题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) 11111111答:(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。
汇编语言程序设计(第四版)第2章【课后答案】讲解

汇编语言程序设计第四版【课后习题答案】--囮裑為檤第2章8086的指令系统〔习题2.1〕已知DS=2000H、BX=0100H、SI=0002H,存储单元[20100H]~[20103H]依次存放12 34 56 78H,[21200H]~[21203H]依次存放2A 4C B7 65H,说明下列每条指令执行完后AX寄存器的内容。
(1)mov ax,1200h(2)mov ax,bx(3)mov ax,[1200h](4)mov ax,[bx](5)mov ax,[bx+1100h](6)mov ax,[bx+si](7)mov ax,[bx][si+1100h]〔解答〕(1)AX=1200H(2)AX=0100H(3)AX=4C2AH ;偏移地址=bx=0100h(4)AX=3412H ;偏移地址=bx=0100h(5)AX=4C2AH ;偏移地址=bx+1100h=1200h(6)AX=7856H ;偏移地址=bx+si=0100h+0002h=0102h(7)AX=65B7H ;偏移地址=bx+si+1100h=0100h+0002h+1100h=1202h〔习题2.2〕指出下列指令的错误(1)mov cx,dl(2)mov ip,ax(3)mov es,1234h(4)mov es,ds(5)mov al,300(6)mov [sp],ax(7)mov ax,bx+di(8)mov 20h,ah〔解答〕(1)两操作数类型不匹配(2)IP指令指针禁止用户访问(3)立即数不允许传给段寄存器(4)段寄存器之间不允许传送(5)两操作数类型不匹配(6)目的操作数应为[ SI ](7)源操作数应为[BX+DI](8)立即数不能作目的操作数〔习题2.3〕已知数字0 ~ 9对应的格雷码依次为:18H、34H、05H、06H、09H、0AH、0CH、11H、12H、14H,它存在于以table为首地址(设为200H)的连续区域中。
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.解答:有256个2.解答:如下图.第一个络子为000B0H字单元,注意,是字单元,第五个格子为000B3H字单元E51E3C2A3.解答:30022H字节单元内容:ABH30024H字节单元内容:EFH30021H字单元内容:AB34H30022H字单元内容:CDABH4.解答:这三个物理地址都是3017AH,说明了不同的段地址和偏移地址对应同一物理地址5.解答:CS+IP第一个字的物理地址为:0AAA40H6.解答:条件标志OF,SF,ZF,CF,的值依次为:0,0,0,07.下列操作可使用那些寄存器?(1)加法和减法AX,BX,CX,DX,当然,还有这几个通用寄存器的高低位了,如AH,AL等(2)循环计数CX(3)乘法和除法DX,AX,AH,AL(4)保存段地址CS,DS,ES,SS(5)表示运算结果为O FLAGS(6)将要执行的指令地址IP(7)将要从堆栈取出数据的地址BP,SP,SS8.可以用来指示存储器地址的寄存器有:BX,SP,BP,DI,CS,DS,SI,ES,SS,IP9.一一对应;5--A4--B2--C3--D12--E9--F11--G10--H13--I8--J7--K6---L1--M15--N14--O第三章1.(1)立即寻址没有(2)直接寻址7237H(3)使用BX的寄存器寻址没有(4)使用BX的间接寻址637DH(5)使用BX的寄存器相对寻址0D5B4H(6)基址变址寻址8E18H(7)相对基址变址004FH2.根据下列要求,写出相应的汇编指令。
(1)ADD DX,BX(2)ADD AL,[BX][SI](3)ADD[BX][0B2H],CX(4)MOV AX,2A59H ADD[0524H],AX(5)ADD AL,0B5H3.(1)寄存器间接寻址MOV BX,OFFSET[BLOCK][0AH]MOV DX,[BX](2)寄存器相对寻址MOV SI,OAHMOV DX,[BLOCK][SI](3)基址变址寻址MOV BX,BLOCKMOV SI,OAHMOV DX,[BX][SI]4.现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100)=12H,(20101)=34H,(20102)=56H,(20103)=78H,(2 1200)=2AH,(20201)=4CH,(21202)=B7H,(21203)=65H,试说明下列各条指令执行完后,AX寄存器的内容。
汇编语言程序设计课后习题答案

DATAS ENDS
CODES SEGMENT ASSUME CS:CODES,DS:DATAS
START: MOV AX,DATAS MOV DS,AX mov cx,count dec cx
5.1 L3 5.2 DATAS SEGMENT
x db ? Y db ? DATAS ENDS
CODES SEGMENT ASSUME CS:CODES,DS:DATAS
START: MOV AX,DATAS MOV DS,AX cmp x,0 jg y01 jl y02 mov y,0 jmp y03
MOV AH,4CH INT 21H CODES ENDS END START
1. REP
REP REPNZ 2.
DF
STD DI
CLD DI
DF 1 DF 0
REPZ REPNZ
MOVS STOS CMPS SCAS
PSW
1
SI
0
SI
MOV DS,AX LEA BX, BUFF MOV CX,10
DEC CX MOV AL,[BX]
LOP: INC BX CMP AL,[BX] JNB NEXT MOV AL,[BX]
NEXT: DEC CX JNZ LOP MOV AH,4CH INT 21H
CODE ENDS END START
3.1 NEXT, 2_NEXT , NEXT2 , NexT N•EXT , NEXT-1 , NEXT, N@EXT NEXT$
2_NEXT
N•EXT
•
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-5章【课后答案】

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

8086/8088汇编语言习题解答第一章1.1、试根据自己使用计算机的经历,列举几个必须使用或最好是使用汇编语言编制程序的事例。
1.2、试完成下列数制间的转换⑴、十进制数转换为8位二进制数十进制:100 对应二进制:01100100B十进制:56 对应二进制:00111000B十进制:111 对应二进制:01101111B十进制: 120 对应二进制:01111000B十进制: 70 对应二进制:01000110B⑵、8位二进制数(无符号数)转换为十进制数二进制:01010101B 对应十进制:85二进制:10101010B 对应十进制:170二进制:11110000B 对应十进制:240二进制:00001111B 对应十进制:15⑶、十进制数转换为十六进制数十进制:40 对应二进制:00101000B十进制:80 对应二进制:01010000B十进制:105 对应二进制:01101001B十进制: 114 对应二进制:01101101B十进制: 207 对应二进制:11001111B1.3、试把下面用补码表示的二进制数转换为对应的十进制真值二进制补码:01111000 对应的十进制值数真值:+120二进制补码:11011001 对应的十进制值数真值:-39二进制补码:10000001 对应的十进制值数真值:-127二进制补码:10001000 对应的十进制值数真值:-120二进制补码:00100111 对应的十进制值数真值:+39二进制补码:11110000 对应的十进制值数真值:-161.4、由键盘输入字符通常都是以该字符的ASCII码形式表示的。
若现在从键盘上输入十六进制数0~F,那么应如何处理才能把十六进制转换为4位二进制数0000~1111.答:将键盘输入的数0~F的ASCII码,每输入一个字符,减去30H后,再存入内存,这样就完成了把从键盘上输入的十六进制ASCII码转换为4位二进制数0000~1111.1.5、试分别判断下列各组数据中哪个数据最大?哪个最小?①、A=0.101B B=0,101D C=0,101H②、A=1011B B=1011D C=1011H答:第①组:A=1×21-+1×23-=0.625B=0.101C=1×161-+163-=0.0625+0.00024414=0.06274414所以A最大,C最小第②组,B最大,A=B最小1.6、现有一个二进制数10110110.若将该数看着是无符号数、原码表示的带符号数、补码表示的带符号数,它对应的十进制数的真值是多少?答:10110110.的无符号数的十进制是:+182;10110110.的原码带符号数的十进制是:-5410110110.补码表示的带符号数的十进制是:+741.7、下列各组数据均为十进制数,先将各数据转换为补码表示的带符号数,然后用补码的加减运算分别完成下列各小题,并用十六进制数形式回答运算结果。
汇编语言程序设计__第四版答案

汇编语言程序设计第四版【课后习题答案】第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〕汇编语言与高级语言相比有什么优缺点?〔解答〕汇编语言与高级语言相比的优点:由于汇编语言本质就是机器语言,它可以直接地、有效地控制计算机硬件,因而容易产生运行速度快,指令序列短小的高效目标程序,可以直接控制计算机硬件部件,可以编写在“时间”和“空间”两方面最有效的程序。
8086汇编语言程序设计-马丽妮-课后习题答案

第一章基础知识1.1 填空题(1)汇编程序,汇编(2)汇编,连接(3)位,字节,_字_(4)组合型,非组合型(5)_0~255或00000000B~11111111B_;_+127~ -128或01111111B~10000000B 1.2 选择题DCDCC1.3~1.5略。
1.6(1)4109=1 0000 0000 1101B =100DH(2)123 =0111 1011B=7BH(3)0.176 =0.0010 1101B=0.2DH(4)17.625=10001.101B=11.AH1.7(1)101011=2BH=43D(2)11010011=0D3H=211(3)1011.0101=0B.5H=11.3125(4)11011.00111=1B.38H=27.21875D1.8(1)2DH =101101B=45(2)15.12H=10101.0001 0010B=21.0703125(3)1C5H =1 1100 0101B=453(4)21F.06H=10 0001 1111.0000 0110B=543.02343751.10 (1)带符号数= 不带符号数= 28432(2)带符号数= -32768,不带符号数= 32768(3)带符号数= -15659,不带符号数=49877(4)带符号数=-1,不带符号数=655351.11(1)64H,100 (2)8BH,-11(3)08H,8 (4)0DAH,-901.12 (1)35=[0011 0101]组合型BCD= [0000 0011 0000 0101]非组合型BCD(2)74=[0111 0100]组合型BCD= [0000 0111 0000 0100]非组合型BCD(3)98= [1001 1000]组合型BCD= [0000 1001 0000 1000]非组合型BCD(4)14=[0001 0100]组合型BCD= [0000 0001 0000 0100]非组合型BCD1.13(1)10101001 + 01100100 = 0000 1101B(溢出)10101001 - 01100100 = 0100 0101B10101001 ∧ 01100100= 0010 0000B10101001 ∨ 01100100 =1110 1101B10101001 ∨(异或) 01100100 =11001101 B (2)01110011 + 10110011 = 0010 0110B(溢出)01110011-10110011= 1100 0000B(溢出)01110011∧10110011=0011 0011B01110011∨10110011=1111 0011B01110011∨(异或)10110011=1100 0000B1.1453;35;5第二章80x86计算机组织结构2.1 填空题(1)_CPU_、_存储器_、_I/O设备(2)_运算器_、_控制器_、_寄存器_(3)_数据_、_地址_、_控制_(4)_先进后出_(5)_物理地址_、_逻辑地址_(6)_20_、_1M字节_(7)_实_、_保护_、_实_(8)_13240H_、_3140H_2.2 选择题DCBC BADB2.3~2.9略。
汇编语言程序设计教程(第二版)习题参考答案

汇编语言程序设计教程(第二版)习题参考答案第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码的运算。
80X86汇编语言程序设计教程+课后习题答案(清华大学版)

第二章答案Tarzan 版题2.1 8086/8088通用寄存器的通用性表现在何处?8个通用寄存器各自有何专门用途?哪些寄存器可作为存储器寻址方式的指针寄存器?答:8086/8088通用寄存器的通用性表现在:这些寄存器除了各自规定的专门用途外,他们均可以用于传送和暂存数据,可以保存算术逻辑运算中的操作数和运算结果;8个通用寄存器的专门用途如下:AX 字乘法,字除法,字I/OBX 存储器指针CX 串操作或循环控制中的计数器DX 字乘法,字除法,间接I/OSI 存储器指针(串操作中的源指针)DI 存储器指针(串操作中的目的指针)BP 存储器指针(存取堆栈的指针)SP 堆栈指针其中BX,SI,DI,BP可作为存储器寻址方式的指针寄存器题2.2 从程序员的角度看,8086/8088有多少个可访问的16位寄存器?有多少个可访问的8位寄存器?答:从程序员的角度看,8086/8088有14个可访问的16位寄存器;有8个可访问的8位寄存器;题2.3 寄存器AX与寄存器AH和AL的关系如何?请写出如下程序片段中每条指令执行后寄存器AX的内容:MOV AX,1234HMOV AL,98HMOV AH,76HADD AL,81HSUB AL,35HADD AL,AHADC AH,ALADD AX,0D2HSUB AX,0FFH答: MOV AX,1234H AX=1234HMOV AL,98H AX=1298HMOV AH,76H AX=7698HADD AL,81H AX=7619HSUB AL,35H AX=76E4HADD AL,AH AX=765AHADC AH,AL AX=D15AHADD AX,0D2H AX=D22CHSUB AX,0FFH AX=D12DH题2.4 8086/8088标志寄存器中定义了哪些标志?这些标志可分为哪两类?如何改变这些标志的状态?答: 8086/8088标志寄存器中定义了9个标志,如下:CF: Carry FlagZF: Zero FlagSF: Sign FlagOF: Overflow FlagPF: Parity FlagAF: Auxiliary Carry FlagDF: Direction FlagIF: Interrupt-enable FlagTF: Trap Flag这些标志可分为两类,分别为:1、运算结果标志;2、状态控制标志;采用指令SAHF可把AH中的指定位送至标志寄存器低8位SF、ZF、AF、PF、CF;采用CLC可清除CF,置CF到0采用STC可置CF到1采用CLD可置DF到0采用sTD可置DF到1采用CLI可置IF到0采用STI可置IF到1另外,在某些指令执行过程中会改变部分标志的状态;题2.5 请说说标志CF和标志OF的差异。
《汇编语言程序设计》习题解答及课程实验、设计辅导

实验一汇编程序的汇编及运行1.实验目的(1)熟悉汇编程序的汇编、连接、执行过程;(2)生成LST文件,查看LST文件;(3)生成OBJ文件,修改语法错误;(4)生成EXE文件;(5)执行程序。
2.实验涉及知识汇编程序从编写到执行的过程编程→.ASM→编译→.OBJ→连接→.EXE→加载→内存中的程序→执行1)编写源程序用EDIT或记事本输入各段,并存储成源程序(保存在MASM目录下),扩展名为ASM。
2)对源程序进行汇编、连接操作如下:(1)在DOS状态下,进入MASM目录;(2)输入命令:MASM 文件名(连同扩展名);(3)在系统出现的提示中输入:object filename[.obj]:按回车键。
Source listling[nul.lst]:输入:文件主名,生成lst文件,也可以不生成,直接按回车键。
Lst文件用于查看编译为目标文件的过程中产生的中间结果。
Cross-reference [nul.crf]:按回车键。
(4)如果系统没有提示出错,那么编译过程就完成了。
如果提示错误则应用edit打开源文件进行修改,然后再重复2和3步骤(5)输入:link 文件主名(不要输扩展名,也可以输入扩展名.obj)run file [.exe]:按回车键。
List file [nul.map]:按回车键。
Libraries [.lib]:按回车键。
(6)没有提示错误,汇编过程就结束了,产生了exe可执行文件。
如果出现‘no strack segment’的错误警告,不用理会。
3)执行程序(由DOS中的COMMAND命令将文件加载入内存)在DOS提示符下直接输入文件主名就可以执行文件了。
程序执行后,有的会显示结果,有的可能执行后什么结果都没有,是因为程序中没有显示命令。
3.实验内容1)将下面的数据段输入,取名1.ASM,保存在MASM文件夹下。
生成LST文件,(不必连接、运行)用EDIT查看1.LST文件。
汇编语言程序设计课后习题答案习题2详解

习题2写出从汇编语言源程序的建立到产生可执行文件的步骤和上机操作命令。
步骤:1.编辑形成文件(MY为文件名)2.汇编形成文件3.连接形成MYEXE文件上机操作:1.进入dos命令行方式2.在汇编语言的系统工作文件目录下,键入:Edit 按回车键编辑3.MASM MY 按回车键汇编4.LINK MY按回车键连接5.MY 按回车键运行6.DEBUG 按回车键进行调试。
列表文件.LST实在什么阶段产生的列表文件有哪些内容列表文件是在汇编的时候产生的执行MASM 程序名程序名程序名按回车键就会在汇编的同时产生列表文件。
列表文件里有源程序和机器语言清单,指令和变量的偏移地址等等。
写出定义一个代码段的语句,段名为MYPRG。
MYPRG SEGMENTASSUME CS:MYPRGStart:Code endsEnd start源程序中用什么语句来结束程序的执行用什么语句来表示程序的结束和指出程序执行的起点。
MOV ah,4chINT 21h 结束程序的执行并返回到操作系统。
Code ends 程序结束End start 指出程序执行的起点汇编语言源程序的文件扩展名是什么把他改为.exe扩展名以后,可以认为是可执行程序么答:源文件的扩展名为.ASM。
改为.exe后不可能是可执行程序,源文件只有经历汇编行成机器指令,然后连接才能形成可执行程序列出子目录C:\YOUPRG下的扩张名为.ASM的所有文件,在D盘根目录下建立一个子目录,并进子目录MYPRG,再把C:YOUPRG下的文件YOU .ASM复制到D :\MYPRG下。
写出完成以上要求的DOS 命令。
答:C:\YOUPRG>DIY *.ASMC:\YOUPRG>D:D:\MD MYPRGD:\CD MYPRGD:\MYPRG>COPY C:\YOUPRG> D:\MYPRG2.7下图为DEBUG调入的可执行程序,回答以下问题:(1)程序的起始物理地址是多少结束地址是多少(2)CS寄存器的值是什么(3)程序的功能是什么(4)写出查看DS:0处内容的DEBUG命令。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章基础知识1.1 填空题(1)汇编程序,汇编(2)汇编,连接(3)位,字节,_字_(4)组合型,非组合型(5)_0~255或00000000B~11111111B_;_+127~ -128或01111111B~10000000B 1.2 选择题DCDCC1.3~1.5略。
1.6(1)4109=1 0000 0000 1101B =100DH(2)123 =0111 1011B=7BH(3)0.176 =0.0010 1101B=0.2DH(4)17.625=10001.101B=11.AH1.7(1)101011=2BH=43D(2)11010011=0D3H=211(3)1011.0101=0B.5H=11.3125(4)11011.00111=1B.38H=27.21875D1.8(1)2DH =101101B=45(2)15.12H=10101.0001 0010B=21.0703125(3)1C5H =1 1100 0101B=453(4)21F.06H=10 0001 1111.0000 0110B=543.02343751.10 (1)带符号数= 不带符号数= 28432(2)带符号数= -32768,不带符号数= 32768(3)带符号数= -15659,不带符号数=49877(4)带符号数=-1,不带符号数=655351.11(1)64H,100 (2)8BH,-11(3)08H,8 (4)0DAH,-901.12 (1)35=[0011 0101]组合型BCD= [0000 0011 0000 0101]非组合型BCD(2)74=[0111 0100]组合型BCD= [0000 0111 0000 0100]非组合型BCD(3)98= [1001 1000]组合型BCD= [0000 1001 0000 1000]非组合型BCD(4)14=[0001 0100]组合型BCD= [0000 0001 0000 0100]非组合型BCD1.13(1)10101001 + 01100100 = 0000 1101B(溢出)10101001 - 01100100 = 0100 0101B10101001 ∧ 01100100= 0010 0000B10101001 ∨ 01100100 =1110 1101B10101001 ∨(异或) 01100100 =11001101 B (2)01110011 + 10110011 = 0010 0110B(溢出)01110011-10110011= 1100 0000B(溢出)01110011∧10110011=0011 0011B01110011∨10110011=1111 0011B01110011∨(异或)10110011=1100 0000B1.1453;35;5第二章80x86计算机组织结构2.1 填空题(1)_CPU_、_存储器_、_I/O设备(2)_运算器_、_控制器_、_寄存器_(3)_数据_、_地址_、_控制_(4)_先进后出_(5)_物理地址_、_逻辑地址_(6)_20_、_1M字节_(7)_实_、_保护_、_实_(8)_13240H_、_3140H_2.2 选择题DCBC BADB2.3~2.9略。
2.1001H,0201H,0403 0201H2.1111FDBH,CF=1,ZF=0,SF=02.12略。
2.1330000H30001H30002H30003H30004H30005H2.14(10002H)=50H,(10000H)=7090H,(10001H)=1030 5070H 2.15 物理地址=30400H;同一物理地址还有其他逻辑地址:2F3F:1010H2F40:1000H2F41:0FF0H……2.16SP→ 72H 1000:00FCH61H 1000:00FDH80H 1000:00FEH50H 1000:00FFHSP→ 1000:0100H 1000:0100H(1) 压入堆栈前(2) 将数据5080H、6172H压入堆栈后SP→80H 1000:00FEH50H 1000:00FFH1000:0100H(3) 将栈顶单元的内容弹出堆栈后2.17~2.18 略。
第三章80x86指令系统和寻址方式注意:编写程序题答案仅供参考,答案可能不唯一。
3.1 填空题(1)_操作码_、_操作数_(2)_SI_、_DI_、_BX_、_DS_;_BP_、_SS_(3)_BX_、_BP_,_SI_、_DI_,_BX_、_数据段_;_BP_、_堆栈_ (4)_1_、_0_(5)_AX_、_AL_、_AH_3.2 选择题DBBDD DCDAC3.3(1)立即数寻址(2)基址变址寻址(3)寄存器寻址(4)寄存器相对寻址(5)直接寻址(6)比例变址寻址(7)寄存器寻址(8)寄存器间接寻址(9)立即寻址(10)比例变址寻址(11)直接寻址(12)相对基址变址寻址(13)寄存器相对寻址(14)比例变址寻址3.4(1)AX=2000H(2)AX=2100H(3)AX=7050H(4)AX=3010H(5)AX=5030H(6)AX=7050H(7)AX=6040H(8)AX=4020H(9)AX=0070H(10)EAX=70503010H3.5(1)×不能为DS赋值(2)×立即数不能为目的操作数(3)×类型不匹配(4)√(5)×不匹配(6)×类型不匹配(7)×超出数的表示范围(8)×不能为CS赋值(9)×只能是字或双字(10)×操作数不能同时是内存操作数3.6(1)IP=4000H(2)IP= 2211H,CS=当前段基址(3)IP=3322 H,CS=当前段基址(4)IP=5544H,CS=当前段基址(5)IP= 2211H,CS=4433H(6)IP= 3322 H,CS=5544H3.7答:AX相同,第一条指令是立即寻址;第二条指令是存储器直接寻址3.8AX=3344H,3.9MOV DX, WORD PTR DA TA1+2MOV AX, WORD PTR DA TA1ADD AX, WORD PTR DATA2ADC DX, WORD PTR DATA2+2MOV WORD PTR DATA3, AXMOV WORD PTR DATA3+2, DX 3.10(1)MOV AL,YSUB AL,ZADD AL,XMOV W,AL(2)MOV AX, YADD AX, 10SUB X, AXMOV BX, ZADD BX, 100SUB X, BXMOV AX, XMOV W, AX(3)MOV AX,XMUL YSUB AX,10SBB DX,0DIV ZMOV W1,AXMOV W2,DX(4)MOV AX,XSUB AX,YCWDMOV BX,100IDIV BXADD AX,200IMUL ZMOV WORD PTR W, AXMOV WORD PTR W+2, DX 3.11(1)MOV AL, 0FFHAND AL, 0FCH(2)MOV AL,00HOR AL,18H(3)MOV BL, 0FFHXOR BL, 30H(4)MOV CH,0MOV CL,BLMOV AH,ALMOV AL,0OR CX,AX或MOV CL,8SHL AX,CLMOV BH,0OR AX,BXMOV CX,AX(5)MOV AX,X1MOV CL,4ROL/ROR AX,CLMOV X1,AX3.12(略)3.13(1) MOV AX, 0(2) SUB AX, AX(3) XOR AX, AX(4) AND AX, 0(5) MOV CL, 16SHR AX, CL3.14 (略)3.15(1)AX=16H,CF=1(2)AX=16CH,CF=0(3)AH=16H,CF=1(4)AX=0C016H,CF=1(5)AX=0C016H,CF=1(6)AX=016CH,CF=0(7)AX=016CH,CF=0(8)AX=0B6H,CF=0 3.16MOV AL, 10010110BMOV BH, ALMOV CL, 4SHR BH, CLAND AL, 0FHMOV BL, AL3.17AX=3344H,BX=1122H 3.18AX=1020H,BX=0CDEFH 3.19AX=0,ZF=1第四章汇编语言程序结构注意:编写程序题答案仅供参考,答案可能不唯一。
4.1 选择题AADCD CD4.2(略)4.3(略)4.4LEN1 = V AR2-V AR1 = 8,是V AR1的字节个数。
LEN2 = $-V AR1 = 12= 0CH,为V AR1和V AR2的字节个数。
4.5(1)×不匹配(2)√(3)×Y3是符号常量,不能做目的操作数(4)×不匹配(5)×源和目的操作数不能同时为内存操作数(6)√4.6(1)AL=98H(2)AL=0(3)AX=0200H(4)BX=1234H(5)EAX=00120098H(6)CL=12H4.7(略)4.8(1)MOV AX,SEG STRING1MOV DS,AX(2)MOV BX,OFFSET STRING2(3)MOV CX,STRING2-STRING1(4)MOV AL,STRING1+3(5)MOV AX,STRING2+44.9DA TA SEGMENTV AR1 DB ‟HELLO!‟V AR2 DW 1,2V AR3 DW NEXTV AR4 DD EXITV AR5 DW V AR1V AR6 DD V AR2V AR7 DW $DA TA ENDS4.10(1)AX=1 (2)AX=2 (3)AX=1 (4)AX=10 (5)AX=10 (6)AX=40 4.11(1)AX=0B00H (2)BX=0200H第五章顺序、分支和循环程序设计注意:编写程序题答案仅供参考,答案可能不唯一。
5.1 选择题ACDD DBDD5.2MOV AX,0LEA BX,BUF1MOV CX,10LOP1:ADD AL,___[BX]___ADC AH,0INC BX_ LOOP LOP1_____MOV DL,10DIV DLMOV RESULT,__AL__HLT5.3___BUF2[BX]___,_ _JAE/JNB___,__ BUF2[BX]___5.4(1)统计AX中“1”的个数和“0”的个数(2)BL=7,DL=9,AX=0000H5.5LEA SI,BUFFERLEA DI,RESULT___MOV CX,10___L1:MOV DL,[SI]MOV AL,DLPUSH CXMOV CL,4____SHR AL,CL___POP CXMOV [DI],ALINC DI____AND DL,0FH___MOV [DI],DLINC DIINC SILOOP L1HLT5.6从键盘接收的数(0~9)进行累加,累加结果在DX中;当键入…$‟结束5.7~5.19 略。