汇编课件第一章PPT教学课件
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
mov
ds,ax
code
mov es,ax
mov a,1 mov b,2 mov al,a add al,b mov c,al lea dx,string mov ah,09 int 21h add c,30h mov dl,c mov ah,2 int 21h mov dl,0ah int 21h mov dl,0dh int 21h ret endp
ends
end start
参考资料
1.80X86汇编语言程序设计 沈美明 温冬婵 清华大学出版社
2.IBM PC 汇编语言与程序设计 PETER ABEL 编著 第4版 清华大学出版社.PRENTICE HALL 第5版 人民邮电出版社
3. IBM PC 汇编语言与程序设计例题习题集 温冬婵 沈美明 清华大学出版社
= 48956D
降幂法
除法
例:399D = ? H
399 143 15 399/16→24/16→1/16→ 0
- 16n 256
- - 16 1
↓ ↓↓
F
81
1
8F
∴ 399D = 18FH
3. 运算(算术运算和逻辑运算)
• 算术运算
二进制数:逢二进一 借一为二
加法规则 0+0=0 0+1=1 1+0=1 1 + 1 = 0 (进位1)
1. 0
1
2020/12/12
13
例:(13.6875)10 =(13)10+(0.6875)10 =(1101)2+(0.1011)2=(1101.1011)2
例:(101.101)2 =1×22 + 0×21 +1×20
+ 1×2-1 + 0×2-2 +1×2-3 =4 + 0 + 1 + 0.5 + 0 + 0.125 = (5.625)10
2020/12/12
14
• 二进制 十六进制
0011 0101 1011 1111 35BF
∴ 0011,0101,1011,1111B = 35BFH
A19C 1010 0001 1001 1100 ∴ A19CH = 1010,0001,1001,1100B
• 十六进制 十进制
BF3CH = 11163 +15162 +3161 +12160
二进制 十六进制 十六进制 降幂法 除法
• 二进制
十进制
1011B = 23+21+20=11D
降幂法 除法
例: 27D = ? B
27 11 3 38 4 2 1
11 0 1 1
∴ 27D = 11011B
2020/12/12
11
十进制整数转换为二进制整数——“除2取余” 例:(13)10 = ( 1101 )2
#include "stdio.h"
int main(int argc, char* argv[])
{ int a,b,c;
a=1; b=2;
编译后的目标文 件达到3.59KB
c=a+b;
printf(“c=%d\n",c);
return 0;
}
例 2. C = a + b
data segment
• 保持了机器语言的优点,具有直接和简捷 的特点。
• 可有效地访问、控制计算机的各种硬件设备, 如磁盘、存储器、CPU、I/O端口等。
• 目标代码简短,占用内存少,执行速度快, 是高效的程序设计语言。
• 经常与高级语言配合使用,应用十分广泛。
编程实现 c =a+b,并在屏幕上显示出结果。
例1
#include "stdafx.h"
第1章 基 础 知 识
• 数制 • 数制之间的转换 • 运算 • 数和字符的表示
预备知识
存储容量 1K = 1024 = 210 (Kilo) 1M = 1024K = 220 (Mega) 1G = 1024M = 230 (Giga)
1个二进制位:bit (比特) 8个二进制位:Byte (字节) 1Byte = 8bit 2个字节: Word (字)
21
3
2
6
2
3
21 0
余数 二进制数低位
1
0
1
1
二进制数高位
2020/12/12
12
(2)十进制小数转换为二进制小数——“乘2取整” 例:(0.6875)10 = ( 0.1011 )2
0. 6 8 7 5
×
2
整数
1. 3 7 5 0
1
二进制数高位
×
2
0. 7 5 0
0
×
2
1. 5 0 ×2
1 二进制数低位
乘法规则 00=0 0 1 = 0 1 0 = 0 11=1
十六进制数:逢十六进一 借一为十六
05C3 H + 31 D 2 5 H
42E8 H
-1
3D25 H - 05C3 H
3762 H
十六进制乘法:
05C3 H ×00ABH
55 132 33
382 741
3F61
50 120 30
37 1 28 E
A, B, C, D, E, F
二进制: 基数为2,逢二进一 11012 = 1×2 3 + 1×2 2 + 1×2 0 = 1310
十六进制:基数为16,逢十六进一
1001, 0001, 1000, 0111
9187 = 9 ×16 3 + 1 ×16 2 + 8 ×16 1 + 7 ×16 0
2. 数制之间的转换 • 十进制 • 二进制 • 十进制
+3 9 9 E
1Word = 2Byte = 16bit
1. 数 制
数
制
二进制 Binary
八进制 Octal
十进制 Decimal
十六进制 Hexadecimal
基数
2 8 10 16
数码
0, 1 0, 1, 2, 3, 4, 5, 6, 7 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
a
db ?
b
db ?
c
db ?
string
db 'c=$'
data ends
汇编后的目
code segment 标文件只有 main proc far 208字节
ds:data,aesss:udmaetacs:code,
start:
push ds
sub
ax,ax
push ax
mov ax,data
main
清华大学计算机系列教材
沈美名 温冬蝉 编著
IBM—PC汇编语言 (第2版)
衡阳师院计算机系
计算机语言的发展
机器语言
高级语言
汇编语言
FORTRAN BASIC COBOL PASCAL C/C++ JAVA ...
汇编语言的特点
• 面向机器的低级语言,通常是为特定的计算 机或计算机系列专门设计的。