计算机控制是如何编程,计算机控制汇编语言编程.ppt

计算机控制汇编语言编程

传送类指令

指令分类

二、寻址

数据传送与互换类

位操作指令

算术运算类

逻辑运算类

四、编程注意的几个步骤

"控制转移类

■位操作类

五、编程程序结构与技巧

六、常见的程序编程

色大亭

通用数据传送指令

数据传送是计算机中最基本、最重要的一种操作,传送指令

也是最常使用的一类指令

传送指令把数据从一个位置传送到另一个位置

有4种指令

M0V类进栈PUSH出栈P0PXH类

USH,

OP

XCH

色大亭

数据传送指令

CPU在进行算术和逻辑操作时,绝大多数指令都有

操作数,所以数据传送是一种最基本、最主要的操作

数据传送指令共29条,可分为内部RAM数据传送

外部RAM数据传送、程序存储器数据传送、数据交换和

堆栈操作等五类

寻址范围:累加器A、片内RAM、SFR、片外RAM

功能:(目的地址)←(源地址)。

可表示为:←

源地址单元的内容不变。

色大亭

mov指令是汇编里使用最频繁的指令

.传送指令Mo(move)它相当于高级语言中的赋值语句。

把一个字节或字的操作数从源地址传送至目的地址

Mov dest src

des t

src

25

色大亭

1.内部RAM数据传送指令(16条)

格式:MOV,

其中:表示目的操作数,表示源操作数

范围:源、目的操作数均在片内RAM、SFR中

指令形式:按目的操作数可将内部数据传送指令分为以下几类

(1)以累加器A为目的操作数(4条)

MOV A,

其中:包括Rn、@R、 direct、#data

(2)以工作寄存器Rn为目的操作数(3条)

MOV Rn.

其中:包括A、 direct、#data

色大亭

(3)以直接地址单元为目的操作数(5条)

mov direct

其中:包括A、Rn、@R;、 direct、#data

(4)以间址寄存器@Ri为目的操作数(3条)

MOⅤ@Ri,

其中:包括A、 direct、#data。

(5)6位数据传送指令(1条)

MOV DPTR. #data16

注:内部数据传送指令的传送

关系如右图所示。

色大亭

2.外部RAM数据传送指令(4条)

CPU与外部数据存储器之间进行数据传送时,必须使用外

部传送指令,只能通过累加器A,采用寄存器间接寻址(用R0,

R1和DPTR三个间接寻址的寄存器)方式完成。

指令格式: MOVX A,

OVⅩ,A

其中:、包括@DPTR、@R1。R1(R0,R1

只能访问片外RAM的低256个单元;DPTR可以访问片外RAM的

全部64KB的空间

色大亭

3.程序存储器(ROM)数据传送指令(查表指令)(2条)

程序存储器的数据传送是单向的,并且只能读到累加器A中

这类指令专门用于查表,又称为查表指令。

指令格式: MOVCA@A+DPTP;(A)←((A)+(DPTR))

MOVC A, A+PC

(PC)←(PC)+1

(A)←((A)+(PC))

两条指令的异同:其功能完全相同,但使用中存在着差异

(1)查表的位置要求不同

采用DPTR作为基地址寄存器,表可以放在64KB程序存储

空间的任何地址,使用方便,故称为远程查表。

采用PC作为基地址寄存器,具体的表在程序存储器中只能

在查表指令后的256B的地址空间中,使用有限制,故称为近程

查表

●大

WUYI UNIV

(2)偏移量的计算方法不同

采用DPTR作为基地址寄存器,查表地址为(A

+(DPTR)。采用PC作为基地址寄存器,查表地址

为(A)+(PC)+1。因此偏移量的计算方法不同

采用DPTR作为基地址寄存器,A为欲查数值距

离表首地址的值;采用PC作为基地址寄存器,A的值

必须预先设置为

A的值=表首地址-当前指令的PC值-1

色大亭

2.堆栈操作指令

堆栈是一个“后进先出FL0”(或说“先进

后出FL0”)的主存区域,位于堆栈段中;

SS段寄存器记录其段地址

堆栈只有一个出口,即当前栈顶;用堆栈

指针寄存器SP指定

·堆栈只有两种基本操作:进栈和出栈,对

应两条指令PUSH和POP

色大亭

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值