汇编1

进位计数制

遵循及十进一的规则为十进制。以此类推,N进制数的进位计数,我们称其进制数为基。以2为基的称为二进制数,遵循及二进一的规则。

1.1常用计数制及其数的算数运算

十进制    361.905D

二进制    11101.011B

十六进制    6B.0CH

八进制    36.53Q

我们称数字后的大写字母为尾标。每一个进制数是由各位数的基数幂与权值的乘积之和构成。例如,360D的组成按十进制数的组成是3x10^2+6x10^1 +0。用二进制表示是101101000B,按二进制数的组成是1x2^8 +1x2^6 +1x2^5 +1x2^3 。用十六进制的表示是168H,十六进制的表示是1x16^2 +6x16^1+8x16^0 。用八进制的表示是550Q,八进制的数组成是5x8^2 +5x8^1

1.2计算机中数和字符的表示

数的表示

1.机器数与真值

机器数采用原码,补码或是反码表示。

2.原码

原码的使用是为了方便真值在计算机中的引用。原码的最高位表示真值的符号位,是有符号数。通常符号位用0表示正数,用1表示负数。

真值        原码(使用8位表示真值)      

+10110     00010110

-11010        10011010

3.补码

当一个数为正数,其补码就是数本身;当一个数为负数,其补码等于这个数按位取反加一,同时注意数值需要根据条件调整到n位。

4.反码

反码的最高位是符号位,0表示正数,1表示负数。

当反码为正数,其数值位不变;当反码为负数,其数值位按位取反,得到结果。

5.BCD码

为方便十进制和二进制之间的转换,使用四位的二进制数表示十进制数的编码称为BCD码。

CPU的功能结构

8086/8088采用了流水化结构,按步骤分配CPU执行单元。CPU内部结构显示如下,三条总线,分别为控制总线,地址总线和数据总线;两个单元,控制单元,执行单元。

构成元素为通用寄存器,ALU,指令单元,内部寄存器等。其中通用寄存器分为数据寄存器和地址指针和变址寄存器。段寄存器(CS、DS、ES、SS)是汇编程序主要使用的单元。

1.通用寄存器

1)数据寄存器
数据寄存器AX、BX、CX、DX主要用来保存算数运算或者逻辑运算的操作数、中间结果。

2)地址指针及变址寄存器

基址指针BP、堆栈指针SP、变址寄存器SI和DI。

2.段寄存器

段寄存器(CS、DS、ES、SS)是汇编程序主要使用的单元。

3.指令指示器IP

指令指示器是一个十六位的寄存器,它用于存放代码段中的指令的偏移地址。IP会处理下一条将要取出的指令的偏移地址。根据CS中存放的代码段地址和IP的内容,形成待取用的指令的物理地址。

4.程序状态字寄存器

PSW是一个十六位的寄存器。在8086/8088CPU里使用了9位,分为两类,一个是状态标志,另一个是控制标志。状态标志是反映EU执行算术或逻辑运算后的结果特征;控制标志用来控制CPU的某些操作,可用程序设置或清除。这里我们重点介绍几个标志。


9个标志位的作用显示

1)状态标志

CF,进位标志,记录算术运算时从数字有效位产生的进位或借位值。

ZF,零标志,如果运算结果为零,则ZF=1,如果运算结果为1,ZF=0。

OF,溢出标志,当有符号数运算结果产生了溢出,则OF=1。


2)控制标志

DF,方向标志,用于控制处理信息的方向。

IF,中断标志,IF=1时,允许CPU响应可屏蔽的外部中断请求,IF=0时,CPU对可屏蔽外部中断请求不予响应。


2.1存储器的组织

8086/8088CPU计算机系统字长为16位,由两个字节组成。存储器地址就是字节单元的编号。在机器里常用十六进制表示。n位二进制数可以表示2^n 个地址单元。1KB=2^10B=1024B;1MB=2^20B;65536个字节存储容量为64KB。

字地址可以是偶数,也可以是奇数。通常把存放在偶地址的字称为规则字,存放在奇地址的字称为非规则字。

