汇编语言:基于 X86 处理器第三章复习笔记

一;基本语言元素

1;整数常量

整数常量表达式:[{ + / - }] digits [ radix ]

整数常量的表达与进制是分不开的,通常通过在尾部添加字母加以区分:

十六进制 h

十进制   t(一般省略)

八进制   o/q

二进制   b

编码实数 r

注意:以字母开头的十六进制为了与标识符分区,必须在前面加数字 0

2;整形常量表达式

整形常量表达式是指一种算术表达式,由整数常量,算术运算符构成,注意:整形常量表达式的运算结果也必须是一个整数常量,其位数应该在处理器的位数之内

算术表达式通过优先级排列从高到低一般有:

() +,-(此处为一元加减) *,/ MOD +,-

3;实数常量

实数常量又称为浮点数常量,实数常量一般指的是十进制实数,十六进制实数一般称之为编码实数

实数常量表达式:[{ + / - }]integer . [integer] [E[{ +  /  - }]integer]

例如:+45.4E+12

编码实数:十六进制实数,用 IEEE 浮点数格式表示

4;字符常量

字符常量是指,用单引号或者双引号括起来的一个字符,字符存储和处理是使用 ASCLL 编码转化为整数的进行处理的

例如:‘a‘,‘A‘

5;字符串常量

字符串常量是用单引号或者双引号括起来的一个或者多个字符(可以是空格符),

例如:‘AADAD‘,"SSD"

和字符常量一样,字符串常量中的每一个字符都通过 ASCLL 编码为整数并且占用一个字节的存储空间

6;保留字

保留字是根据上下文使用的有特殊意义的字符,或者字符串,保留字不区分大小写,例如:mov,Mov,MOV 的意义是一样的

保留字的类型:

指令助记符:例如,mov,add,jmp,mul,call

寄存器名称:例如,EAX,EBX,ECX,EDX,ESI,ESS,EFLAG

伪指令:告诉汇编器如何汇编程序

属性:提起变量和常量使用信息的,例如,BYTE,SBYTE

运算符:在常量表达式中使用

预定义符:例如,@data,它在汇编是返回常量的整数值

时间: 2024-08-13 07:35:34

汇编语言:基于 X86 处理器第三章复习笔记的相关文章

《汇编语言 基于x86处理器》第九章字符串与数组部分的代码

? 书中第九章的程序,主要讲了 ● 代码,Irvine32 中的字符串库函数代码范例 1 INCLUDE Irvine32.inc 2 3 .data 4 str1 BYTE "abcde////", 0 5 str2 BYTE "ABCDE", 0 6 msg0 BYTE "Upper case: ", 0 7 msg1 BYTE "str1 == str2", 0 8 msg2 BYTE "str1 < s

《汇编语言 基于x86处理器》第十三章高级语言接口部分的代码 part 1

