




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 汇编语言程序设计汇编语言程序设计 授课人:顾晖授课人:顾晖 计算机科学与技术学院计算机科学与技术学院 计算机科学与技术系计算机科学与技术系1南通大学计算机科学与技术学院 计算机科学与技术系 顾晖计算机语言的发展计算机语言的发展机器语言机器语言fortranfortranbasicbasiccobolcobolpascalpascalc/c+c/c+javajava.汇编语言汇编语言高级语言高级语言2南通大学计算机科学与技术学院 计算机科学与技术系 顾晖汇编语言的特点汇编语言的特点n面向机器面向机器n具有直接和简捷的特点。具有直接和简捷的特点。n可有效地访问、控制计算机的各种硬件设备可有效地访
2、问、控制计算机的各种硬件设备, 如磁盘、存储器、如磁盘、存储器、cpu、i/o端口等。端口等。n目标代码简短,占用内存少,执行速度快目标代码简短,占用内存少,执行速度快n可与高级语言配合使用,应用十分广泛。可与高级语言配合使用,应用十分广泛。3南通大学计算机科学与技术学院 计算机科学与技术系 顾晖编程实现编程实现 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); re
3、turn 0; 4南通大学计算机科学与技术学院 计算机科学与技术系 顾晖data segmentdata segmenta db ?a db ?b db ?b db ?c db ?c db ?string db c=$string db c=$data endsdata endscode segmentcode segmentmain proc farmain proc far assume cs:code, assume cs:code, ds:data, es:datads:data, es:datastart:start: push dspush ds sub ax,ax sub ax,
4、ax push ax push ax mov ax,data mov ax,data mov ds,ax mov ds,ax mov es,ax mov es,axmov a,1mov a,1 mov b,2 mov b,2 mov al,a mov al,a add al,b add al,b mov c,al mov c,al lea dx,stringlea dx,string mov ah,09 mov ah,09 int 21h int 21h add c,30hadd c,30h mov dl,c mov dl,c mov ah,2 mov ah,2 int 21h int 21h
5、 mov dl,0ah mov dl,0ah int 21h int 21h mov dl,0dh mov dl,0dh int 21h int 21h ret retmain endpmain endpcode endscode ends end startend start汇编后的目汇编后的目标文件只有标文件只有208208字节字节5南通大学计算机科学与技术学院 计算机科学与技术系 顾晖汇编语言的应用汇编语言的应用n系统程序、效率代码、系统程序、效率代码、i/o驱动程序驱动程序n系统软件系统软件n快速处理、位处理、访问硬件设备等高效程快速处理、位处理、访问硬件设备等高效程序序n高级绘图程序
6、、视频游戏程序高级绘图程序、视频游戏程序6南通大学计算机科学与技术学院 计算机科学与技术系 顾晖目标及建议n目标:目标: 了解汇编语言的特性及其编程技术,了解汇编语言的特性及其编程技术, 建立起建立起“机器机器”和和“程序程序”、“空间空间”和和 “时间时间”的的概念。概念。n建议:建议: 充分注意充分注意“汇编汇编”课实践性强的特点,课实践性强的特点, 多读程序多读程序,多写程序多写程序,多上机调试程序多上机调试程序, 熟悉熟悉pc机的编程结构,机的编程结构, 掌握汇编语言及其程序设计的基本概念、方法和技巧。掌握汇编语言及其程序设计的基本概念、方法和技巧。7南通大学计算机科学与技术学院 计算
7、机科学与技术系 顾晖参考资料参考资料1.80x86汇编语言程序设计汇编语言程序设计沈美明沈美明 温冬婵温冬婵 清华大学出版社清华大学出版社2.ibm pc 汇编语言与程序设计汇编语言与程序设计 peter abel 编著编著 第第4版版 清华大学出版社清华大学出版社.prentice hall第第5版版 人民邮电出版社人民邮电出版社3. ibm pc 汇编语言与程序设计例题习题集汇编语言与程序设计例题习题集 温冬婵温冬婵 沈美明沈美明 清华大学出版社清华大学出版社8南通大学计算机科学与技术学院 计算机科学与技术系 顾晖第第1章章 基础知识基础知识n数制数制n数制之间的转换数制之间的转换n二进制
8、数和十六进制数的运算二进制数和十六进制数的运算n数和字符的表示数和字符的表示n基本逻辑运算基本逻辑运算9南通大学计算机科学与技术学院 计算机科学与技术系 顾晖预预 备备 知知 识识存储容量单位:存储容量单位:1 1个二进制位:个二进制位:bit bit (比特)(比特)8 8个二进制位:个二进制位:byte byte (字节)(字节) 1byte = 8bit1byte = 8bit2 2个字节:个字节:word word (字)(字) 1word = 2byte = 16bit1word = 2byte = 16bit10南通大学计算机科学与技术学院 计算机科学与技术系 顾晖存储容量单位(续
9、)存储容量单位(续)n1kb= 1024b =21kb= 1024b =21010b b (kilobytekilobyte) n1mb=1024kb=21mb=1024kb=22020b b (megabytemegabyte) n1gb=1024mb=21gb=1024mb=23030b b (gigabytegigabyte)n1tb=1024gb=21tb=1024gb=24040b b (terabyteterabyte)n1pb=1024tb=21pb=1024tb=25050b b (petabytepetabyte)n1eb=1024pb=21eb=1024pb=26060b
10、b (exa byteexa byte)n1zb=1024 eb=21zb=1024 eb=27070b b (zettabytezettabyte)n1yb=1024zb=21yb=1024zb=28080b b (yottabyteyottabyte)n1bb=1024yb=21bb=1024yb=29090b b (brontobytebrontobyte)11南通大学计算机科学与技术学院 计算机科学与技术系 顾晖1. 数数 制制 数数 制制 基基 数数 数数 码码 二进制二进制 binary 2 0, 1 八进制八进制 octal 8 0, 1, 2, 3, 4, 5, 6, 7 十进
11、制十进制 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,逢二进一,逢二进一 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 012南通大学计算机科学与技术学院 计算机科学与技术系 顾
12、晖2. 数制之间的转换数制之间的转换 二进制二进制 十六进制十六进制 十进制十进制 二进制二进制 十进制十进制 十六进制十六进制降幂法降幂法 除法除法13南通大学计算机科学与技术学院 计算机科学与技术系 顾晖 二进制二进制 十六进制十六进制 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,1100b14南通大学计算机科学与技术学院 计算机科学与技术系 顾晖 1011b = 23+21+20=11d 降幂法降幂法 除法除法 例:例
13、: 27d = ? b 27 11 3 3 1 - - - - 2n 16 8 4 2 1 1 1 0 1 1 27d = 11011b 二进制二进制 十进制十进制15南通大学计算机科学与技术学院 计算机科学与技术系 顾晖 十六进制十六进制 十进制十进制 bf3ch = 11 163 +15 162 +3 161 +12 160 = 48956d 降幂法降幂法 除法除法 例:例:399d = ? h 399 143 15 399/1624/161/16 0 - - - 16n 256 16 1 f 8 1 1 8 f 399d = 18fh16南通大学计算机科学与技术学院 计算机科学与技术系
14、顾晖 算术运算算术运算 二进制数:二进制数:逢二进一逢二进一 借一为二借一为二 加法规则加法规则 乘法规则乘法规则 0 + 0 = 0 0 0 = 0 0 + 1 = 1 0 1 = 0 1 + 0 = 1 1 0 = 0 1 + 1 = 0 (进位(进位1) 1 1 = 13. 运算(算术运算和逻辑运算)运算(算术运算和逻辑运算)17南通大学计算机科学与技术学院 计算机科学与技术系 顾晖0 5 c 3 h0 5 c 3 h3 d 2 5 h3 d 2 5 h4 2 e 8 h4 2 e 8 h3 d 2 5 h3 d 2 5 h0 5 c 3 h0 5 c 3 h3 7 6 2 h3 7 6
15、 2 h1 11 1十六进制数:十六进制数:逢十六进一逢十六进一 借一为十六借一为十六18南通大学计算机科学与技术学院 计算机科学与技术系 顾晖 逻辑运算(逻辑运算(按位操作按位操作)“与与”运算(运算(and) “或或”运算(运算(or) a b ab a b ab 0 0 0 0 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 019南通大学计算机科学与技术学院 计算机科学与技术系 顾晖例:例:x=00ffh y=5
16、555h,求,求z=x y= ? x= 0000 0000 1111 1111 b y= 0101 0101 0101 0101 b z= 0101 0101 1010 1010 b z=55aah20南通大学计算机科学与技术学院 计算机科学与技术系 顾晖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位:
17、位:21南通大学计算机科学与技术学院 计算机科学与技术系 顾晖数的常用表示法数的常用表示法 原码原码 反码反码 补码补码原码表示法原码表示法:符号:符号 + 绝对值绝对值例:例:n = 8bit +3原码原码 = 0 000,0011 = 03h - 3原码原码 = 1 000,0011 = 83h +0原码原码 = 0 000,0000 = 00h - 0原码原码 = 1 000,0000 = 80h 0 的表示不唯一的表示不唯一反码表示法反码表示法:正数的反码同原码,负数的反码数值位与原码相反:正数的反码同原码,负数的反码数值位与原码相反例:例:n = 8bit +5反码反码 = 0 00
18、0,0101 = 05h - 5反码反码 = 1 111,1010 = fah +0反码反码 = 0 000,0000 = 00h - 0反码反码 = 1 111,1111 = ffh 0 的表示不唯一的表示不唯一22南通大学计算机科学与技术学院 计算机科学与技术系 顾晖例:例: 机器字长机器字长8位,位,- 46补码补码 = ? ? 46补码补码 = 0 0 1 0 1 1 1 0 1 1 0 1 0 0 0 1 1 1 0 1 0 0 1 0 = d2h 机器字长机器字长16位,位,- 46补码补码 = ffd2h +0补码补码 = 0 0 0 0 0 0 0 0 1 1 1 1 1 1
19、1 1 0 0 0 0 0 0 0 0 = - 0补码补码 0 的表示惟一的表示惟一按位求反按位求反末位加一末位加一按位求反按位求反末位加一末位加一补码补码(twos complement)表示法:表示法:正数的补码:正数的补码: 同原码同原码负数的补码负数的补码:(1)写出与该负数相对应的正数的补码写出与该负数相对应的正数的补码 (2)按位求反按位求反 (3)末位加一末位加一23南通大学计算机科学与技术学院 计算机科学与技术系 顾晖 十进制十进制 二进制二进制 十六进制十六进制 十进制十进制 十六进制十六进制 n=8 n=16 +127 0111 1111 7f +32767 7fff +1
20、26 0111 1110 7e +32766 7ffe . . . +2 0000 0010 02 +2 0002 +1 0000 0001 01 +1 0001 0 0000 0000 00 0 0000 -1 1111 1111 ff -1 ffff -2 1111 1110 fe -2 fffe . . .-126 1000 0010 82 -32766 8002-127 1000 0001 81 -32767 8001-128 1000 0000 80 -32768 8000n位二进制补码的表数范围:位二进制补码的表数范围: - 2n-1 n 2n-1-1无符号整数的表数范围:无符号整数的表数范围: 0 n 2n-1 24南通大学计算机科学与技术学院 计算机科学与技术系 顾晖求补运算求补运算 :对一个二进制数按位求反、末位加一对一个
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025湖北襄阳市枣阳市招聘事业单位人员206人考前自测高频考点模拟试题及答案详解(易错题)
- 2025年伊春市住房和城乡建设局面向社会公开招聘临时工作人员2人考前自测高频考点模拟试题附答案详解
- 2025年楚雄技师学院云南现代职业技术学院高层次人才和急需紧缺招聘考前自测高频考点模拟试题及答案详解(考点梳理)
- 2025年春季中国商飞公司校园招聘和年度社会招聘考前自测高频考点模拟试题及完整答案详解一套
- 2025年滁州南谯城市投资控股集团有限公司招聘10人考前自测高频考点模拟试题附答案详解(典型题)
- 2025年函授土木考试试题及答案
- 2025江西赣州市第五人民医院劳务派遣招聘精神科助理医师1名模拟试卷带答案详解
- 2025年数学中级考试试题及答案
- 2025高中教师数学招聘试题及答案
- 2025医院手术室试题及答案
- 水生产处理工三级安全教育(班组级)考核试卷及答案
- 2025至2030中国魔芋行业项目调研及市场前景预测评估报告
- 2024新译林版英语八年级上Unit 3 To be a good learner单词表(开学版)
- DGTJ08-2310-2019 外墙外保温系统修复技术标准
- 软件开发分包管理措施
- 冬季四防培训课件
- 建筑公司研发管理制度
- Python编程基础(第3版)(微课版)-教学大纲
- 小学体育六年级上册教案(全册)
- TB-T 3356-2021铁路隧道锚杆-PDF解密
- (正式版)HGT 6313-2024 化工园区智慧化评价导则
评论
0/150
提交评论