若访问一个字节的数据,用一个总线周期来完成操作;若访问一个字,则需用一个或两个总线周期来完成。对规则字,用一个总线周期,对于非规则字,用相邻两个总线周期 。

CPU在访问存储器时,必须先确定所要访问的存储器单元的物理地址,才取得该单元的内容。在每一个存储器中,存储地址是分段的,所访问的段区由一个起始地址和一个偏移地址构成一个存储地址。每一段的起始地址称为段地址,从段地址开始至下一段起始地址的偏移量,称为偏移地址。

段地址和偏移地址是逻辑地址,把它转换为物理地址,要求16位段地址左移4位加偏移地址,即

段地址X16D+偏移地址=物理地址

对应的存储器的每个单元均有一个唯一确定的物理地址,但是逻辑地址不唯一,即一个物理地址可对应多个逻辑地址。如表示物理地址为30403H的存储单元,段地址为3000H,偏移地址为0403;当段地址为3040H时,偏移地址为0003H。

指令系统

3.1指令格式

50年代,指令系统只有定点加减、逻辑运算、数据传送、转移等十几至几十条指令

60年代后期,增加了乘除、浮点、十进制、字符串处理等指令,指令数目多达一二百条,寻址方式也趋多样化,开始出现系列计算机

70年代末期,大多数计算机的指令系统多达几百条,称这些计算机为复杂指令系统计算机(CISC,Complex Instruction Set Computer)。

但是如此庞大的指令系统不但使计算机的研制周期变长,难以保证正确性,不易调试维护,而且由于采用了大量使用频率很低的复杂指令而造成硬件资源浪费,产生指令集所谓20:80规律

最常使用的简单指令仅占指令总数的20%,但在程序中出现的频率却占80%。

于是人们又提出了便于VLSI技术实现的精简指令系统计算机(RISC,Reduded Instruction Set Computer)。

8086/8088指令系统包括上千条指令这里所谓的指令可分为机器指令和汇编指令。本书主要论及汇编指令。

计算机的的指令系统是指微处理器所能执行的各种指令的集合。微型计算机的每一条指令通常由两部分构成。

1.操作码

操作码指示计算机所要执行的操作类型。

2.操作数

操作数指出指令执行操作所需的大数据或操作结果存放的位置。


指令基本格式

3.2寻址方式

8086/8088指令涉及四种操作数:隐含操作数,立即操作数,寄存器操作数,存储器操作数。对应的四类寻址方式。

1.立即寻址

【例】MOV CX,9;

【例】MOV AX.5807H;

我们看到这种寻址方式下,操作数以常量的形式出现在指令中。操作数随指令一起进入指令队列,不必执行总线周期,称为立即数立即数只能用做源操作数,不能用做目的操作数。

2.固定寻址

这种寻址方式下,操作数隐含在指令中。

3.寄存器寻址

【例】MOV AX,CX

若指令执行前(AX)=9602H,(CX)=2081H,则指令执行,(AX)=2081H,(CX)内容保持不变。

4.存储器寻址

一般而言,一条指令的目的操作数和源操作数不能同为存储器操作数。存储器寻址方式按EA计算方法的不同可以分为5种。


1.直接寻址

【例】MOV AL,[1000H];

MOV AX,[1000H];

2.寄存器间接寻址

【例】MOV AL,[BX];

MOV AX,[BX];

3.基址寻址

【例】MOV AL,[BP+80H];

4.变址寻址

【例】MOV AX,ARRAY[SI];

5.基址变址寻址

【例】MOV AX,[BX+SI];

汇编语言程序的上机过程

汇编语言程序的处理过程包括编辑,汇编,连接及执行。一般可以分为以下4个步骤:

1)用编辑程序,建立扩展名为.ASM的汇编语言源程序文件。

2)用汇编程序将.ASM文件汇编成二进制的目标文件,即OBJ文件。

3)用连接程序,可将OBJ文件连接为可执行文件,即EXE文件。

4)可在DOS环境下直接执行EXE文件,亦可以通过DEBUG调试和执行。

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

推荐阅读更多精彩内容