版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、IBMPCIBMPC汇编语言汇编语言程序设计程序设计( (第第2 2版版) )清华大学计算机系列教材清华大学计算机系列教材 沈美名沈美名 温冬蝉温冬蝉 编著编著计算机语言的发展计算机语言的发展 机器语言机器语言FORTRANFORTRANBASICBASICCOBOLCOBOLPASCALPASCALC/C+C/C+JAVAJAVA.汇编语言汇编语言高级语言高级语言汇编语言的特点汇编语言的特点 面向机器的低级语言,通常是为特定的计算面向机器的低级语言,通常是为特定的计算 机或计算机系列机或计算机系列专门设计的。专门设计的。 保持了机器语言的优点,具有直接和简捷保持了机器语言的优点,具有直接和简
2、捷 的特点。的特点。 可有效地访问、控制计算机的各种硬件设备可有效地访问、控制计算机的各种硬件设备, , 如磁盘、存储器、如磁盘、存储器、CPUCPU、I/OI/O端口等。端口等。 目标代码简短,占用内存少,执行速度快,目标代码简短,占用内存少,执行速度快, 是高效的程序设计语言。是高效的程序设计语言。 经常与高级语言配合使用,应用十分广泛经常与高级语言配合使用,应用十分广泛。#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)
3、; return 0; 编译后的目标文编译后的目标文件达到件达到3.59KBdata 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 a
4、x,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 2
5、1h 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 start end start例例 2. C = a + b2. C = a + b汇编后的目汇编后的目标文件只有标文件只有208208字节字节第第1章章 基基 础础 知知 识识 数制数制 数制之间的转换数制之间的转换 运算运算 数和字符的表示数和字符的表示预预 备备 知知 识识存储容量存储容量1K = 1024 = 210 (Kilo) 1M
6、 = 1024K = 220 (Mega) 1G = 1024M = 230 (Giga)1个二进制位:bit (比特)8个二进制位:Byte (字节) 1Byte = 8bit2个字节: Word (字) 1Word = 2Byte = 16bit1. 数数 制制 数数 制制 基基 数数 数数 码码 二进制二进制 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,
7、6, 7, 8, 9, A, B, C, D, E, F二进制二进制: 基数为2,逢二进一 1101B = 12 3 + 12 2 + 12 0 = 13十六进制十六进制:基数为16,逢十六进一 1001, 0001, 1000, 0111 9 1 8 7 = 9 16 3 + 1 16 2 + 8 16 1 + 7 16 02. 数制之间的转换数制之间的转换 二进制二进制 十六进制十六进制 十进制十进制 二进制二进制 十进制十进制 十六进制十六进制降幂法降幂法 除法除法 二进制二进制 十六进制十六进制 0011 0101 1011 1111 3 5 B F 0011,0101,1011,11
8、11B = 35BFH A 1 9 C 1010 0001 1001 1100 A19CH = 1010,0001,1001,1100B 1011B = 23+21+20=11D 降幂法 除法 例例: 27D = ? B 27 11 3 3 1 - - - - 2n 16 8 4 2 1 1 1 0 1 1 27D = 11011B 二进制二进制 十进制十进制 十六进制十六进制 十进制十进制 BF3CH = 11163 +15162 +3161 +12160 = 48956D 降幂法 除法 例例:399D = ? H 399 143 15 399/1624/161/16 0 - - - 16n
9、 256 16 1 F 8 1 1 8 F 399D = 18FH 算术运算算术运算 二进制数:二进制数:逢二进一逢二进一 借一为二借一为二 加法规则 乘法规则 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. 运算(算术运算和逻辑运算)运算(算术运算和逻辑运算)0 5 C 3 H3 D 2 5 H4 2 E 8 H3 D 2 5 H0 5 C 3 H3 7 6 2 H1 11 1十六进制数:十六进制数:逢十六进一逢十六进一 借一为十六借一为十六 逻辑运算(逻辑运算(按位操作按位操作)
10、“与与”运算(运算(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 0例例: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=55AAH4. 数和字符的表示数和字符的表示 计算机中正负计算
11、机中正负数的表示数的表示 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位:H.O.ByteH.O.ByteL.O.ByteL.O.ByteH.O.NibbleH.O.NibbleL.O.NibbleL.O.Nibble数的常用表示法数的常用表示法 原码原码 反码反码 补码补码原码表示法原码表示法:符号:符号 + 绝对值绝对值例:n = 8bit +3原码 = 0 000,0011 = 03H - 3原码
12、 = 1 000,0011 = 83H +0原码 = 0 000,0000 = 00H - 0原码 = 1 000,0000 = 80H 0 的表示不惟一反码表示法反码表示法:正数的反码同原码,负数的反码数值位与原码相反正数的反码同原码,负数的反码数值位与原码相反例:n = 8bit +5反码 = 0 000,0101 = 05H - 5反码 = 1 111,1010 = FAH +0反码 = 0 000,0000 = 00H - 0反码 = 1 111,1111 = FFH 0 的表示不惟一例: 机器字长8位,- 46补码 = ? 46补码 = 0 0 1 0 1 1 1 0 1 1 0 1
13、 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 1 1 0 0 0 0 0 0 0 0 = - 0补码 0 的表示的表示惟一按位求反按位求反末位加一末位加一按位求反按位求反末位加一末位加一补码补码(Twos Complement)表示法:表示法:正数的补码:正数的补码: 同原码负数的补码负数的补码:(1)写出与该负数相对应的正数的补码 (2)按位求反 (3)末位加一 十进制 二进制 十六进制 十进制 十六进制 n=8 n=16 +127 0111 1111 7F +
14、32767 7FFF +126 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无符
15、号整数的表数范围:无符号整数的表数范围: 0 N 2n-1 补码的加法和减法:补码的加法和减法:求补运算求补运算 :对一个二进制数按位求反、末位加一对一个二进制数按位求反、末位加一 X补码补码 -X补码补码 X补码补码加法规则加法规则:X+Y补码补码 = X补码补码 + Y补码补码减法规则减法规则:X-Y补码补码 = X补码补码 + -Y补码补码 补码减法可转换为补码加法补码减法可转换为补码加法 64(-46) 180100 00001101 00100001 0010例: 进位和溢出进位和溢出进位进位: 由于运算结果超出了位数由于运算结果超出了位数,最高有效位向最高有效位向 前的进位,这一位
16、自然丢失,一般不表前的进位,这一位自然丢失,一般不表 示结果的对错。示结果的对错。溢出:溢出:表示结果超出了字长允许表示的范围,表示结果超出了字长允许表示的范围, 一般会造成结果出错。一般会造成结果出错。例:例: (64) 11000000 127 01111111 64 01000000 + 1 00000001 0 1 00000000 128 10000000 进位进位 溢出溢出 字符的表示字符的表示ASCII码码:用一个字节字节来表示一个字符,低7位 为字符的ASCII值,最高位一般用作 校验位。 例:例: A 41H a 61H 1 31H 换行换行 0AH 回车回车 0DH 空格空
17、格 20H实验一实验一 DEBUG的使用的使用 一一 、实验目的、实验目的 掌握DEBUG常用命令的使用;熟悉CPU内部有多少寄存器;掌握访问段式存储器结构地址的表示方法。 二、实验内容二、实验内容 将数据段中的两个数求和,结果保存在数据段中。 源程序、机器语言程序如下: CS:0100 A1 00 00 MOV AX,0000 CS:0103 03 06 02 00 ADD AX,0002 CS:0107 A3 04 00 MOV 0004,AX CS:010A CB RETF 数据段内容如下: DS:0000 2301 2500 三、实验步骤三、实验步骤 1、用E命令键入上述机器语言程序和数据段的初值-E DS:000 23 01 25 00 -E DS:006 2A 2A 2A -E CS:100 A1 00 00 03 06 02 00-E CS:107 A3 04 00 CB 2、用D命令检查数据段、代码段内容-D DS:0-D CS:100 3、用T命令逐条执行上述程序,注意每条指令执行后相应寄存器的变化 4、用U命令反汇编本程序-U 100 10A 5、用R命令修改IP的内容为0100重新执行上述程序 -R IP显示:IP 010A修改为:0100 6、用G命令运行程序-G CS:0100 107观
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 疫情防护2025年度企业员工培训与心理咨询合同3篇
- 二零二五年度城市绿化养护劳务分包合同书4篇
- 二零二五年度城市住宅出售协议书(含装修及家具配置)4篇
- 二零二五年锅炉维修工程承包与环保验收协议3篇
- 2024手绘艺术作品拍卖合同协议3篇
- 安徽省二零二五年度住房租赁市场租赁纠纷处理合同
- 2025年护林员劳动合同书(含森林资源保护培训)3篇
- 2025版土地经营权租赁与农业产业扶贫合同3篇
- 二零二五年度高端房产交易意向金协议4篇
- 二零二五年度体育场馆安保人员派遣管理协议3篇
- 消防产品目录(2025年修订本)
- 地方性分异规律下的植被演替课件高三地理二轮专题复习
- 光伏项目风险控制与安全方案
- 9.2提高防护能力教学设计 2024-2025学年统编版道德与法治七年级上册
- 催收培训制度
- ISO 22003-1:2022《食品安全-第 1 部分:食品安全管理体系 审核与认证机构要求》中文版(机翻)
- 2024年广东省高考地理真题(解析版)
- 2024高考物理广东卷押题模拟含解析
- 人教版五年级上册数学简便计算大全600题及答案
- GB/T 15945-1995电能质量电力系统频率允许偏差
- GB 32311-2015水电解制氢系统能效限定值及能效等级
评论
0/150
提交评论