? 书中第十三章的程序,主要讲了汇编语言和 C/++ 相互调用的方法 ● 代码,数组求和的几种优化 1 int arraySum(int array[], int count) ; O0 2 { 3 010716D0 push ebp 4 010716D1 mov ebp,esp 5 010716D3 sub esp,0D8h 6 010716D9 push ebx 7 010716DA push esi 8 010716DB push edi 9 010716DC lea edi,[ebp-0

《汇编语言 基于x86处理器》第十一章 MS-DOS 编程部分的代码 part 2

? 书中第十一章的程序,主要讲了 Windows 接口,在小黑框中进行程序交互 ● 在屏幕指定位置输出带自定义属性的文字 1 INCLUDE Irvine32.inc 2 3 .data 4 outHandle HANDLE ? 5 cellsWritten DWORD ? ; 输出计数(输出参数) 6 xyPos COORD <10,2> ; 输出坐标 7 buffer BYTE 41h,42h,43h,44h,45h,46h,47h,48h,49h,4Ah,4Bh,4Ch,4Dh,4Eh,

《汇编语言 基于x86处理器》第十章结构和宏部分的代码

? 书中第十章的程序,主要讲了结构与宏的使用 ● 代码,使用结构,对比是否对齐的性能差距 1 INCLUDE Irvine32.inc 2 INCLUDE macros.inc 3 4 structN STRUCT ; 非对齐的结构 5 Lastname BYTE 30 DUP(0) ; 30 6 Years WORD 0 ; 2 7 SalaryHistory DWORD 0, 0, 0, 0 ; 16 8 structN ENDS ; 48 Byte 9 10 structA STRUCT

Android深度探索——第三章读书笔记及心得

了解Git ——第三章读书笔记及心得 对于Android的理解是从这学期才开始,所以不可谓说是了解的太少太少.对于Linux虽然经过了一学期的学习.经过一次紧张的实训,但是了解的也不是很多.不过我终究是知道Android和Linux是开源的,这是很多老师都曾经告诉我们的.虽然Git并不是学习Android和Linux开发必须掌握的技术,但是对于想要认真学习好这门技术的我们来说应该要努力掌握好这门技术.就像书上说的学习新技术的方式不是一味的读书,只会纸上谈兵.更应该深入的理解自己感兴趣的源代码,通

统计学习导论:基于R应用——第三章习题

第三章习题 部分证明题未给出答案 1. 表3.4中,零假设是指三种形式的广告对TV的销量没什么影响.而电视广告和收音机广告的P值小说明,原假设是错的,也就是电视广告和收音机广告均对TV的销量有影响:报纸的P值高,说明原假设成立,也就是报纸广告对TV的销量没啥影响. 2. KNN回归和KNN近分类都是典型的非参数方法.这两者的区别在于,前者的输入和输出均为定量值:而后者的输入和输入和输出均为定性值. 3. 首先,有题目可知下面关系:Y = 50 + 20(gpa) + 0.07(iq) + 35(

linux第三章学习笔记

第三章 进程管理 进程是Unix操作系统抽象概念中最基本的一种. 进程管理是所有操作系统的心脏所在. 一.进程 1. 进程是处于执行期的程序.除了可执行程序代码,还包括打开的文件.挂起的信号.内核内部数据.一个或者多个执行线程等多种资源 线程是在进程活动中的对象:内核调度的对象是线程而不是进程 在Linux系统中,并不区分线程和进程 可能存在两个或者多个进程执行的是同一个程序:甚至N个进程共享打开的文件.地址空间之类的资源 2. 线程:是进程中活动的对象.每个线程都有一个独立的程序计数器,进程栈

JavaScript高级程序设计(第3版)第三章读书笔记

第三章  基本概念 ECMAScript中的一切(变量.函数名和操作符)都区分大小写. 标识符是指变量.函数.属性的名字,或者函数的参数. 标识符的组成规则是:第一个字符必须是一个字母.下划线(_)或一个美元符号($):其他字符可以是字母.下划线.美元符号或数字. ECMAScript标识符采用驼峰大小写格式. ECMAScript注释包括单行注释(//)和块级注释(/*  *  */). ECMAScript 5引入了严格模式的概念,严格模式是为JavaScript定义了一种不同的解析与执行模

《构建之法》第三章读书笔记

看到第三章,发现软件工程开发一直强调团队的重要性,但同时,每个人也发挥着重要的作用,在一个开发团队中,每个人都是一个环,环环相扣才能实现软件的开发.在大部分成功的软件团队模型中各个角色考虑问题的出发点是有区别的.不同意见的冲突在所难免,一个好的团队流程能把冲突的积极方面(各自尽力把自己的工作做好,说服别人)释放出来,避免消极方面(因为冲突而产生的消极.抵触情绪等). 在团队中,IC需要做到:通过交流.实验.快速原型等方法,理解问题.需求或任务:提出多种解决办法并估计工作量:与相关角色交流解决问题