汇编语言入门

工欲善其事, 必先利其器。汇编语言是我们学习, 接口原理, 微机组成原理等多门有趣课程的基础。 然而不幸得是刚接触汇编的人老是感觉, 好难, 好麻烦, 好多, 好虐心, 好虐脑。于是, 行百里者半九十!!!。 其实汇编没有想象的那么的难, 并且很有趣。 当然, 也没有想象的那么简单。

先推荐课本吧! 王爽的《汇编语言》。 这本书比较适合入门, 因为书中尽量的屏蔽了好多的深奥内容。 (即使是这样, 也还是不简单!)。然后是我们老师给我们推荐的书

:《80x86汇编语言程序设计教程》(杨季文),        《IBMPChb汇编语言》, 还有一本叫什么 《从汇编语言到计算机内核》的书。 其实这几本书我都没看过, 不过, 计划着是最少要看一本的。

好吧! 让我们一起愉快的学汇编吧!(其实是汇编快考试啦, 我把东西试着复习并整理了一下, 不过学汇编的路还有很长哦!)。

C1:基础知识(钟表理解 补码 各种硬件 )

C2:寄存器(物理地址 段)

C3:寄存器(内存访问)

C4:第一个程序

C5:【BX】和loop命令

C6:包含多个段的程序

C7:更灵活的定位地址的方法 //没好好学

AH&AL=AX(accumulator):累加寄存器

BH&BL=BX(base):基址寄存器

CH&CL=CX(count):计数寄存器

DH&DL=DX(data):数据寄存器

SP(Stack Pointer):堆栈指针寄存器

BP(Base Pointer):基址指针寄存器

SI(Source Index):源变址寄存器

DI(Destination Index):目的变址寄存器

IP(Instruction Pointer):指令指针寄存器

CS(Code Segment)代码段寄存器

DS(Data Segment):数据段寄存器

SS(Stack Segment):堆栈段寄存器

ES(Extra Segment):附加段寄存器

FLAG  寄存器中存储的信息通常又被称作程序状态字(PSW) 
OF overflow flag 溢出标志 操作数超出机器能表示的范围表示溢出,溢出时为1.
SF sign Flag 符号标志 记录运算结果的符号,结果负时为1.
ZF zero flag 零标志 运算结果等于0时为1,否则为0.
CF carry flag 进位标志 最高有效位产生进位时为1,否则为0.
AF auxiliary carry flag 辅助进位标志 运算时,第3位向第4位产生进位时为1,否则为0.
PF parity flag 奇偶标志 运算结果操作数位为1的个数为偶数个时为1,否则为0.
DF direcion flag 方向标志 用于串处理.DF=1时,每次操作后使SI和DI减小.DF=0时则增大.
IF interrupt flag 中断标志 IF=1时,允许CPU响应可屏蔽中断,否则关闭中断.
TF trap flag 陷阱标志 用于调试单步操作.



其他

psw: program status word
tcon: timer control
ie: interrupt enable
scon: serial control

EA  --Effective Address:有效地址 ,即偏移地址。

SA--segment address
 
时间: 2024-11-10 13:11:06

汇编语言入门的相关文章

汇编语言入门———逻辑三大总线及工作原理

