汇编——指令系统和寻址方式

用编码表示CPU的一个基本操作,称为一条指令。全部指令集称为指令系统。

助记符:传送指令:MOV  加法指令:ADD等

用助记符表示的指令称为汇编格式指令。

机器码:A0 00 20   MOV    AL , var1

操作码:指明CPU要执行什么样的操作。是一条指令必不可少的部分,用助记符表示。

按功能分为六类:数据传送 算术运算 逻辑运算 串操作 控制转移 处理机控制

-》操作数来源:

1.立即操作数:MOV AL,9

2.寄存器操作数:MOV AL,9

3.存储器操作数/内存操作数,指令中给出该内存单元的地址:

MOV AL,[2000H]

-》操作数个数:

1.无操作数(不需要操作数的指令,或操作数隐含在指令中。),eg:HLT,NOP,ALL

2.单操作数:指令中给出一个操作数。

1)有些操作只需要一个操作数:INC AL;  (AL)<-(AL)+1

2) 有些操作将另一个操作数隐含在指令中:MUL BL;(AX)<-(AL)*(BL)

3.双操作数:指令中给出两个操作数。 ADD AL BL;(AL)<-(AL)+(BL)

一个是目的操作数,一个是操作数。操作结果通常放在目的操作数中。

4.三操作数:指令 目的操作数 源操作数 立即数。操作后结果通常放在目的操作数中。(操作源操作数和立即数)

指令格式 操作码+寻址方式 操作数

》》寻址方式

1.立即数寻址(操作数在指令中给出)

*只能用于源操作数。  *源操作数和目的操作数字长一致。

MOV AL,5  适用于给寄存器赋初值。

2.寄存器寻址(操作数在指定的寄存器中)

MOV AL,BH(源和目的的字长一致,CS不能用MOV指令改变)。运算速度快

´MOV  CS, AX(错误!!!

3.存储器寻志

EA(有效地址)=基址+(变址*比例因子)+位移量

位移量:存放在指令中的一个8位、16位or32位的数,为地址。

基址:基础寄存器(数组or字符串首地址)。

变址:变址寄存器(指向数组中某个元素或字符串中某个字符)。

比例因子:386+,值可为1,2,4,8,与变址相乘用于访问元素长度为2、4、8字节的数组


寻址


段选择


存储器寻址中,储存单元的 逻辑地址段地址 与 段内偏移地址 共同组成,

当操作数的地址不在当前默认段,须加上段跨越前缀。

比如:mov ax,[0000]      程序默认使用的是ds:0000

使用了跨越段前缀就使用你指定的段寄存器

如:mov  ax,es:[0000]     程序就会使用es:0000


有三种情况不允许使用段跨越前缀:

1、串处理指令的目的串必须用ES

2、PUSH指令的目的和POP指令的源必须用SS段

3、指令必须存放在CS段中

段寄存器


3.直接寻址方式

注意给出的地址需要加上段地址。同时注意给出地址的方式有多种,比如下图中的value。


直接寻址

隐含的段为数据段 DS 除非用段跨越前缀改变:   MOV  AX, ES :[2000H]

*  使用变量时,要注意变量的属性

VALUE  DB  10 (下面要将字节变量转化为字变量)

MOV  AX,  WORD PTR  VALUE

*  适于处理单个变量


-》4.寄存器间接寻址方式:

1)EA在基址寄存器(BX/BP)或变址寄存器(SI/DI)中。

MOV  AX, [BX]                PA = 16d * (DS) + (BX)

MOV  AX, ES:[BX]          PA = 16d * (ES) + (BX)

MOV  AX, [BP]                PA = 16d * (SS) + (BP)

2) 不允许使用AX,CX,DX存放EA.

*  SRC 和 DST的字长一致 (即指示什么可以视前面而定)

MOV  DL, [BX]      ; [BX]指示一个字节单元

MOV  DX, [BX]      ; [BX]指示一个字单元

*  适于数组、字符串、表格的处理


寄存器相对寻址


以下几种方式感觉均为简单相加:


基址变址寻址方式


相对基址变址寻址方式


基址变址寻址


相对基址变址寻址
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,240评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,328评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,182评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,121评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,135评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,093评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,013评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,854评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,295评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,513评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,678评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,398评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,989评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,636评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,801评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,657评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,558评论 2 352

推荐阅读更多精彩内容

  • 8086汇编 本笔记是笔者观看小甲鱼老师(鱼C论坛)《零基础入门学习汇编语言》系列视频的笔记,在此感谢他和像他一样...
    Gibbs基阅读 37,179评论 8 114
  • 计算机通过执行指令序列来使机器得以工作,所以对于每一系列的计算机都有指定的一组指令集供计算机使用,这组指令...
    未来科技工作室阅读 7,988评论 1 10
  • 指令是使计算机执行某种特定操作的二进制编码。8086 CPU指令系统有133条指令,通常分为数据寻址方式和程序寻址...
    刀月水阅读 1,630评论 0 1
  • 王爽汇编全书知识点大纲 第一章 基础知识 机器语言 汇编语言的产生 汇编语言的组成 存储器 cpu对存储器的读写 ...
    2c3ba901516f阅读 2,417评论 0 1
  • 曲/周杰伦 离迁移还有一会 我对着天空鸣声 行李都收好没有 我去叫搬家老九 茜草花摘下一片 也能拿来当以前的留念...
    yy木瓜汁阅读 162评论 0 0