《第1章基础知识.ppt》由会员分享,可在线阅读,更多相关《第1章基础知识.ppt(27页珍藏版)》请在三一办公上搜索。
1、汇编语言程序设计,授课人:顾晖 计算机科学与技术学院 计算机科学与技术系,1,嚼夫段减俐鳞嫂倔增针砸油譬戏骡剔畴颐由衬盖樊硼厢劳博滑巾龄姬抬铃第1章基础知识第1章基础知识,计算机语言的发展,机器语言,FORTRANBASICCOBOLPASCALC/C+JAVA.,2,洪硼浮姿姓切界糟缉妖绍菌力瞻矗十痔议践虑仑轰棚冕馅污固摧镭堪诧眷第1章基础知识第1章基础知识,汇编语言的特点,面向机器具有直接和简捷的特点。可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等。目标代码简短,占用内存少,执行速度快可与高级语言配合使用,应用十分广泛。,3,铀膨爷烂热磨据磊歉狙亥韵径俱啪杰固
2、雪悔休概绊枝昏蛾穷嘛硼匹妮厢呀第1章基础知识第1章基础知识,编程实现 c=a+b,并在屏幕上显示结果。,#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=%dn,c);return 0;,4,瞅絮锌禁铃俭报啪仲喷桃镀正欧幢蜒柒通鼓震论垮呸咸某顺定钦饲诸烯夜第1章基础知识第1章基础知识,data segmenta db?b db?c db?string db c=$data endscode segmentmain proc far assume cs:c
3、ode,ds:data,es:datastart: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 retmain endpcode ends end start,汇编后的目标文件只有208字节,5,与搅教仓赦华凳一阀亡棉就幢匡垃裁苇彦
4、妓触惮盘衔粮赔慑均隙榴拱捕兑第1章基础知识第1章基础知识,汇编语言的应用,系统程序、效率代码、I/O驱动程序系统软件快速处理、位处理、访问硬件设备等高效程序高级绘图程序、视频游戏程序,6,慎健黔宙蔗下歹溯苇讳每绊桔煌果瞩症序瞪是王线度从敦砾质本砸庶盐凝第1章基础知识第1章基础知识,目标及建议,目标:了解汇编语言的特性及其编程技术,建立起“机器”和“程序”、“空间”和“时间”的概念。建议:充分注意“汇编”课实践性强的特点,多读程序,多写程序,多上机调试程序,熟悉PC机的编程结构,掌握汇编语言及其程序设计的基本概念、方法和技巧。,7,挑廓愁目买渍怕树蔫架牛昭淄众厢乒侩趾阿铝敞篓率握义篓敷玲蒸醋音脐
5、第1章基础知识第1章基础知识,参考资料,1.80X86汇编语言程序设计沈美明 温冬婵 清华大学出版社2.IBM PC 汇编语言与程序设计 PETER ABEL 编著 第4版 清华大学出版社.PRENTICE HALL第5版 人民邮电出版社3.IBM PC 汇编语言与程序设计例题习题集 温冬婵 沈美明 清华大学出版社,8,讳哥磕韵见盘乞币推庭肝承竞江芋鲁裴湘耿断悬系烬胆沿烟缎祈摄垃辫侨第1章基础知识第1章基础知识,第1章 基础知识,数制数制之间的转换二进制数和十六进制数的运算数和字符的表示基本逻辑运算,9,寐镇辰讳狗狗恬睹倒唤薄保迭骋龋娄柯忘焙霸画个痪措牛祖眉课减酮搁车第1章基础知识第1章基础知
6、识,预 备 知 识,存储容量单位:1个二进制位:bit(比特)8个二进制位:Byte(字节)1Byte=8bit2个字节:Word(字)1Word=2Byte=16bit,10,习伊党简烘磅檄雾医渍边签指石捧窖炳传妈世太佩幌瞬调辊闲番情眶疟铰第1章基础知识第1章基础知识,存储容量单位(续),1KB=1024B=210B(KiloByte)1MB=1024KB=220B(MegaByte)1GB=1024MB=230B(GigaByte)1TB=1024GB=240B(TeraByte)1PB=1024TB=250B(PetaByte)1EB=1024PB=260B(Exa Byte)1ZB=1
7、024 EB=270B(ZettaByte)1YB=1024ZB=280B(Yottabyte)1BB=1024YB=290B(BrontoByte),11,课译拜精赊喻叼型仆摆适陀小尼筷嫌习诫甚沸片涵雀租瞩溅跺塌慰帧脆万第1章基础知识第1章基础知识,1.数 制,二进制:基数为2,逢二进一 11012=12 3+12 2+12 0=1310十六进制:基数为16,逢十六进一 1001,0001,1000,0111 9 1 8 7=9 16 3+1 16 2+8 16 1+7 16 0,12,伊迭摹演夹痹焚灾半涛伶茎媚苯毡旷科缓储跟册芜水委狼拙指垃砖铆衷态第1章基础知识第1章基础知识,2.数制之间
8、的转换,二进制 十六进制 十进制 二进制 十进制 十六进制,降幂法 除法,13,串峨架垄畦凌走纠若右乏债桩弧抹孜周旁作殃拯纬修祷桶抹什乍涪邪剿梦第1章基础知识第1章基础知识,二进制 十六进制 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,14,西狭俄捷勃堑绘祭啊郝砌殃宋近哆料煤刘异跌畜爸茹翁宋读樊择并蛇履闷第1章基础知识第1章基础知识,1011B=23+21+20=11D 降幂法 除法 例:27D=?B 27 11 3 3
9、 1-2n 16 8 4 2 1 1 1 0 1 1 27D=11011B,二进制 十进制,15,狮廷既么伊裴曰洱挑秽锚祭阶酗短率口砸昼逗苞嘛确朱堰重稠灾吻叔禽鼻第1章基础知识第1章基础知识,十六进制 十进制 BF3CH=11163+15162+3161+12160=48956D 降幂法 除法 例:399D=?H 399 143 15 399/1624/161/16 0-16n 256 16 1 F 8 1 1 8 F 399D=18FH,16,营患据胞汀试晌瞳桑淄尿阶塘卧橙事驭招辙脸绳药德蘸苏粗试英武牵油泳第1章基础知识第1章基础知识,算术运算 二进制数:逢二进一 借一为二 加法规则 乘法规
10、则 0+0=0 0 0=0 0+1=1 0 1=0 1+0=1 1 0=0 1+1=0(进位1)1 1=1,3.运算(算术运算和逻辑运算),17,骄烧哦尔顷倚案亮牢友吉寺而投财急从物棠褪喇煮伺淄环惹锹胺然扣明猿第1章基础知识第1章基础知识,0 5 C 3 H3 D 2 5 H4 2 E 8 H,3 D 2 5 H0 5 C 3 H3 7 6 2 H,1,1,十六进制数:逢十六进一 借一为十六,18,箩课觅桑紊窗淀赎辗疹硝氰乓干撰治龟愧紫搬蓉石癸错邵朔拽乐窜拯砍草第1章基础知识第1章基础知识,逻辑运算(按位操作),“与”运算(AND)“或”运算(OR)A B AB A B AB 0 0 0 0
11、0 0 0 1 0 0 1 1 1 0 0 1 0 1 1 1 1 1 1 1“非”运算(NOT)“异或”运算(XOR)A A A B AB 0 1 0 0 0 1 0 0 1 1 1 0 1 1 1 0,19,密樟垒锨构赋股拟榔下龄陌撅悦皮蝗泞僳澡俐押般业监锤讫酷歌甸子颓殉第1章基础知识第1章基础知识,例:X=00FFH Y=5555H,求Z=XY=?X=0000 0000 1111 1111 B Y=0101 0101 0101 0101 B Z=0101 0101 1010 1010 B Z=55AAH,20,株识熙限组寞屉划姆嚎媒别婿卯勿荷另桐譬盏迈渍鼎部灭蚕堆踢雾溜垒盈第1章基础知识
12、第1章基础知识,4.数和字符的表示,计算机中正负数的表示,7 6 5 4 3 2 1 0,符号位 数值位,假设机器字长为16位:,符号位=0 正数 数值位=1 负数,15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0,假设机器字长为8位:,21,农条渤侨迹易际随野束翔忽敞借施许梆报蒋夯痕番虱骄碘锥柞娟许淆翌蔚第1章基础知识第1章基础知识,数的常用表示法 原码 反码 补码原码表示法:符号+绝对值例:n=8bit+3原码=0 000,0011=03H-3原码=1 000,0011=83H+0原码=0 000,0000=00H-0原码=1 000,0000=80H 0 的表示
13、不唯一反码表示法:正数的反码同原码,负数的反码数值位与原码相反例:n=8bit+5反码=0 000,0101=05H-5反码=1 111,1010=FAH+0反码=0 000,0000=00H-0反码=1 111,1111=FFH 0 的表示不唯一,22,弗仆蕾裤幽拾钱蝴廷塞醋效霉河炯浪饮在求砸蓟沮怀膏骑吼缝窜肝桩津劫第1章基础知识第1章基础知识,补码(Twos Complement)表示法:正数的补码:同原码负数的补码:(1)写出与该负数相对应的正数的补码(2)按位求反(3)末位加一,23,值稼馆筐穿曙勾匣沧忠弊功液咯娱肥甄狮迂流疗酮祷愧蹄抽宇颇址嘻航掷第1章基础知识第1章基础知识,n位二进
14、制补码的表数范围:-2n-1 N 2n-1-1,无符号整数的表数范围:0 N 2n-1,24,远酝柒克单耻旬罩夷勘是奴坊摧盐十疗扶盔垄驾娠网蓬疾丑噪市穗缓晴绒第1章基础知识第1章基础知识,求补运算:对一个二进制数按位求反、末位加一 X补码 求补-X补码补码的加法和减法:加法规则:X+Y补码=X补码+Y补码减法规则:X-Y补码=X补码+-Y补码,64(-46)18,0100 00001101 00100001 0010,例:,25,岿飞症辐悦窑毋竞图捷侩篙歪关什琳褒蚂酮医鞍终哲忘立呕傈贺驼斯腺绘第1章基础知识第1章基础知识,进位和溢出进位:由于运算结果超出了位数,最高有效位向 前的进位,这一位自
15、然丢失,一般不表 示结果的对错。溢出:表示结果超出了字长允许表示的范围,一般会造成结果出错。例:(64)11000000 127 01111111 64 01000000+1 00000001 0 1 00000000 128 10000000 进位 溢出,26,战瓣怪跑沥啥艳太止盾莎单舔脖磊那佣邵鳃恬迈夷激围炎家凛酬尔材妹鬼第1章基础知识第1章基础知识,字符的表示ASCII码:用一个字节来表示一个字符,低7位 为字符的ASCII值,最高位一般用作 校验位。例:A 41H a 61H 1 31H 换行 0AH 回车 0DH 空格 20H,27,姆劫蔼芒啪剁婚提础筋箭锥雕罗恿惊胜舀税叉臣撰美媚鼓合鼻脑邯掳绅挡第1章基础知识第1章基础知识,