




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、ibm-pc汇编语言程序设计第1章 基础知识(basic computer) 简介(preface): 机器语言(machine language) 汇编语言(assembly language) 高级语言(high _ level language)1.1 数的表示 数的表示: an an-1 a0. b1 b2 . b m anrn+an-1rn-1+a0r0+b1r -1+b m r -m 其中, r - 基数 r k -权 例如: r-10 (decimal)an10n+an-110n-1+a0100+b110 -1+b m 10 -m r-2 (binary) an2n+an-12n
2、-1+a020+b12 -1+b m 2 -m r-8 (octal) r-16 (hexadecimal)汇编程序中数的表示: 例如,10b 10d 10h 数制之间的转换 1. 二进制十进制(converting binary to decimal): an an-1 a0. b1 b2 . b m =an2n+an-12n-1+a020+b12 -1+b m 2m 2. 十进制二进制( converting decimal to binary ): 方法一:除法 方法二:降幂法 例如:13d 23=8,22=4,21=2,20=1 13-8=5 1 5-4=1 1 1-2 0 1-1=0
3、 1 13d=1101b 3. 十六进制十进制(converting hexadecimal to decimal): an an-1 a0. b1 b2 . b m =an16n+an-116n-1+a0160+b116 -1+b m 16m 4. 十进制十六进制( converting decimal to hexadecimal ): 方法一:除法 方法二:降幂法 例如: 48956d 163=4096,162=256,161=16,160=1 48956-114096=3900 b 3900-15256=60 f 60-316=12 3 12-121=0 c 48956d=bf3ch
4、5.二进制十六进制(converting binary to hexadecimal): 6. 十六进制二进制( converting hexadecimal to binary ):1.2 数的计算(calculation of digits) 二进制加法 (binary addition) 二进制乘法 (binary multiple) 十六进制加法 (hexadecimal addition) 十六进制乘法 (hexadecimal multiple) 几种基本逻辑运算(boolean operations) 与(and)、或(or)、非(not)、 异或(xor)1.3 数据 1.无符
5、号数 (unsigned integer) 0n2k-1 例如,8位二进制数:0255 16位二进制数:065535 2. 有符号数(signed integers)-补码 -2k-1 n2k-1-1 例如,8位二进制数:-128127 16位二进制数:-3276832767 3. 补码的特点 求补 求补 x补 -x补 x补 x+y补= x补 + y补 x-y补= x补 + -y补字符表示法 - ascii码 ascii码表见p11 表1.3本章小结1. 数制之间的转换2. 有符号数、无符号数和字符表示 第2章 80x86计算机组织(component of 80x86)2.1 2.2 硬件(
6、hardware) 寄存器组(register) cpu 控制器(control unit) 运算器 (arithmetic logic unit):逻辑运算和算术运算 存储单元(memory storage unit)- 内存 i/o系统(i/o system):i/o设备,大容量的外存 数据总线 总线 地址总线 控制总线 软件(software) 用户软件 系统软件-操作系统操作系统中的常驻监督程序: 文件管理程序 i/o驱动程序 调试程序 - debug 文本编辑程序 - edit 翻译程序 - masm 连接程序 - link 装入程序 系统程序库 2.3 cpu的组成80x86寄存器
7、组通用寄存器(general-purpose registers)数据寄存器(data registers): ax bx cx dx - 16位ah al bh bl ch cl dh dl - 8位 ax:累加器ac (accumulator register) bx:基址寄存器(base register) cx:计数器 (counter register) dx:与ax同 2. 段寄存器(segment registers) cs ss ds es - 16位 cs 代码段(code) ds 数据段(data) es 附加段(extra) ss 堆栈段(stack) 3. 指针及变址寄
8、存器(pointer and index registers) sp bp si di - 16位 sp:堆栈指针寄存器(stack pointer register) bp:基址指针寄存器(base pointer register) si :源变址寄存器 (source index register) di :目的变址寄存器(destination index register) 专用寄存器(specialized uses registers) 1. 指令指针寄存器(instruction pointer) ip - 16位 2. 标志寄存器(flags)-16位 状态标志位(statu
9、s flags)有以下6个: cf:进位标志(carry flag) sf:符号标志(sign flag) of:溢出标志(overflow flag) zf:零标志(zero flag) af:辅助进位标志(auxiliary flag) pf:奇偶标志(parity flag) 控制标志位(control flags)有以下3个: df:方向标志(direction flag) if :中断标志(interrupt flag) tf: 跟踪标志(trap flag) 见p24页表2.22.4 存储单元的地址和内容 1. 地址:位、字节、字、双字 16位地址空间:216,即64k 范围:06
10、5535 ,即0000h0ffffh 特点:地址必须唯一 2. 存储单元内容与地址的关系表示 0000h 34h 0001h 12h 0002h 7ch 0003h 1234h 25h 1235h f8h ffffh 字节: (0000h)=34h 字: (0000h)=1234h (1234h)=0f825h 即: (0000h)=0f825h 实模式内存 地址总线:20位 内存空间为:220=1m 问题:20位地址与16位机器字长的矛盾如何解决? 地址范围:000000fffffh 00000h, 00001h, 00002h,.,0000fh 00010h, 00011h, 00012h,.,0001fh 00020h, 00021h, 00022h,.,0002fh . fffe0h,fffe1h,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论