单片机 逻辑运算及位操作指令 软件实验3

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三 逻辑运算及位操作指令编程设计

一、实验目的

(1) 熟悉字节逻辑运算指令功能。 (2) 熟悉位操作指令运算功能。

(3)从而更深入的掌握汇编语言程序设计。 (4)学会观察CPU 窗口中BIT 区的变化。 二、实验内容

1. 字节逻辑运算程序

在片内RAM 的FIRST 和SECOND 单元中各有一符号数X 和Y,要求按下列条件算出Z,存入RESULT 单元中(设运算结果仍为8位数)。

FIRST EQU 30H

SECOND EQU 31H

RESULT EQU 32H Ⅰ当X 为正奇数的时候,取X=17H Y=28H

X + Y X 为正奇数 X ∧Y X 为正偶数 X ∨Y X 为负奇数 Z=

X ∨Y X 为负偶数

命令行命令结果备注

START MOV R0,FIRST

MOV A, R0

JB ACC.7, NEG 判别跳转命令,符号位不为一,执行下面的命令判别二进

制码符号

位是否

=1,若=1

则跳转到

NEG命令

行,若不

为一则继

续下面的

命令

MOV B, #2

DIV AB

MOV A, B

JZ TEMP1 判别跳转命令,不为零,执行下面的命令判别A中

值是否是

0,若是则

跳转到

TEMP1命

令行,若

不是,则

进行下面

的命令

MOV

A,R0

ADD A,

SECOND

SJMP

跳转到RES命令行跳转命令RES

RES

MOV RESULT, A

结果为3FH

SJMP $

Ⅱ当X 是正偶数的时候,取X=14H Y=25H

命令行命令结

S T A R T M

O

V

R

F

I

R

S

T

M

O

V

A

R

J

B

A

C

C

判别跳转命

令,符号位不

为一,执行下

面的命令

. 7 ,

N E G 符号位是否= 1,若= 1则跳转到N E G 命令行,若不为一则继续下面的命令

O V

B ,

# 2

D I V

A B

O V

A ,

B

J Z

T E M P 1 判别跳转命令,为零,执

行TEMP1的命

A

T

E

M

P

1

,则进行下面的命令

T E M P 1 M

O

V

A

,

R

A

N

L

A

,

S

E

C

O

N

D

S

J

M

P

跳转到RES命

令行

R E S

R E S M

O

V

R

E

S

U

L

T

,

A

4

H

S

J

M

P

$

Ⅲ当X为一个负奇数时,取X=F5H Y=1AH

命令行命令结果备注

START MOV R0,FIRST

MOV A,R0

JB ACC.7, NEG 判别跳转命令,符号位为一,跳转到NEG命令行判别二进

制码符号

位是否

=1,若=1

则跳转到

NEG命令

行,若不

为一则继

续下面的

命令

CPL ACC.7 NEG

MOV B,#2

DIV AB

MOV A,B

JZ TEMP2 判别跳转命令,不为零,执行下面的命令判别A中

值是否是

0,若是则

跳转到

TEMP1命

令行,若

不是,则

进行下面

的命令

MOV A,R0

ORL

A,SECOND

SJMP RES 跳转到RES命令行跳转命令

RES MOV

RESULT, A

结果是

04H SJMP $

Ⅳ当X为负偶数时,取X=F4H Y=1AH

相关文档
最新文档