《2022年2022年汇编语言习题一(... .pdf》由会员分享,可在线阅读,更多相关《2022年2022年汇编语言习题一(... .pdf(3页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1.汇编语言的主要特点有哪些?1、与机器相关性汇编语言指令是机器指令的一种符号表示,而不同类型的 CPU 有不同的机器指令系统,也就有不同的汇编语言, 所以,汇编语言程序与机器有着密切的关系。由于汇编语言程序与机器的相关性,所以,除了同系列、 不同型号 CPU 之间的汇编语言程序有一定程度的可移植性之外,其它不同类型( 如:小型机和微机等)CPU之间的汇编语言程序是无法移植的,也就是说,汇编语言程序的通用性和可移植性要比高级语言程序低。2、执行的高效率正因为汇编语言有 “与机器相关性” 的特性,程序员用汇编语言编写程序时,可充分发挥自己的聪明才智, 对机器内部的各种资源进行合理的安排,让它们始
2、终处于最佳的使用状态, 这样做的最终效果就是: 程序的执行代码短, 执行速度快。现在,高级语言的编译程序在进行寄存器分配和目标代码生成时,也都有一定程度的优化 ( 在后续课程 编译原理 的有关章节会有详细介绍 ) ,但由于所使用的“优化策略”要适应各种不同的情况,所以,这些优化策略只能在宏观上,不可能在微观上、 细节上进行优化。 而用汇编语言编写程序几乎是程序员直接在写执行代码, 程序员可以在程序的每个具体细节上进行优化,这也是汇编语言程序执行高效率的原因之一。3、编写程序的复杂性汇编语言是一种面向机器的语言,其汇编指令与机器指令基本上一一对应,所以,汇编指令也同机器指令一样具有功能单一、具体
3、的特点。 要想完成某件工作(如计算: A+B+C 等) ,就必须安排 CPU的每步工作 ( 如:先计算 A+B ,再把 C加到前者的结果上 )。另外,在编写汇编语言程序时, 还要考虑机器资源的限制、汇编指令的细节和限制等等由于汇编语言程序要安排运算的每一个细节,这就使得编写汇编语言程序比较繁琐、复杂。一个简单的计算公式或计算方法,也要用一系列汇编指令一步一步来实现。4、调试的复杂性在通常情况下, 调试汇编语言程序要比调试高级语言程序困难,其主要原因有四:(1)汇编语言指令涉及到机器资源的细节,在调试过程中,要清楚每个资源的变化情况;(2)程序员在编写汇编语言程序时,为了提高资源的利用率,可以使
4、用各种实现技巧,而这些技巧完全有可能破坏程序的可读性。这样,在调试过程中,除了要知道每条指令的执行功能,还要清楚它在整个解题过程中的作用;(3)高级语言程序几乎不显式地使用“转移语句”,但汇编语言程序要用到大量的、各类转移指令, 这些跳转指令大大地增加了调试程序的难度。如果在汇编语言程序中也强调不使用“转移指令” ,那么,汇编语言程序就会变成功能单调的顺序程序,这显然是不现实的;(4)调试工具落后,高级语言程序可以在源程序级进行符号跟踪,而汇编语言程序只能跟踪机器指令。不过,现在这方面也有所改善,CV(CodeView)、TD(Turbo Debug) 等软件也可在源程序级进行符号跟踪了。名师
5、资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 3 页 - - - - - - - - - 3. 在汇编语言中,如何表示二进制、八进制、十进制和十六进制的数值?(1) 二进制:由 0,1 组成其后跟以字母B,eg 001011011B (2) 十进制:由 0-9 的数字组成。一般情况下,后面不必加上表记,在指定其他的基数的情况下,后面可跟字母D,eg 178D (3) 十六进制:由 0-9 及字母 A-F 组成的数,后面跟字母H ,第一个字符必须是0-9,如果以 A-F 开头
6、,已在其前加0,eg 0ffffh 5. 在 ASCII 表中字符“ 0”“9”与数值 09 之间编码顺序是什么?大写字母和小写字母之间的编码规律是什么?常见 ASCII 码的大小规则: 09AZaz 1)数字比字母要小。如“7”“F”;2)数字 0 比数字 9 要小,并按 0 到 9 顺序递增。如“3”“8” ;3)字母 A 比字母 Z 要小,并按 A 到 Z 顺序递增。如 “A”“Z” ;4)同个字母的大写字母比小写字母要小32。如“A”“a” 。记住几个常见字母的ASCII 码大小:“A”为 65;“a”为 97;“0”为 48。6. 汇编语言中的基本数据类型有哪些?它与高级程序设计语言
7、(如 C语言)中的类型的对应关系是什么?(1)字节一个字节由 8 位二进制数组成, 其最高位是第七位, 最低位是第零位, 在表示有符号数时, 最高位数就是符号位。 通常情况下, 存储器按字节编址, 读写存储器的最小信息单位就是一个字节。(2)字由 2 个字节组成一个字,其最高位是第15 位,最低位是第 0 位。高 8 位称为高字节,低 8 位称为低字节。 字节和字是汇编语言程序中最常用的两种数据类型,也是最容易出错的数据类型。(3)双字由 2 个字(4 个字节) 组成一个双字, 其高 16 位称为稿子, 低 16 位称为低字, 它通常是为了满足数据的表示范围而选用的数据类型,也可用于存储远指针
8、。(4)四字由 4 个字( 8 个字节)组成一个四字类型,它总共有64 个二进制位,当然也就有更大的数据类型,但在汇编语言中很少使用该数据类型。(5)十字节由 10 个字节组成一个数字类型,它总共有80 个二进制位。在汇编语言中很少使用该数据类型,但在表示浮点数时会有所涉及。(6)字符串字符串是由若干个字节组成的,字节数不定,通常每个字节存储一个字符。该数据形式是汇编语言程序中经常使用的一个数据形式,它没有C 语言中的规定:以 ASCII 码 0 为字符串的结束符。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 3 页 - - - - - - - - - 最后,汇编语言与高级程序设计语言中的数据类型的对应关系是:二进制。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 3 页 - - - - - - - - -