汇编
大都督老师
爱老婆不能只停留在口头上
展开
-
最高有效位MSB是指哪一位?
一个二进制数据的右边最低位称为最低有效位LSB(Least Significant Bit),即D0位;左边最高位称为最高有效位MSB(Most Significant Bit),对应字节、字、双字长度的数据依次指D7、D15和D31位。原创 2021-12-29 08:33:33 · 3165 阅读 · 0 评论 -
汇编语言中的标识符与高级语言的变量和常量名的组成原则有本质的区别吗?
执行性语句——表达处理器指令的语句:标号: 处理器指令助记符 操作数,操作数 ;注释说明性语句——表达汇编程序命令的语句:名字 伪指令助记符 参数,参数,……;注释标号和名字是符合汇编程序语法的用户自定义的标识符(Identifier)。标识符(也称为符号Symbol)一般最多由31个字母、数字及规定的特殊符号(如 _、$、?、@)组成,不能以数字开头(与高级程序语言一样)。在一个源程序中,用户定义的每个标识符必须是唯一的,且不能是汇编程序采用的保留字。保留字(Reser原创 2021-12-30 08:46:42 · 398 阅读 · 0 评论 -
堆栈的存取原则是什么?
堆栈(Stack)是一个特殊的存储区域,它采用先进后出FILO(First In Last Out)、也称为后进先出LIFO(Last In First Out)的操作方式存取数据。它用于调用子程序时暂存数据、传递参数、存放局部变量,也可以用于临时保存数据。BP和SP是指针寄存器,用于指向堆栈中的数据。其中,SP堆栈指针会随着处理器执行有关指令自动增大或减小,所以SP不应该再用于其他目的,实际上可归类为专用寄存器;但是 SP 又可以像其他通用寄存器一样灵活地改变。...原创 2021-12-27 08:38:32 · 3248 阅读 · 0 评论 -
标志寄存器主要保存哪方面的信息?
标志(Flag)用于反映指令执行结果或控制指令执行形式。许多指令执行之后将影响有关的状态标志位;不少指令的执行要利用某些标志;当然,也有很多指令与标志无关。处理器中用一个或多个二进制位表示一种标志,其0或1的不同组合表达标志的不同状态。Intel 8086支持的9个标志,分为状态标志和控制标志两类,采用一个16位的标志寄存器FLAGS保存标志寄存器FLAGS状态标志是最基本的标志,用来记录指令执行结果的辅助信息。加减运算和逻辑运算指令是主要设置它们的指令,其他有些指令的执行也会相应地设置它们。状态原创 2021-12-28 08:44:06 · 517 阅读 · 0 评论 -
汇编语言的标识符大小写不敏感意味着什么?
默认情况下,汇编程序不区分包括保留字在内的标识符字母大小写。换句话说,汇编语言是大小写不敏感的。例如,对于寄存器名AX,还可以书写成ax,Ax等。msg变量名,还可以Msg,MSG等形式出现,它们表达同一个变量。处理的原则是:程序中一般使用小写字母形式,功能注释、文字说明通常采用大写字母形式。用户自定义标识符时,应尽量具有描述性并易于理解,一般不建议使用特殊符号开头,因为特殊符号没有含义,而且常被编译(汇编)程序所使用,例如C语言编译程序在内部为函数增加“_”前缀,MASM 大量使用“@”作为预定义符号的原创 2021-12-31 09:03:25 · 852 阅读 · 0 评论 -
汇编语言源程序文件中,END语句后的语句会被汇编吗?
汇编结束表示汇编程序到此结束将源程序翻译成目标模块代码的过程,它不是指程序终止执行。源程序的最后必须有一条END伪指令,END指令之后的任何内容将不会被汇编程序所理会。END伪指令后面可以有一个“标号”性质的参数,用于指定程序开始执行于该标号所指示的指令。汇编程序将据此设置CS和IP值。如果没有.STARTUP指令说明程序开始执行的位置,就需要利用这种方法指明。...原创 2022-01-04 08:45:46 · 1480 阅读 · 0 评论 -
汇编时生成的列表文件主要包括哪些内容?
源程序的汇编(编译)过程可以生成列表文件。列表文件(List file)是一种文本文件,扩展名为LST,含有源程序和目标代码,对学习汇编语言和发现错误很有用。创建列表文件,需要ML汇编程序使用“/Fl”参数(大写字母F,接着小写字母l,不是数字1),例如输入如下命令:ml /Fl eg101.asm该命令除产生模块文件 EG101.OBJ 外,还将生成列表文件 EG101.LST。列表文件有两部分内容,第一部分是源程序及其代码,如下所示:eg101.asm Page 1-1原创 2022-01-06 08:57:03 · 2295 阅读 · 0 评论 -
汇编语言简明教程习题答案
习题1(2)判断题AX被称为累加器,在8086程序中使用很频繁。(✓)指令指针IP寄存器属于通用寄存器。(✓)8086具有8个32位通用寄存器。(×)解析:8086的寄存器有8个16位通用寄存器、4个16位段寄存器、1个16位标志寄存器和1个16位指令指针寄存器8086编程使用逻辑地址,将其中段地址左移4位加偏移地址就是物理地址。(✓)Windows的模拟DOS环境与控制台环境是一样的。(×)解析:...原创 2022-01-06 09:16:48 · 1360 阅读 · 0 评论 -
什么是通用寄存器?
通用寄存器:这类寄存器在处理器中数量较多、使用频度较高,具有多种用途。例如它们可用来存放指令需要的操作数据,又可用来存放地址以便在主存或I/O接口中指定操作数据的位置。通用寄存器(General-Purpose Register)一般是指处理器最常使用的整数通用寄存器,可用于保存整数数据、地址等。8086处理器只有8个通用寄存器,数量有限。8086 处理器的 8 个 16 位通用寄存器,分别被命名为:AX、BX、CX、DX、SI、DI、BP和SP。其中前4个通用寄存器AX、BX、CX和DX还可以进一原创 2021-12-24 17:10:17 · 14304 阅读 · 0 评论 -
1.汇编语言习题1.2
汇编语言最主要的优势是什么?通过对比,高级语言的优势明显。很自然地人们称机器语言和汇编语言为低级语言。但事实上,汇编语言被称为低层语言(Low Level Language)更合适。因为,程序设计语言是按照计算机系统的层次结构区分的,本没有“高低贵贱”之分,只是某种语言更适合某种应用层面(或说场合)而已。我们看到,汇编语言便于直接控制计算机硬件电路,可以编写在“时间”和“空间”两方面最有效,即执行速度快和目标代码小的程序。这些优点使得汇编语言在程序设计中占有重要的位置,是不可被取代的。下面罗列了汇编语言的原创 2021-12-23 09:06:37 · 118 阅读 · 0 评论 -
1.汇编语言习题1.1
传统计算机的5大部件演变为现代计算机的哪3个硬件子系统?源于冯·诺依曼设计思想的计算机由5大部件组成:控制器、运算器、存储器、输入设备和输出设备。控制器是整个计算机的控制核心;运算器是对数据进行运算处理的部件;存储器是用来存放数据和程序的部件;输入设备将数据和程序变换成计算机内部所能识别和接受的信息方式,并把它们送入存储器中;输出设备将计算机处理的结果以人们能接受的或其他机器能接受的形式送出。现代计算机在很多方面都对冯·诺依曼计算机结构进行了改进,5大部件演变为3个硬件子系统:处理器、存原创 2021-12-23 08:45:44 · 222 阅读 · 0 评论 -
逻辑运算详解
逻辑与运算规则进行逻辑与运算的两位都是逻辑1,则结果是1;否则,结果是0。0 与 0 = 00 与 1 = 01 与 0 = 01 与 1 = 1运算示例:0100 0101 = A0011 0001 = B0000 0001 = A 与 B逻辑或运算规则进行逻辑或运算的两位都是逻辑0,则结果是0;否则,结果是1。0 或 0 = 00 或 1 = 11 或 0 = 11 或 1 = 1运算示例:0100 0101 = A0011 0001 =原创 2021-11-17 21:46:47 · 10266 阅读 · 0 评论 -
计算机的硬件
源于冯·诺依曼设计思想的计算机由5大部件组成:控制器、运算器、存储器、输入设备和输出设备控制器控制器是整个计算机的控制核心运算器运算器是对数据进行运算处理的部件存储器存储器是用来存放数据和程序的部件输入设备输入设备将数据和程序变换成计算机内部所能识别和接受的信息方式,并把它们送入存储器中输出设备输出设备将计算机处理的结果以人们能接受的或其他机器能接受的形式送出现代计算机结构处理器运算器和控制器被制作在一块大规模集成电路芯片上,称为处理器(Processor),也被称为 中央原创 2021-10-27 22:45:33 · 109 阅读 · 0 评论 -
汇编语言笔记
什么是汇编语言?汇编语言使用处理器指令编程,是一种底层程序设计语言。汇编语言能够直接有效地控制硬件,便于编写代码量少、运行速度快的高效程序,在计算机及相关专业的教学和许多应用场合中具有不可或缺的作用。汇编语言基础什么是程序设计语言?程序设计语言是人与计算机沟通的语言,程序员利用它进行软件开发。什么是高级程序设计语言?C、C++、Basic、Java语言等。高级语言需要翻译为计算机能够识别的指令,即机器语言,才能被计算机直接执行。什么是机器语言?一串由0和1组成的二进制代码,对程序员来说艰原创 2021-10-27 22:22:20 · 216 阅读 · 0 评论