汇编语言第一章课件
发布时间:2024-11-25
发布时间:2024-11-25
汇编语言
清华大学计算机系列教材
沈美名 温冬蝉 编著
IBM—PC汇编语言 程序设计(第2版)
汇编语言
计算机语言的发展
机器语言
高级语言
FORTRANBASIC COBOL PASCAL
汇编语言
C/C++
JAVA...
汇编语言
汇编语言的特点 面向机器的低级语言,通常是为特定的计算 机或计算机系列专门设计的。 保持了机器语言的优点,具有直接和简捷 的特点。
可有效地访问、控制计算机的各种硬件设备, 如磁盘、存储器、CPU、I/O端口等。 目标代码简短,占用内存少,执行速度快, 是高效的程序设计语言。 经常与高级语言配合使用,应用十分广泛。
汇编语言
编程实现 c =a+b,并在屏幕上显示出结果。例1
#include "stdafx.h" #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. dataa b c string
C = a + b segmentdb db db db ? ? ? 'c=$' mov mov mov add mov lea mov int add mov mov int mov int mov int ret endp a,1 b,2 al,a al,b c,al dx,string ah,09 21h c,30h dl,c ah,2 21h dl,0ah 21h dl,0dh 21h
data codemain
ends segment
proc far assume cs:code, ds:data, es:data start: push ds sub ax,ax push ax mov ax,data mov ds,ax mov es,ax
汇编后的目 标文件只有 208字节
main
code
endsend start
汇编语言
第1章 基 础 知 识
数制 数制之间的转换 运算 数和字符的表示
汇编语言
预 备 知 识
存储容量 1K = 1024 = 210 (Kilo) 1M = 1024K = 220 (Mega) 1G = 1024M = 230 (Giga)1个二进制位:bit (比特) 8个二进制位:Byte (字节) 1Byte = 8bit 2个字节: Word (字) 1Word = 2Byte = 16bit
汇编语言
1. 数 制数二进制八进制 十进制
制BinaryOctal Decimal
基数28 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, B, C, D, E, F
十六进制 Hexadecimal
二进制:
基数为2,逢二进一1101B = 1×2 3 + 1×2 2 + 1×2 0 = 13
十六进制:基数为16,逢十六进一1001, 0001, 1000, 0111
9=
1
8
7
9 ×16 3 + 1 ×16 2 + 8 ×16 1 + 7 ×16 0
汇编语言
2. 数制之间的转换 二进制 十进制 十进制 十六进制 二进制 十六进制 降幂法 除法
汇编语言
二进制
十六进制
0011 0101 1011 1111 3 5 B F ∴ 0011,0101,1011,1111B = 35BFH A 1 9 C
1010 0001 1001 1100 ∴ A19CH = 1010,0001,1001,1100B
汇编语言
二进制
十进制
1011B = 23+21+20=11D 降幂法 除法例: 27D = ? B 27 11 3 - - 2n 16 8 4 1 1 0 ∴ 27D = 11011B3 - 2 1 1 - 1 1
汇编语言
十六进制
十进制
BF3CH = 11 163 +15 162 +3 161 +12 160 = 48956D 降幂法 除法例:399D = ? H 399 143 - - 16n 256 16
15 - 1
399/16→24/16→1/16→ 0 ↓ ↓ ↓ F 8 1
1
8
F
∴ 399D = 18FH
汇编语言
3. 运算(算术运算和逻辑运算)
算术运算二进制数:逢二进一 借一为二加法规则 0+0=0 0+1=1 1+0=1 1 + 1
= 0 (进位1) 乘法规则 0 0=0 0 1=0 1 0=0 1 1=1
汇编语言
十六进制数:逢十六进一 借一为十六
0 5 C 3+
HH H-
3 D 2 50 5 C 3 3 7 6 2
-
1
HH H
31 D 2 5 4 2 E 8
汇编语言
逻辑运算(按位操作)“与”运算(AND) “或”运算(OR)
A B0 0 1 1 0 1 0 1
A B0 0 0 1
A B0 0 1 1 0 1 0 1 (
A B0 1 1 1 NOT A B 0 1 1 0 )
“ 非 ” 运 算 “异或”运算(XOR) A 0 1 A 1 0
A B 0 0 1 1 0 1 0 1
汇编语言
例:X=00FFH Y=5555H,求Z=X Y= ? X= 0000 0000 1111 1111 B Y= 0101 0101 0101 0101 B Z= 0101 0101 1010 1010 B
Z=55AAH
上一篇:上海徐家汇公园调研
下一篇:2012年市政押题(3)