指令和数据: 在内存或者磁盘上,指令和数据是没有任何区别的,都是二进制信息. 那怎么区分二进制信息到底是数据还是程序呢? 下面会有解释. cpu要想进行数据的读写,必须和外部器件进行三类信息交互: 1.存储单元的地址(地址信息) 2器件的选择,读还是写(控制信息) 3 操作的数据(数据信息) 计算机中专门链接cpu和其他芯片的导线,通常称为总线(bus) 物理上:一根根导线的集合 逻辑上划分为: 地址总线 数据总线(从这条总线到cpu的二进制信息 就算做数据) 控制总线(从这条总线到cpu的二进

汇编语言入门———cpu的工作原理(寄存器)

CPU构成 典型的cpu有 运算器,控制器,寄存器 等器件组成.这些器件靠内部总线相连 寄存器 寄存器是cpu内的组成部分.寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令.数据和地址 8086CPU有14 个寄存器  AX , BX, CX, DX, SI, DI, SP, BP, IP, CS , SS, DS, ES , PSW 通用寄存器(8个 一般不变) 8086CPU所有的寄存器都是16位的,可以存放两个字节(1个字) AX BX CX DX 是通用寄存器,通常用来放一般性数据

汇编语言入门———cpu与存储器的配合(外部通讯)

存储器: 随机存储器(RAM) :断电以后就会丢失: 只读存储器(ROM): 公共能和链接上分为 随机存储器RAM 装有BIOS的ROM bios(基本输入输出系统),是由主板和各类接口卡(显卡 网卡)厂商提供的软件系统. 接口卡上的RAM (显存) 各类存储器的逻辑链接 内存地址空间: 一个cpu的地址线宽度是10,那么可以寻址1024个内存单元(2的10次方),这1024个可寻到的内存单元就构成了 这个cpu的内存地址空间. 在cpu看来,各类存储器是一个逻辑存储器,如下图所示 Intel

8086汇编语言入门-HelloWorld

附件下载:  http://pan.baidu.com/s/1i5R9qO9    密码:rfgk 80x86微处理器汇编语言编程.学习任何编程语言都免不了要跨越HelloWorld这道坎,面向机器的汇编语言与面向过程/对象的高级语言不同,编码过程中对寄存器.内存的分配等细节都需要编程人员去关心:而高级语言程序如C语言.C++,即使你不知道printf具体是怎么实现的,只要掌握使用方法即可(封装成模块).C语言的helloworld程序简单到只有一行执行语句:   printf("Hello,W

汇编语言入门(在debug中编辑和调试程序)

2013-06-02 17:09 4252人阅读 评论(2) 收藏 举报  分类: 汇编语言(1)  版权声明:本文为博主原创文章,未经博主允许不得转载. 我们在Windows中进入的Dos方式,实际上是虚拟8086模式的Dos,方法是:点击“开始”,“运行”,输入"command",点击“确定”, 可以看到弹出一个黑色的框框,然后,在黑色的框框中输入相关信息,如图所示(提前说一句,汇编语言对大小写不敏感,而C语言对大小写敏感): 下面来具体分析一下: 1. debug是一个调试工具(

汇编语言入门:debug调试工具

对于大学生来说,基本都需要学习高级编程语言,相信大多数理工类大学生都知道c++.c语言.Java语言等高级语言,也知道机器语言这个最低级的语言,但是却有很多都不知道汇编语言,或许听过这个名字,却不知道用途等.现在我就来给大家讲解一下汇编语言以及入门.我也是刚学习汇编语言,大家可以跟着我一起学习.汇编语言与高级语言不同,它是面向机器的语言,最接近于机器语言.学习汇编语言,必须要了解计算机中机器指令.数据.符合的表示形式和存储格式以及机器指令程序的运行方式等.汇编语言的实践性很强,必须要边学习边动手

汇编语言入门:流程控制

流程控制:顺序,分支,循环 程序计数器PC中存储当前执行的程序在EM中的位置 汇编里面,用比较.跳转实现流程控制. 1.顺序:PC+1(不一定加一,看指令长度) 2.分支循环,直接赋给PC值,执行指定地址的程序 有时候需要程序有一定的流程控制能力,它不是老老实实按照顺序来执行的,中间可能会跳过一些代码 修改PC值,不可用MOV指令,PC是特殊的寄存器,特殊对待,跳转指令修改其值. 跳转指令: 1 ja 大于时跳转 2 jae 大于等于 3 jb 小于 4 jbe 小于等于 5 je 相等 6 j

OS/390汇编语言入门

第四单元,程序开发过程,描述了汇编语言语法及汇编语言在汇编语言程序中如何转换为...系统宏指令中就大量地使用了通用寄存器.宏指令是由操作系统提供给汇编语言程序员 http://www.zhihu.com/people/ojmgibsuhhttp://www.zhihu.com/people/cnuekeahwhttp://www.zhihu.com/people/wuzrdcacqhttp://www.zhihu.com/people/cymdxgxhttp://www.zhihu.com/pe

汇编语言入门教程

2018-02-10 阮一峰 21CTO 学习编程其实就是学高级语言,即那些为人类设计的计算机语言. 但是,计算机不理解高级语言,必须通过编译器转成二进制代码,才能运行.学会高级语言,并不等于理解计算机实际的运行步骤. 计算机真正能够理解的是低级语言,它专门用来控制硬件.汇编语言就是低级语言,直接描述/控制 CPU 的运行.如果你想了解 CPU 到底干了些什么,以及代码的运行步骤,就一定要学习汇编语言. 汇编语言不容易学习,就连简明扼要的介绍都很难找到.下面我尝试写一篇最好懂的汇编语言教程,解释