清华大学出版社 TSINGHUA UNIVERSITY PRESS 清华大学计算机系列教材 沈美名温冬蝉编著 IBM-PC汇编语言 通高等育九五国家粒要重点教材 清华大学计算机系列教材 程序设计(第2版) IBM-PC 汇编语言 程序设计 第2版 12 9 )清华大学出版社
IBM—PC汇编语言 程序设计(第2版) 清华大学计算机系列教材 沈美名 温冬蝉 编著
清华大学出版社 TSINGHUA UNIVERSITY PRESS 计算机语言的发展 机器语言 高级语言 FORTRAN BASIC COBOL PASCAL 汇编语言 C/C++ JAVA
计算机语言的发展 机器语言 FORTRAN BASIC COBOL PASCAL C/C++ JAVA ... 汇编语言 高级语言
清华大学出版社 TSINGHUA UNIVERSITY PRESS 汇编语言的特点 ·面向机器的低级语言,通常是为特定的计算 机或计算机系列专门设计的。 ·保持了机器语言的优点,具有直接和简捷的 特点。 可有效地访问、控制计算机的各种硬件设备, 如磁盘、存储、cPU、功o端口等。 ·目标代码简短,占用内存少,执行速度快, 是高效的程序设计语言。 经常与高级语言配合使用,应用十分广泛
汇编语言的特点 • 面向机器的低级语言,通常是为特定的计算 机或计算机系列专门设计的。 • 保持了机器语言的优点,具有直接和简捷 的 特点。 • 可有效地访问、控制计算机的各种硬件设备, 如磁盘、存储器、CPU、I/O端口等。 • 目标代码简短,占用内存少,执行速度快, 是高效的程序设计语言。 • 经常与高级语言配合使用,应用十分广泛
清华大学出版社 TSINGHUA UNIVERSITY PRESS 编程实现c=a+b,并在屏幕上显示出结果。 例1 #include stdafx. ht #include stdio.h'i int main(int argc, char* argyll i int a, b, c a=1; 编译后的目标文 b=2 件达到359KB c=a+b printf(“c=%dⅦn",c); return u;
#include "stdafx.h" #include "stdio.h" int main(int argc, char* argv[]) { int a,b,c; a=1; b=2; c=a+b; printf(“c=%d\n",c); return 0; } 编程实现 c =a+b,并在屏幕上显示出结果。 例1 编译后的目标文 件达到3.59KB
大学版 例2 C= a +b GHUA UNIVERSITY PRESS data segment mov a, moy b. 2 mov aa add oV G,日 str ing ea dx, string data ends 汇编后的目 mov ah, 09 int 21h code segment 标文件只有)ad,3h mov d. c ma i n proc far 208字节 moV a ass ds: data, es datas. code, int 21h start moy d. oah int 21h push ds moy d. odh sue ax ax int 21h push ax ret oV ax, data ma n endp mov ds. ax code ends moV es. ax end start
data segment a db ? b db ? c db ? string db 'c=$' data ends code segment main 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 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 main endp code ends end start 例 2. C = a + b 汇编后的目 标文件只有 208字节
清华大学出版社 TSINGHUA UNIVERSITY PRESS 典型应用技术 〔接口程序,文件管理,图形显示,发声程序等〕 编程工具 编程方法 IO BIOS&基本程序程序 高级 指令系统伪操作Ds中设计方法设计 寻址方式 汇编 断调用 技术 方法 基卲知识 〔数制,码制,数和字符的表示及转换, 基本逻辑运算,计算机組织
清华大学出版社 TSINGHUA UNIVERSITY PRESS 第1章基础知识 数制 数制之间的转换 运算 数和字符的表示
第1章 基 础 知 识 • 数制 • 数制之间的转换 • 运算 • 数和字符的表示
清华大学出版社 TSINGHUA UNIVERSITY PRESS 预备知识 存储容量 1K=1024=210(Kilo) M=1024K=220(Mega) 1G=1024M=230(Giga) 1个二进制位:bit(比特) 8个二进制位:Byte(字节)1Byte=8bit 2个字节:Word(字) I Word= 2Byte =16bit
预 备 知 识 存储容量 1K = 1024 = 210 (Kilo) 1M = 1024K = 220 (Mega) 1G = 1024M = 230 (Giga) 1个二进制位:bit (比特) 8个二进制位:Byte (字节) 1Byte = 8bit 2个字节: Word (字) 1Word = 2Byte = 16bit
清华大学出版社 TSINGHUA UNIVERSITY PRESS 1.数制 数 制 基数 数码 二进制 Binary 2 0.1 八进制 Octal 8 0,1,2,3,4,5,6,7 十进制 Decimal 10 ,1,2,3,4,5,6,7,8,9 十六进制 Hexadecimal160,1,2,3,4,5,6,7,8,9, A, B, C, D, E,F 二进制:基数为2,逢二进 1101B〓1×23+1×22+1×20=13 十六进制:基数为16,逢十六进 1001,0001,1000,0111 9 187 =9×163+1×162+8×161+7×160
1. 数 制 数 制 基 数 数 码 二进制 Binary 2 0, 1 八进制 Octal 8 0, 1, 2, 3, 4, 5, 6, 7 十进制 Decimal 10 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 十六进制 Hexadecimal 16 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F 二进制: 基数为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
清华大学出版社 TSINGHUA UNIVERSITY PRESS 2.数制之间的转换 二进制—二十六进制 十进制 二进制 十进制十六进制 降幂法除法
2. 数制之间的转换 • 二进制 十六进制 • 十进制 二进制 • 十进制 十六进制 降幂法 除法