王爽汇编语言C硬盘读写,王爽汇编语言学习笔记(范文).doc

本科毕业设计(论文)外文资料翻译

第 PAGE \* Arabic 1 页第 PAGE \* Arabic 1 页

第一章 基础知识

◎汇编语言由3类指令组成

汇编指令:机器码的助记符,有对应机器码。

伪指令:没有对应机器码,由编译器执行,计算机并不执行

其他符号:如+-*/,由编译器识别,没有对应机器码

◎一个CPU有n根地址线,则可以所这个CPU的地址线宽度为n,这样的CPU最多可以寻找2的n次方个内存单元。

◎ 1K=2^10B 1M=2^20B 1G=2^30B

◎8086 CPU地址总线宽度为20,寻址范围为00000~FFFFF

00000~9FFFF 主存储器地址空间(RAM)

A0000~BFFFF 显存地址空间

C0000~FFFFF 各类ROM地址空间

第二章 寄存器(CPU工作原理)

◎16位结构描述了一个CPU具有下面几个方面的结构特性

运算器一次最多可以处理16位的数据

寄存器的最大宽度为16位

寄存器和运算器之间的通路为16位

◎8086有20位地址总线,可以传送20位地址,达到1M的寻址能力。采用在内部用两个16位地址合成的方法来形成一个20位的物理地址

◎物理地址 = 段地址 × 16 + 偏移地址

◎在编程是可以根据需要,将若干地址连续的内存单元看作一个段,用段地址×16定位段的起始地址(基础地址),用偏移地址定位段中的内存单元。段地址×16必然是16的倍数,所以一个段的起始地址也一定是16的倍数;偏移地址位16位,16位地址的寻址能力为64KB,所以一个段的长度最大为64KB

◎8086有四个段寄存器 CS、DS、SS、ES

◎CS为代码段寄存器,IP为指令指针寄存器。任意时刻,设CS中内容为M、IP中内容为N,8086CPU从内存M×16+N读取一条指令执行

◎不能用mov修改CS、IP,因为8086CPU没有提供这样功能,可用指令JMP 段地址:偏移地址。JMP 2AE3:3 JMP AX 修改IP

第三章 寄存器(内存访问)

◎DS数据段寄存器。不能将数据直接送入段寄存器,所以『MOV DS, 1』不正确

◎字在存储时要两个连续的内存单元,低位在低地址,高位在高地址

◎[address]表示一个偏移地址为address的内存单元

◎SS:SP指向栈顶元素

◎PUSH AX:(1)SP = SP - 2;(2)AX送入SS:SP

◎POP AX:(1)SS:SP送入AX;(2)SP = SP + 2

◎PUSH/POP 寄存器

PUSH/POP 段寄存器

PUSH/POP 内存单元

第四章 第1个程序

◎可执行文件包含两部分:程序和数据,相关的描述信息

◎程序加载后, ds中存放这程序所在内存区的段地址,这个内存区的偏移地址为0,策程序所在的内存区的地址为ds:0;这个内存区的前256个字节中存放的是PSP,dos用来和程序进行通信。从256字节处向后的空间存放的是程序。

第五章 [BX]和loop指令

◎[BX]表示一个内存单元,它的段地址在ds中,偏移地址在bx中。MOV AX,[BX] MOV AL,[BX] MOV [BX],AX

◎loop要进行两步操作,CX=CX-1;判断cx中值,不为零则转至标号处执行程序,为零则向下执行。

◎masm将指令 mov ax,[0] 当作 mov ax,0 处理

解决方法可以为 mov bx,0 使用寄存器

mov ax,[bx]

或 mov ax,ds:[0] 直接给出段地址所在的段寄存器

◎loop中不可使用 mov [cx],cx

第六章 包含多个段的程序

◎dw 定义字型数据

◎end 标号 定义程序入口点

◎定义多个段,同定义代码段相同。定义仅仅是为了程序阅读方便

◎assume cs:code,ds:data,ss:stack是伪指令,将定义的具有一定用途的段和相关的寄存器联系起来

◎对于段,如果数据占N个字节,则程序加载后实际占有空间为:(N/16+1)*16,N的16整数

第七章 更灵活的定位内存地址的方法

◎and 按位与 and al, 0EFh

◎or 按位或 or al, 20h

◎字母大小写转换:

大写(xx0x xxxx) and al, 0EFh

小写(xx1x xxxx) or al, 20h

◎mov ax,[200+bx] == mov ax,[bx+200] == mov ax,200[bx] == mov ax,[bx].200 段地址为ds,偏移地址为bx+200

◎si和di示8086CPU中和bx功能相近的寄存器,si和di不能分成两个8位寄存器来使用

◎一般来说,在需要暂存数据的时候,都应该使用栈

第八章 数据处理的两个基本问题

◎bx,si,di,bp

1。在80

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值