IBM-PC汇编语言程序设计第1章_第1页
IBM-PC汇编语言程序设计第1章_第2页
IBM-PC汇编语言程序设计第1章_第3页
IBM-PC汇编语言程序设计第1章_第4页
IBM-PC汇编语言程序设计第1章_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

IBM—PC汇编语言程序设计(第2版)清华大学计算机系列教材沈美名温冬蝉编著计算机学院赖晓风计算机语言的发展机器语言FORTRANBASICCOBOLPASCALC/C++JAVA...汇编语言高级语言面向机器的低级语言,通常是为特定的计算机或计算机系列专门设计的。保持了机器语言的优点,具有直接和简捷的特点可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等。目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。经常与高级语言配合使用,应用十分广泛。汇编语言的特点

#include"stdafx.h"#include"stdio.h"intmain(intargc,char*argv[]){inta,b,c;a=1; b=2; c=a+b; printf(“c=%d\n",c); return0;}

编程实现c=a+b,并在屏幕上显示出结果。

例1编译后的目标文件达到3.59KBdatasegmentadb?bdb?cdb?stringdb'c=$'dataendscodesegmentmainprocfarassumecs:code,ds:data,es:datastart:

pushdssubax,axpushax

movax,datamovds,axmoves,ax

mova,1movb,2moval,aaddal,bmovc,al

leadx,stringmovah,09int21h

addc,30hmovdl,cmovah,2int21hmovdl,0ahint21hmovdl,0dhint21hretmainendpcodeendsendstart例2.C=a+b汇编后的目标文件只有208字节汇编语言的应用高级绘图程序、视频游戏程序一般是用汇编语言编写的。高级绘图程序、视频游戏程序一般是用汇编语言编写的。70%以上的系统软件是用汇编语言编写的。某些快速处理、位处理、访问硬件设备等高效程序是用汇编语言编写的。70%以上的系统软件是用汇编语言编写的。高级绘图程序、视频游戏程序一般是用汇编语言编写的。系统程序、效率代码、I/O驱动程序建议:●充分注意“汇编”课实践性强的特点,●多读程序,多写程序,多上机调试程序,●熟悉PC机的编程结构,●掌握汇编语言及其程序设计的基本概念、方法和技巧。教师建议目标:●了解汇编语言的特性及其编程技术,●建立起“机器”和“程序”、“空间”和“时间”的概念。参考资料1.IBMPC汇编语言与程序设计

PETERABEL编著 第4版清华大学出版社 第5版人民邮电出版社2.IBMPC汇编语言与程序设计例题习题集温冬婵沈美明清华大学出版社第1章基础知识

数制数制之间的转换

运算

数和字符的表示预备知识存储容量1K=1024=210(Kilo)1M=1024K=220

(Mega)1G=1024M=230(Giga)1个二进制位:bit(比特)8个二进制位:Byte(字节)1Byte=8bit2个字节:Word(字)

1Word=2Byte=16bit1.数制

数制基数数码

二进制Binary20,1

八进制Octal80,1,2,3,4,5,6,7

十进制Decimal100,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,逢二进一

11012=1×23+1×22+1×20=1310十六进制:基数为16,逢十六进一

1001,0001,1000,01119187=9×163+1×162+8×161+7×1602.数制之间的转换

二进制十六进制十进制二进制十进制十六进制降幂法除法二进制十六进制

001101011011111135BF∴

0011,0101,1011,1111B=35BFH

A19C

1010000110011100∴A19CH=1010,0001,1001,1100B

(1)二进制→十进制

1011B=23+21+20=11D(2)十进制→二进制整数:除基取余1、降幂法2、除法

例:27D=?B

小数:乘基取整2711331----2n16842111011∴27D=11011B二进制十进制

十六进制十进制(1)十六进制→十进制

BF3CH=11163+15162+3161+12160

=48956D(2)十进制→十六进制整数:除基取余1、降幂法2、除法小数:乘基取整

降幂法除法

例:399D=?H39914315399/16→24/16→1/16→0---↓↓↓16n256161F81

18F∴399D=18FH算术运算

二进制数:逢二进一借一为二加法规则乘法规则

0+0=000=00+1=101=01+0=110=01+1=0(进位1)11=13.运算(算术运算和逻辑运算)05C3H3D25H42E8H+3D25H05C3H3762H-1-1十六进制数:逢十六进一借一为十六逻辑运算(按位操作)“与”运算(AND)“或”运算(OR)

ABABABAB

000000010011100101111111“非”运算(NOT)

“异或”运算(XOR)

A

A

ABAB0100010

011101110相同为0不同为1例:X=00FFHY=5555H,求Z=XY=?X=0000000011111111B

Y=0101010101010101B

Z=0101010110101010BZ=55AAH4.数和字符的表示计算机中正负数的表示

76543210符号位

数值位假设机器字长为16位:符号位=0正数

数值位

=

1负数1514131211109876543210假设机器字长为8位:H.O.ByteL.O.ByteH.O.NibbleL.O.Nibble原码表示法:符号+绝对值例:n=8bit[+3]原码

=0000,0011=03H[-3]原码

=1000,0011=83H[+0]原码

=0000,0000=00H[-0]原码

=1000,0000=80H0的表示不唯一反码表示法:正数的反码同原码,负数的反码数值位与原码相反例:n=8bit[+5]反码

=0000,0101=05H[-5]反码

=1111,1010=FAH[+0]反码

=0000,0000=00H[-0]反码

=1111,1111=FFH0的表示不唯一数的常用表示法

——

原码反码补码例:机器字长8位,[-46]补码=?[46]补码=001011101101000111010010=D2H

机器字长16位,[-46]补码=FFD2H

[+0]补码=000000001111111100000000=[-0]补码0的表示唯一按位求反末位加一按位求反末位加一补码(Two’sComplement)表示法:正数的补码:同原码负数的补码:(1)写出与该负数相对应的正数的补码

(2)按位求反

(3)末位加一

十进制二进制十六进制十进制十六进制

n=8n=16+127011111117F+327677FFF+126011111107E+327667FFE......……...+20000001002+20002+10000000101+100010000000000000000-111111111FF-1FFFF-211111110FE-2FFFE......……...-1261000001082-327668002-1271000000181-327678001-1281000000080-327688000n位二进制补码的表数范围:

-2n-1≤N≤2n-1-1无符号整数表示数的范围:

0≤N≤2n-1补码的加法和减法:求补运算

:对一个二进制数按位求反、末位加一

[X]补码

[-X]补码

[X]补码加法规则:[X+Y]补码

=[X]补码

+[Y]补码减法规则:[X-Y]补码

=[X]补码

+[-Y]补码

补码减法可转换为补码加法

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论