汇编语言第1章 汇编语言基础知识
- 格式:ppt
- 大小:197.50 KB
- 文档页数:10
新版汇编语言程序设计习题答案(钱晓捷主编)新版汇编语言程序设计习题答案(钱晓捷主编)第一章汇编语言基础知识1.1、简述计算机系统的硬件组成及各部分作用1.2、明确下列概念或符号:主存和辅存,RAM和ROM,存储器地址和I/O端口,KB、MB、GB和TB1.3、什么是汇编语言源程序、汇编程序、目标程序?1.4、汇编语言与高级语言相比有什么优缺点?1.5、将下列十六进制数转换为二进制和十进制表示(1)FFH (2)0H (3)5EH (4)EFH(5)2EH (6)10H (7)1FH (8)ABH1.6、将下列十进制数转换为BCD码表示(1)12 (2)24 (3)68 (4)127(5)128 (6)255 (7)1234 (8)24581.7、将下列BCD码转换为十进制数(1)10010001 (2)10001001 (3)00110110 (4)10010000(5)00001000 (6)10010111 (7)10000001 (8)000000101.8、将下列十进制数分别用8位二进制数的原码、反码和补码表示(1)0 (2)-127 (3)127 (4)-57(5)126 (6)-126 (7)-128 (8)681.9、完成下列二进制数的运算(1)1011+1001 (2)1011-1001 (3)1011×1001 (4)10111000÷1001(5)1011 ∧~1011 (8)1011 ⊕ 1001 1001(6)1011 ∨1001(7)1.10 数码0~9、大写字母A~Z、小写字母a~z对应的ASCII码分别是多少?ASCII码为0dh、0ah对应的是什么字符?1.11、计算机中有一个“01100001”编码,如果把它认为是无符号数,它是10进制什么数?如果认为它是BCD码,则表示什么数?又如果它是某个ASCII码,则代表哪个字符?1.12、简述Intel 80x86系列微处理器在指令集方面的发展。
第1章汇编语言基础知识习题解答1.1 什么是汇编语言?汇编语言的特点是什么?答:为了克服机器语言难以记忆、表达和阅读的缺点,人们采用具有一定含义的符号作为助忆符,用指令助忆符、符号地址等组成的符号指令称为汇编格式指令(或汇编指令)。
汇编语言是汇编指令集、伪指令集和使用它们规则的统称。
汇编语言的特点是:(1)执行速度快。
(2)程序短小。
(3)可以直接控制硬件。
(4)可以方便地编译。
(5)辅助计算机工作者掌握计算机体系结构。
(6)程序编制耗时,可读性差。
(7)程序可移植性差。
1.2 把下列十进制数转换成二进制数、八进制数、十六进制数。
① 127 ② 1021 ③ 0.875 ④ 6.25答:① 1111111B;177Q;7FH ② 1111111101;1775Q;3FDH③ 0.111 B;0.7Q;0.EH ④ 110.01B;6.2Q;6.4H1.3把下列二进制数转换成十进制数。
① 1001.11 ② 101011.10011 ③ 111.011 ④1011.1答:① 9.75D ② 43.59375D ③ 7.375D ④ 11.5D1.4 把下列八进制数转换成十进制数。
① 573.06 ② 75.23 ③ 431.7 ④ 123.45答:① 379.09375D ② 61.296875D ③ 281.875 ④83.5781251.5 把下列十六进制数转换成十进制数。
① 0D5.F4 ② 8BA.7C ③ 0B2E.3A ④ 6EC.2D答:① 213.953125D ②2234.484375 ③2862.2265625 ④1772.175781251.6 把下列英文单词转换成ASCII编码的字符串。
① Upper ② Blow ③ Computer ④ What答:① 55H,70H,70H,65H,72H ② 53H,6CH,6FH,77H③ 43H,6FH,6DH,70H,75H,74H,65H,72H ④ 57H,68H,61H,74H1.7求下列带符号十进制数的8位基2码补码。
钱晓捷新版汇编语言程序设计习题答案第一章汇编语言基础知识1.17、举例说明CF和OF标志的差异。
溢出标志OF和进位标志CF是两个意义不同的标志进位标志表示无符号数运算结果是否超出范围,运算结果仍然正确;溢出标志表示有符号数运算结果是否超出范围,运算结果已经不正确•例1:3AH + 7CH=B6H无符号数运算:58+124=182,范围内,无进位有符号数运算: 58+124=182 ,范围外,有溢出•例2:AAH + 7CH=(1)26H无符号数运算:170+124=294,范围外,有进位有符号数运算:-86+124=28 ,范围内,无溢出1.20、8086有哪4种逻辑段,各种逻辑段分别是什么用途?(解答)代码段(Code Segment)用来存放程序的指令序列。
处理器利用CS : IP取得下一条要执行的指令•堆栈段(Stack Segment)确定堆栈所在的主存区域。
处理器利用SS : SP操作堆栈中的数据•数据段(Data Segment)存放当前运行程序所用的数据。
处理器利用DS : EA存取数据段中的数据•附加段(Extra Segment)是附加的数据段,也用于数据的保存。
处理器利用ES : EA存取数据段中的数据第二章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 ;AX=1200h(2) mov ax,bx ; AX=0100h(3) mov ax,[1200h] ; AX=4C2Ah(4) mov ax,[bx] ; AX=3412h(5) mov ax,[bx+1100h] ; AX=4C2Ah(6) mov ax,[bx+si] ; AX=7856h(7) mov ax,[bx][si+1100h] ; AX=65B7h2.2指出下列指令的错误(1) mov cx,dl 两操作数类型不匹配(2) mov ip,ax IP 指令指针禁止用户访问(3) mov es,1234h 立即数不允许传给段寄存器(4) mov es,ds 段寄存器之间不允许传送(5) mov al,300 两操作数类型不匹配(6) mov [sp],ax 目的操作数应为[ BP ](7) mov ax,bx+di 源操作数应为 [BX+DI](8) mov 20h,ah 立即数不能作目的操作数2.3已知数字0 ~ 9对应的格雷码依次为:18H、34H、05H、06H、09H、0AH、0CH、11H、12H、14H,它存在于以table为首地址(设为200H)的连续区域中。
汇编语言程序设计第四版【课后习题答案】第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〕汇编语言与高级语言相比有什么优缺点?〔解答〕汇编语言与高级语言相比的优点:由于汇编语言本质就是机器语言,它可以直接地、有效地控制计算机硬件,因而容易产生运行速度快,指令序列短小的高效目标程序,可以直接控制计算机硬件部件,可以编写在“时间”和“空间”两方面最有效的程序。
汇编语言学习笔记《汇编语言》--王爽前言学习汇编目的:充分获得底层编程体验;深刻理解机器运行程序的机理。
原则:没有通过监测点不要向下学习;没有完成当前实验不要向下学习。
第一章基础知识有三类指令组成汇编语言:汇编指令;伪指令;其他符号。
8bit = 1byte = 一个存储单元有n根地址线,则可以寻址2的n次方个内存单元。
1.1节--1.10节小结(1)汇编指令是机器指令的助记符,同机器指令一一对应。
(2)每一种cpu都有自己的汇编指令集。
(3)cpu可以直接使用的信息在存储器中存放。
(4)在存储器中指令和数据没有任何区别,都是二进制信息。
(5)存储单元从零开始顺序编号。
(6)一个存储单元可以存储8个bit,即八位二进制数。
(7)每一个cpu芯片都有许多管脚,这些管脚和总线相连。
也可以说,这些管脚引出总线。
一个cpu可以引出的三种总线的宽度标志了这个cpu不同方面的性能。
地址总线的宽度决定了cpu的寻址能力;数据总线的宽度决定了cpu与其他器件进行数据传送时的一次数据传送量;控制总线的宽度决定了cpu对系统中其他器件的控制能力。
监测点:1KB的存储器有1024个存储单元?存储单元的编号从0到1023.内存地址空间:最终运行程序的是cpu,我们用汇编编程时,必须要从cpu的角度思考问题。
对cpu来讲,系统中的所有存储器中的存储单元都处于一个统一的逻辑存储器中,它的容量受cpu寻址能力的限制。
这个逻辑存储器即是我们所说的内存地址空间。
第二章寄存器(cpu的工作原理)mov ax, 2add ax, axadd ax, axadd ax, ax(1)cpu中的相关部件提供两个16位的地址,一个称为段地址,另一个称为偏移地址;(2)段地址和偏移地址通过内部总线送人一个称为地址加法器的部件;(3)地址加法器将两个16位地址合成为一个20位的物理地址;(4)地址加法器通过内部总线将20位物理地址送人输入输出控制电路;(5)输入输出控制电路将20位物理地址送上地址总线;(6)20位物理地址被地址总线传送到存储器;段地址*16+偏移地址= 物理地址的本质含义内存并没有分段,段的划分来自cpu。
汇编语言复习资料【引言】汇编语言作为计算机科学中的重要一环,是掌握计算机底层工作原理的基础。
本文将为读者提供一份汇编语言的复习资料,以帮助读者巩固对汇编语言的理解,并加深对底层计算机工作过程的认识。
【一、汇编语言基础知识】1.1 汇编语言的概念和作用汇编语言是一种低级别的计算机语言,与机器语言一一对应,用于编写和调试底层程序。
掌握汇编语言可以更加直接地操作计算机硬件资源,提高程序的执行效率。
1.2 汇编指令与机器指令汇编指令是汇编语言中最基本的单位,包括机器指令和操作数。
机器指令是计算机能够识别和执行的指令,由操作码和操作数组成。
1.3 寄存器和内存寄存器是计算机内部存储器的一种,用于存储和操作数据。
常见的寄存器包括通用寄存器、指针寄存器和标志寄存器。
内存是计算机中的主要存储器,用于存储指令和数据。
1.4 数据表示和运算汇编语言中使用不同的数据格式表示整数、浮点数和字符等数据类型,并提供相应的运算指令进行数据操作。
【二、汇编语言的程序结构】2.1 汇编语言程序的基本结构汇编语言程序包括数据段、代码段和堆栈段。
数据段用于定义和初始化数据,代码段包含程序的执行指令,堆栈段用于存储程序执行过程中的临时数据。
2.2 汇编语言程序的组织方式汇编语言程序可以使用汇编宏、过程和函数来实现模块化组织,提高代码的可读性和可维护性。
2.3 汇编语言程序的调试方法汇编语言程序的调试可以使用调试器进行单步执行、断点设置和变量查看等操作,以实时监控程序的运行状态。
【三、常用的汇编语言指令】3.1 数据定义指令数据定义指令用于定义变量和常量,并分配存储空间。
常用的数据定义指令包括DB、DW和DD等。
3.2 算术和逻辑指令算术和逻辑指令用于进行加减乘除和逻辑运算等操作。
常见的算术和逻辑指令包括ADD、SUB、MUL、DIV和AND、OR等。
3.3 分支和循环指令分支和循环指令用于根据条件进行跳转或循环执行。
常用的分支和循环指令包括JMP、JZ、JCXZ和LOOP等。
知识点第一章基础知识(1)正负数的补码表示, 掌握计算机中数和字符的表示;eg.假设机器字长为8位,[+3]补=00000011B,[-3]补= 11111101 H 。
十六进制数0FFF8H表示的十进制正数为65528D,表示的十进制负数为-8D。
8位二进制数被看成是带符号补码整数时,其最小值是-128,最大值是 127 。
第二章80x86计算机组织(1)中央处理机CPU的组成和80x86寄存器组,重点:专用寄存器,段寄存器eg: IP寄存器中保存的是?代码段中的偏移地址FLAGS标志寄存器中共有几位条件状态位6位,有几位控制状态位2位,标志寄存器分为哪2类?陷阱标志,中断标志。
(2)存储单元的地址和内容每一个字节单元给以一个唯一的存储器地址,称为物理地址;一个存储单元中存放的信息称为该存储单元的内容。
存储器地址的分段,(低位字节存放)低地址,(高位字节存放)高地址;实模式下逻辑地址、选择器和偏移地址;物理地址的表示段基地址加上偏移地址。
eg.如果SS=6000H,说明堆栈段起始物理地址是_____60000H___。
已知字节(00018H)=14H,字节(00017H)=20H,则字(00017H)为__1420H______。
如果(SI)=0088H,(DS)=5570H,对于物理地址为55788H的内存字单元,其内容为0235H,对于物理地址为5578AH的内存字单元,其内容为0E60H,那么执行指令LDS SI,[SI]以后,(SI)= 0235H ,(DS)= 0E60H .第三章80x86的指令系统和寻址方式与数据有关的寻址方式(立即寻址方式,寄存器寻址方式,直接寻址方式,寄存器间接寻址方式,寄存器相对寻址方式,基址变址寻址方式,相对基址变址寻址方式)和与转移地址有关的寻址方式(段内直接寻址,段内间接寻址,段间直接寻址,段间间接寻址)。
数据传送指令(通用数据传送指令、累加器专用传送指令、输入输出指令)、算术指令(加法指令、减法指令(*加减指令对4个标志位的影响[of,cf,sf,zf])、乘法指令(*乘法指令的要求:目的操作数必须是累加器)、除法指令(*被除数在累加器中,除法指令执行完以后,商和余数在?))、逻辑指令(逻辑运算指令(*XOR,AND,OR,TEST指令及指令执行后对标志位的影响)、移位指令)、串处理指令(与REP相配合工作的MOVS、STOS、LODS 指令,与REPE/REPZ和REPNE/REPNZ联合工作的CMPS、SCAS指令)、控制转移指令(无条件转移指令、条件转移指令、循环指令、子程序调用指令、中断)。
汇编语言程序设计教程(第3版卜艳萍)参考答案汇编语言程序设计教程(第3版)习题参考答案第1章汇编语言基础知识思考与练习1. 计算机系统分哪几个层次?简述计算机系统的硬件结构。
1)数字逻辑层 2) 微体系结构层 3) 指令系统层 4) 操作系统层 5) 汇编语言层 6) 高级语言层 7) 应用层硬件系统是指构成计算机系统的物理实体或物理装置。
它由控制器、运算器、存储器、输入设备和输出设备等部件构成。
2. 简述用汇编语言进行程序设计的必要性。
1) 程序要具有较快的执行时间,或者只能占用较小的存储容量。
例如,操作系统的核心程序段,实时控制系统的软件,智能仪器仪表的控制程序等。
2) 程序与计算机硬件密切相关,程序要直接、有效地控制硬件。
例如,I/O接口电路的初始化程序段,外部设备的低层驱动程序等。
3) 大型软件需要提高性能、优化处理的部分。
例如计算机系统频繁调用的子程序、动态连接库等。
4) 没有合适的高级语言或只能采用汇编语言的时候。
例如,开发最新的处理器程序时,暂时没有支持新指令的编译程序。
5) 汇编语言还有许多实际应用,例如分析具体系统尤其是该系统的低层软件、加密解密软件、分析和防治计算机病毒等。
3. 汉字编码主要分哪几类?每类的功能如何?汉字编码主要分为四类:汉字输入码、汉字交换码、汉字机内码和汉字字形码。
1) 为了能直接使用西文标准键盘进行输入,就必须为汉字设计相应的编码方法,即用西文标准键盘上的字母数字串表示汉字的编码。
目前,汉字输入编码方法主要有三种:数字编码、拼音编码和字形编码。
2) 汉字交换码:在不同汉字信息处理系统间进行汉字交换时所使用的编码,就是国标码。
无论采用哪种方法输入汉字,一旦输入到计算机中,必须采用统一的国标码标识每个汉字。
3) 汉字机内码是汉字在设备或信息处理系统内部最基本的表达形式,是在设备和信息处理系统内部存储、处理、传输汉字用的编码。
4) 字形编码也称为字模码,是用点阵表示的汉字字形代码,它是汉字的输出形式。
汇编语言程序设计钱晓捷第五版第一章汇编语言基础知识在计算机科学领域,汇编语言是非常重要的一门编程语言,它直接面向计算机硬件,并且具有较高的执行效率。
钱晓捷的《汇编语言程序设计》是一本经典的教材,旨在帮助读者掌握汇编语言的基础知识。
本文将重点介绍《汇编语言程序设计钱晓捷第五版》第一章的内容,包括汇编语言的定义、特点以及基本的编程概念。
1. 汇编语言的定义:汇编语言是一种低级的计算机语言,它使用助记符(Mnemonic)代表机器指令,通过汇编程序将汇编指令翻译成机器指令。
相比于机器语言,汇编语言更容易阅读和编写,但仍然需要具备相当的硬件知识。
2. 汇编语言的特点:2.1 直接面向硬件:汇编语言直接操作计算机硬件,可以直接访问寄存器和内存等底层资源。
2.2 助记符表示指令:与机器语言使用二进制代码表示不同,汇编语言使用助记符代表指令,更加易读和易于理解。
2.3 灵活高效:汇编语言具有较高的执行效率,可以对性能要求较高的任务进行精确控制。
3. 汇编语言的基本概念:3.1 寄存器:寄存器是汇编语言中非常重要的概念,它们是计算机内部的存储器件,用于存储数据和执行运算。
常见的寄存器包括通用寄存器、特殊用途寄存器等。
3.2 内存:内存是计算机中用于存储数据和指令的地方,通过内存地址可以读写数据。
在汇编语言中,我们可以直接对内存进行操作。
3.3 标志寄存器:标志寄存器是一种特殊的寄存器,用于存储程序运行过程中的状态信息,比如进位标志、零标志等。
3.4 指令:汇编语言中的指令是用来告诉计算机如何执行任务的,包括数据传输指令、算术运算指令、条件跳转指令等。
本章还介绍了如何使用MASM汇编程序和DosBox仿真器来进行汇编语言程序的编写和调试。
通过实际的代码示例,读者可以更加深入地理解汇编语言的基本概念和编程方法。
总结:《汇编语言程序设计钱晓捷第五版》第一章介绍了汇编语言的基础知识,包括汇编语言的定义、特点以及基本的编程概念。