汇编ppt
汇编语言的基本语法ppt
举例:已有数据定义如下:
TWO_BYTE DW ? 可以用以下语句对这两个字节赋予另一种
类型定义:
ONE_BYTE EQU BYTE PTR TWO_BYTE 这里ONE_BYTE与TWO_BYTE两个符号
地址具有相同得段地址与偏移地址,但就是它们 得类型属性不同,前者为1,后者为2。
此外,有时指令要求使用PTR操作符。例如 用 MOV [BX], 5
OR ((PORT_VAL GE 5) AND 30) 则当PORT_VAL < 5时,汇编结果应该就是:
MOV BX, 20 否则,汇编结果应该就是:
MOV BX, 30
(4) 数值回送操作符 数值回送操作符有:TYPE、
LENGTH、SIZE、OFFSET、SEG等。 数值回送操作符把一些特征或存储
例如,用段前缀指定某段得地址操作数 MOV AX,ES:[BX + SI]
·SHORT 用来修饰JMP指令中转向地址得属性,指
出转向地址就是在下一条指令地址得±127个 字节范围之内。
例如: JMP SHORT TAG ;转移属性为短转移 、 、 、
TAG: MOV、、、
·THIS 格式为: THIS 属性或类型 THIS可以象PTR一样建立一个指定
又例如: MOV CX, SIZE TABLE
将形成为 MOV CX, 1。
·OFFSET 格式为:OFFSET 变量或标号 汇编程序将回送变量或标号得偏移地址值。
举例: MOV BX, OFFSET OPER_ONE
汇编程序将OPER_ONE得偏移地址作为 立即数回送给指令,而在执行时则将该偏移地址 装入BX寄存器中。所以这条指令得功能与指 令
汇编语言的基本语法
汇编语言基础知识 课件
➢十字节 由10个字节组成一个十字节类型,它总共有80个二进制位。在汇
编语言中很少使用该数据类型。
➢字符串 字符串是由若干个字节组成的,字节数不定,通常每个字节存储一
个字符。该数据形式是汇编语言程序中经常使用的一种数据形式。 汇编语言中没有C语言中的规定:以ASCII码0为字符串的结束符。
②已知带符号数在计算机内表示,求出其真值 (注意字长多少位)
3 .BCD码
把十进制数的每个数位用4位二进制数表示,又称 BCD码(并非数值相等)
10#
2# , 2#
10# 要求数值相等!
4.非数值数据表示
(2)常用字(符1的)A字SCII表符示 数据表示——字符用ASCII码表示
只用只用2进制0和1来表示指令,计算机能直接接收并执行的语言。 [x]反码 数符数字化,当是正数时,[x]反与[x]原相同
字符数据表示:每个字符用一个字节,用ASCII码 表示
(3)汉字编码——基本形式: 每一个汉字2个字节
5. 基本数据类型
➢字节 一个字节有8位二进制组成,其最高位是第7位,
最低位是第0位。 通常情况下,存储器按字节编址,读写存储器的
最小信息单位就是字节。
➢字 由2个字节组成一个字,其最高位是第15位,最
(1)字符数据表示——字符用ASCII码表示 用2个字(4个字节)来组成一个双字,其高16位称为高字,低16位称为低字。
(3)编写程序的复杂性: 若是正数, [x]补码[x]原码表示形式相同
(2) 所生成的机器语言程序执行效率高。
基面础向知 机识器,必面须了向解硬机件特器性,,执行汇细节编; 指令与机器指令基本保持1 :1关系, 编程时要了解计算机硬件工作原理与特性,资源限制, 把十进制数的每个数位用4位二进制数表示,又称BCD码(并非数值相等)
第04章 汇编语言程序设计 39页 0.2M PPT版
MOV AL,10100000B OR 00000101B ;(AL)←10100101B
例4-4 关系运算符的应用
MOV AX,5 EQ 101B ;(AX)←0FFFFH
MOV BH,10H GT 16 ;(BH)←0
例4-5 数值返回运算符的应用
K1 DB 30H,31H,32H
K2 DW 4041H,4043H
(4)STACK
(5)MEMORY
(6)AT表达式
4. 类别名
返回
4.2.4 段寻址伪指令
格式:
ASSUME 段寄存器名:段名,段寄存器名:段名,……
例4-15 求从NUM开始的12个无符号字节数的和,结果放在SUM字单元中。
DATA SEGMENT NUM DB 95H,83H,36H,2DH DB 33H,22H,1AH,34H DB 62H,45H,75H,49H SUM DW ?
例4-13
STR1 DB ‘COMPUTER’ ;定义一个字符串,字符串的首地址为STR1 STR2 DW ‘AA’,‘BC’,‘DE’ ;给两个字符组成的字符串分配两个字节存储单元 DATA DW ?,?,? ;为DATA预留6个存储单元
例4-14
DATA1 DB 20 DUP(?) ;为变量DATA1分配20个字节的空间,初值为任意值 DATA2 DW ? ;为变量DATA2分配2个字节的空间,初值为任意值 DATA3 DB 20 DUP(30H) ;为变量DATA3分配20个字节的空间,初值均为30H
K3 DW 20H DUP(0)
K4 DD 50515253H
MOV AL,TYPE K1 ;等效于MOV AL,1
MOV AH,TYPE K2 ;等效于MOV AH,2
汇编语言课件第05章
11/37
第五章 汇编语言顺序程序设计
乘法指令只影响CF和 , 乘法指令只影响 和OF,其它条件码无定义 。 1)MUL: 若乘积的高一半为 ,则CF=OF=0, ) : 若乘积的高一半为0 , 否则, 否则,CF=OF=1。 。 2)IMUL:若乘积的高一半是低一半的符号位的扩展, 2)IMUL:若乘积的高一半是低一半的符号位的扩展, 则,CF=OF=0,否则,CF=OF=1。 ,否则, 。
13/37
第五章 汇编语言顺序程序设计
一、算术指令(5类) 算术指令( 类 1. 加法指令(ADD,ADC,INC) 加法指令( , , ) 2. 减法指令(SUB,SBB,DEC,NEG ,CMP ) 减法指令( , , , 3.乘法指令 MUL,IMUL) 3.乘法指令(MUL,IMUL) 乘法指令( 4.除法指令(DIV,IDIV) 除法指令( 除法指令 , ) 5.十进制调整指令(DAA,DAS等) 十进制调整指令( 十进制调整指令 , 等
12/37
第五章 汇编语言顺序程序设计
如何区分MUL和IMUL 和 如何区分 (1111,1111B)×(1111,1111B) , ) , ) 看作无数号数,上式为: 看作无数号数,上式为:FFH×FFH=FFE01H × 看作带符号数,上式为:(-1) 看作带符号数,上式为:( )×(-1)=1 :( ) 选用MUL或IMUL应根据实际情况而定。 或 应根据实际情况而定。 选用 应根据实际情况而定
21/37
第五章 汇编语言顺序程序设计
本章内容分三节: 本章内容分三节: 5.1 算术指令 5.2 逻辑指令 5.3 顺序程序举例
22/37
第五章 汇编语言顺序程序设计
二、逻辑指令 逻辑运算指令( 1. 逻辑运算指令(5个) 移位指令( 2. 移位指令(8个)
管理制度汇编(PPT108页)
管理制度汇编(PPT108页)管理制度汇编(修正版)目录目录 (1)第一编 (4)行政管理制度 (4)第一章文件管理制度 (5)第二章档案管理制度 (8)第三章印章使用管理规定 (12)第四章证照管理制度 (14)第五章证明函管理制度 (15)第六章会议管理制度 (15)第七章物资管理规定 (16)第八章公司车辆管理规定 (17)第九章考勤管理制度 (18)第十章出差管理制度 (19)第十一章通讯费用管理制度 (21)第十二章非工程采购及收货管理制度 (21)第十三章库房管理办法 (22)第二编 (27)人力资源管理制度 (27)第一章总则 (28)第二章录用 (28)第三章员工管理 (32)第四章薪酬及福利 (33)第五章休假 (34)第六章保密管理规定 (37)第七章员工培训 (38)第八章奖励 (38)第九章处分 (39)第十章附则 (39)附:培训制度 (40)第一章总则 (40)第二章培训管理功能 (40)第三章培训工作程序 (42)第四章部门培训 (43)第五章晋职培训 (43)第六章专题培训 (44)第七章层级培训 (44)第八章培训管理 (45)第九章培训档案管理 (45)第十章培训评价 (45)第十一章培训纪律 (45)第三编 (47)财务管理制度 (47)第一章物资管理办法 (48)第二章借款、报销流程及办法 (51)第四编 (54)合同管理办法 (54)附件1: 业务类合同管理办法 (60)第一章总则 (60)第二章业务类合同(或者协议)类别 (60)第三章标准合同 (60)第四章合同审批权限 (60)第五章业务合同(或者协议)签订流程 (62)第六章业务类合同档案管理 (62)附件二:工程合同管理办法 (63)第一章总则 (63)第二章合同的签订、变更、解除与履行 (63)第三章合同档案管理 (67)第五编 (69)网络运行保护管理办法 (69)第一章总则 (70)第二章管理运行保护工作基本制度 (71)第三章设备管理 (80)第四章机房管理 (82)第五章网管保护管理 (95)第六章质量管理 (98)附件一网络设备保护管理记录 (101)附件二:IP故障处理流程 (107)第一编行政管理制度第一章文件管理制度第一节总则一、为习惯公司全方位规范化科学管理,做好公司文件管理工作,使之规范化与制度化,特制定本制度。
第3章ARM汇编语言程序设计GNU汇编ppt课件
时将程序计数器PC指向子程序的入口点,当子程序执行完毕需要返回调用处时, 只需要将存放在LR中的返回地址重新复制给程序计数器PC即可。在调用子程序的 同时,也可以完成参数的传递和从子程序返回运算的结果,通常可以使用寄存器 R0~R3完成。 以下是使用BL指令调用子程序的汇编语言源程序的基本结构:
.string/.asciz/.ascii
语法格式 .string/.asciz/.ascii 表达式{,表达式}...
作用
.string/.asciz/.ascii定义多个字符串。 注意:ascii伪操作定义的字符串需要自动添加结尾字符'\0'
举例
.string "abcd","hello"
bne 1f @跳转到1标号去执行 局部标号代表它所在的地址,因此也可以当作变量或
者函数来使用。
Linux汇编程序中的分段
(1).section伪操作
用户可以通过.section伪操作来自定义一个段,格式如下 :
.section section_name [, "flags"[, %type[,flag_specif
地址表达式expr的取值范围如下:
当地址值是字节对齐时,其取指范围为−255B~255B;
当地址值是字对齐时,其取指范围为−1020B~1020B。
ARM伪指令——小范围的地址读取
ADR伪指令将基于PC相对偏移的地址值或基于寄存器相对偏移的 地址值读取到寄存器中。在汇编编译器编译源程序时,ADR伪指令被 编译器替换成一条合适的指令。通常,编译器用一条ADD指令或SUB 指令来实现该ADR伪指令的功能,若不能用一条指令实现,则产生错 误,编译失败。
《汇编语言》PPT课件
机
原
理 例3-3
ORG 1000H
及
DW
1234H
应 用 编
SJ_DATA: DW
56H,2000
经汇编后,从地址1000H处存贮器的内容为:
著
〔1000H〕= 12H
组
〔1001H〕= 34H
〔1002H〕= 00H
〔1003H〕= 56H
〔1004H〕= 07H
§3.1.2 汇编伪指令
湘 四、EQU 赋值伪指令 潭 字符名称 EQU 项〔数或汇编符号〕
;〔35H〕 A
MOV DPTR,#DPTRA ;0AA00H DPTR
§3.1.2 汇编伪指令
湘 七、BIT定义位地址符号伪指令 潭 字符名称 BIT 位地址
大 学
这里的"字符名称"与标号不同〔其后没有冒号〕,但
单 它是必须的,其功能是把BIT之后的"位地址"值赋给"字
片 机
符名称".
原 理
例3-6:
潭 大
[标号:] DB X1、 X2 … Xn
学
ORG 1000H
单
DB
片
SJ-DATA: DB
0AAH 25,25H
机
ZFC-DATA: DB
'MCS-51'
原
理 及 应 用 编 著
经汇编后,从地址1000H处存贮器的内容为: 〔1000H〕= AAH 〔1001H〕= 19H 〔1002H〕= 25H 〔1003H〕= 4DH
用
编 著 组
eg: MOV MOV MOV
P1,A 70H ,R2 0E0H,78H
; MOV 90H,A ; (A)
PPT-汇编语言源程序的框架结构
JMP BX ;产生多分支转移TAB: JMP SHORT A0 ;转移表JMP SHORT A1JMP SHORT A2A0: LEA DX,S0 ;各分支程序段MOV AH,9INT 21HJMP EXIT1A1: LEA DX,S1MOV AH,9INT 21H
JMP EXIT1A2:LEA DX,S2MOV AH,9INT 21HJMP EXIT1ERROR: MOV DX,OFFSET ERMOV AH,9INT 21HEXIT1: MOV AH,4CH ;返回DOSINT 21HCODE ENDSEND START
A0: LEA DX,S0 ;各分支程序段MOV AH,9INT 21HJMP EXIT1A1: LEA DX,S1MOV AH,9INT 21HJMP EXIT1A2: LEA DX,S2MOV AH,9INT 21HJMP EXIT1
ERROR: MOV DX,OFFSET ERMOV AH,9INT 21HEXIT1: MOV AH,4CH ;返回DOSINT 21HCODE ENDSEND START
图5.8 用转移表法实现多路分支旳构造框图例5.5:编程实现菜单项选择择,根据不同旳选择做不同旳事情。解:假设有3路分支,转移表中旳转移指令分别为:JMP SHORT A0、JMP SHORT A1、JMP SHORT A2;详细见图5.9所示:
参照程序:DATA SEGMENTMENU DB 0DH,0AH,"0:Chinese!"DB 0DH,0AH,"1:English!"DB 0DH,0AH,"2: German!"DB 0DH,0AH,"Please choose one to answer the following question:$"
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例:二进制转换为十六进制
1100100.11010 =0110 0100.1101 0000 =64.DH 6 4 D 0
十六进制转换为二进制
64.DH= 6 4 . D H =1100100.1101B 0110 0100 1101
0000 ~ 0 0001 ~ 1 0010 ~ 2 0011 ~ 3 0100 ~ 4 0101 ~ 5 0110 ~ 6 0111 ~ 7 1000 ~ 8 1001 ~ 9 1010 ~ A 1011 ~ B 1100 ~ C 1101 ~ D 1110 ~ E 1111 ~ F
1.1 数据表示方法
汇 编 语 言 程 序 设 计
1.1.1 数与数制 计算机中数的表示 数码、基与权 数码:表示数的符号 基:数码的个数 权:每一位所具有的值 数制 数可以用不同的计数制表示,常 用的有:十进制、二进制、八进制、 十六进制等。
3
2013-7-9
第1章 基பைடு நூலகம்知识
几种常用的进制介绍 数制 数码 基 权 表示 特点
4
第1章 基础知识
1.1.2 数制转换
汇 非十进制转换成十进制 权 编 方法:按权相加 语 言 二→十: 101101.01B=1×2 +1×2 +1×2 +1×2 +1×2 =45.25 权 程 数码 八→十: 345Q=3×8 +4×8 +5×8 =229 序 设 十六→十:0F2DH=15×16 +2×16 +13×16 =3885 数码 计 权
19
第1章 基础知识
1.4.2 汇编语言特点和使用场合
1.汇编语言的特点 1)面向机器的低级语言,通常是为特定的计算 机或计算机系列专门设计的。 2)保持了机器语言的优点,具有直接和简捷 的特点。 3)可有效地访问、控制计算机的各种硬件设备, 如磁盘、存储器、CPU、I/O端口等。 4)目标代码简短,占用内存少,执行速度快, 是高效的程序设计语言。 5)经常与高级语言配合使用,应用十分广泛。
汇 编 语 言 程 序 设 计
机 器 语 言
汇 编 语 言
高 级 语 言
面向过程
面向对象
用助记符表示指令的操作码和操作数,用标 二进制编码 面向求解问题本身,典型的面向对象的语言有C++、 面向机器的语言 号或符号表示地址、常量和变量。 Smalltalk、面向对象的PASCAL语言等。
2013-7-9
2013-7-9
21
第1章 基础知识
1.4.3 流程图 用途:用来表示算法比较方便。 传统的流程图常用符号如下:
反码:
正数:反码与原码相同
负数:符号位为1,其余位对原码取反
例:有符号数的反码表示。 X=45=101101B, [X]反=00101101B X= -45, [X]反=11010010B
2013-7-9
10
第1章 基础知识
1.1.3计算机中的数据表示
补码:
正数:原码、反码、补码相同 负数:最高位为1,其余位为原码取反,再对整个数末位加1
汇 编 语 言 程 序 设 计
例:有符号数的补码表示。 X=45=101101B [X]补=00101101B X=-45 [X]补=11010011B
2013-7-9
11
第1章 基础知识
BCD码 定义:二进制编码的十进制,简称为BCD码 分类:压缩BCD码和非压缩BCD码 表示:用二进制数表示十进制整数(常用8421BCD码表1.1)
16位
∑
20位
外 部 总 线
存器、地址加法器
ALU
标志寄存器
执行部分 控制电路
12 3 4 5 6
8位
指令队列缓冲器
执行部件 (EU)
总线接口部件 (BIU)
第1章 基础知识
1.3 80x86和Pentium微处理机的寄存器结构
数据寄存器用来保存操作 累加器。用于算术、逻辑运算以及与外设传送 数或运算结果等 常用的状态标志 信息等。 80 基址寄存器,常于存放存储器地址 功能:记录程序运行结果的状态 计数器, 作为循环或串操作等指令中的隐含 86 SP用于存放当前堆栈段中栈顶的 (1)进位标志CF 计数器。 数据寄存器,用来存放双字数据的高16位,或存 偏移地址;BP用于存放堆栈段中 (2)零标志ZF 放外设端口地址 某一存储单元的偏移地址。 (3)符号标志SF 寄 在字符串操作中,SI和DI都具有 (4)溢出标志 OF 存 自动增量或减量的功能。 变址和指针寄存器用于存放某 (5)奇偶标志 PF 器 保存下一次将要取出指令的偏移地址,IP的内 个存储单元的偏移地址 包含9个标志位,保存一条指令执 (6)辅助进位标志AF 分 容由微处理器硬件自动设置,有一些指令可改 组 控制标志 行后,CPU所处状态信息及运算结 变IP的值,如转移指令、子程序调用指令等。 8086CPU的4个16位的段寄存 功能:控制处理器执行指令的方式 果的特征。 器:CS,DS,SS,ES。 (1)方向标志DF 80386以后增添了FS和GS。 (2)中断允许标志IF 段寄存器用来确定该段在内存中 (3)追踪标志TF 的起始地址。
转换为二进制 0.625×2=1.25 ┅ 1 0.25×2=0.5 ┅ 0 0.5×2=1 ┅ 1 转换为八进制 0.625×8=5 ┅ 5 转换为十六进制 0.625×16=10 ┅ A
结果为: 0.62510=0.101B
结果为: 0.62510=0.5Q
结果为: 0.62510=0.AH
2013-7-9
第1章 基础知识
汇 编 语 言 程 序 设 计
本章主要教学内容
1.计算机中数制基本概念、数制之间相互转换;
2.计算机中的数据表示、数据的基本类型等; 3.微处理器的基本结构,尤其是寄存器的结构; 4.汇编语言基础知识。
2013-7-9
1
第1章 基础知识
本章主要教学目的及要求
汇 编 语 言 程 序 设 计
1.熟悉数制的基本概念和计算机中常用进位计数制,
掌握二、八、十、十六进制的表达和相互转换; 2.理解机器数和带符号数的原码、反码、补码表示, 掌握ASCII码和BCD码的表达及应用; 3.掌握8086微处理器的组成及寄存器结构;
4.理解汇编语言和汇编程序的基本概念。
2013-7-9
2
第1章 基础知识
000 ~ 0 001 ~ 1 010 ~ 2 011 ~ 3 100 ~ 4 101 ~ 5 110 ~ 6 111 ~ 7
2013-7-9
8
第1章 基础知识 二进制与十六进制之间的转换
方法:
二进制转换成十六进制:从右向左,
二、十六进制对应关系
汇 编 语 言 程 序 设 计
每4位一组(不足4位左补0) 十六进制转换成二进制:用4位二进 制数代替一位十六进制数
2013-7-9
汇 编 语 言 程 序 设 计
十进制数 0~9 10
… ,10² 10º ,10¹
二进制数 0~1 2
…,2²2¹2º , ,
八进制数 0~7 8
… ,8²8¹8º , ,
十六进制数
0~9,A~F,a~f
16
… ,16²16¹16º , ,
十六进制:81AE=816³ +12¹ 八进制:4275=48³ +116²+1016¹ +28² +58º 十进制:4956= 410³ 二进制:1011=12³ +910²+510¹ +1416º +02²+78¹ +12º +610º 逢十进一 逢二进一 逢八进一 逢十六进一
9
2013-7-9
第1章 基础知识
1.1.3计算机中的数据表示
机器数常用的表示方法—原码、反码和补码 原码:最高位为符号位,其余各位为数值本身的绝对值 例:有符号数的原码表示。
X=45=101101B, [X]原=00101101B X= -45, [X]原=10101101B
汇 编 语 言 程 序 设 计
转换为八进制
低位
转换为十六进制
16 16 57 3 ┅ 0 ┅ 9 高位 3 低位
结果为: 5710=111001B
2013-7-9
结果为: 5710=71Q
结果为: 5710=39H
6
第1章 基础知识
十进制数转换成非进制数
汇 编 语 言 程 序 设 计
小数部分 方法:乘基取整法,直至乘积为整数或达到控 制精度。 例:将10进制数0.625转换为二进制数、八进制数 和十六进制数。
字节:8位,高4位称高半字节,低4位称低半字节
汇 编 语 言 程 序 设 计
字 :2个字节,低8位称低字节,高8位称高字
节
双字:2个字,低16位称低字,高16位称高字 四字:2个字,低16位称低字,高16位称高字 十字节:10个字节
字符串:由字符构成的一个线性数组
2013-7-9
7
第1章 基础知识 二进制与八进制之间的转换
方法:
二进制转换为八进制:从右向左,每3位一组(不足3位左补0), 八进制转换为二进制:用3位二进制数代替每一位八进制数
二、八进制对应关系
汇 编 语 言 程 序 设 计
例:二进制转换为八进制
1100100.11010=001 100 100. 110 100 =144.64Q 1 4 4 6 4 八进制转换为二进制 144.64Q= 1 4 4 . 6 4 Q =1100100.1101B 001 100 100 110 100
表1.1 十进制数字的8421BCD码
十进制数字 0 1 2 3 4 8421BCD码 0000 0001 0010 0011 0100 十进制数字 5 6 7 8 9 8421BCD码 0101 0110 0111 1000 1001