汇编控制指令(伪指令) 常用伪指令及其功能: 1.ORG起始地址指令:指明程序和数据块起始地址。 指令地址机器码 源程序 ORG 2000H 2000h 78 30 MAIN: MOV RO, #30H 2002HE6 MOv A, @RO ORG 3000H 3000H23 DB23H,100,“A 3001H64 3002H41 2 B—定义字节型常数指令。 列:DB12H,100,‘A
二.汇编控制指令(伪指令) 常用伪指令及其功能: 1. ORG—起始地址指令:指明程序和数据块起始地址。 指令地址 机器码 源程序 ORG 2000H 2000H 78 30 MAIN:MOV R0,#30H 2002H E6 MOV A,@R0 … ORG 3000H 3000H 23 DB 23H,100, ‘A’ 3001H 64 3002H 41 2 . DB — 定 义 字 节 型 常 数 指 令 。 例: DB 12H,100,‘A’
3.DW一定义字型常数指令 例:DW1234H,5678H 4.EoU—等值。为标号或标识符赋值 X1 EQU 2000H X2 EQU OFH MAIN: MOV DPTR, #X1 ADD A,#X2 5.END一结束汇编指令。 例: START: END START
4. EQU —等值。为标号或标识符赋值。 X1 EQU 2000H X2 EQU 0FH … MAIN:MOV DPTR,#X1 ADD A,#X2 5. END —结束汇编指令。 例:START: … … END START 3. DW —定义字型常数指令。 例: DW 1234H,5678H
4-2汇编语言程序设计步骤 确定方案和计算方法 二.了解应用系统的硬件配置、性能指标。 建立系统数学模型,确定控制算法和操作步骤 四.画程序流程图 (开始 表示程序结构和程序功能 五.编制源程序 1.合理分配存储器单元和了解I0接口地址。 2按功能设计程序,明确各程序之间的相互关系。 3用注释行说明程序,便于阅读和修改调试和修改
4-2 汇编语言程序设计步骤 一.确定方案和计算方法 二.了解应用系统的硬件配置、性能指标。 三.建立系统数学模型,确定控制算法和操作步骤。 四.画程序流程图 表示程序结构和程序功能 五. 编制源程序 1.合理分配存储器单元和了解I/O接口地址。 2.按功能设计程序,明确各程序之间的相互关系。 3.用注释行说明程序,便于阅读和修改调试和修改。 开始 1 Y N ?
常用程序结构: 直线程序、分支程序、循环程序、子程序 4-3直线程序 直线程序又称简单程序,程序走向只有一条路径。 双字节变补程序(设数据在R4R5中): MOVA,R5;取低字节 CPL A ADDA,#1;低字节变补 MOV R5, A MOA,R4;取高字节 CPL A ADDC A,#0;高字节变补 MOV R4, A
常用程序结构: 直线程序、分支程序、循环程序、子程序 4-3 直线程序 直线程序又称简单程序,程序走向只有一条路径。 双字节变补程序(设数据在R4R5中): MOV A,R5 ;取低字节 CPL A ADD A,#1 ;低字节变补 MOV R5,A MOV A,R4 ;取高字节 CPL A ADDC A,#0 ;高字节变补 MOV R4,A
例4-3-4压缩式BCD码分解成为单字节BCD码。 MOV RO,#4OH;设指针 匚片内RAM MOVA,@RO;取一个字节42H|0 MOVR2,A;暂存 41H0个 ANLA,#0FH;清0高半字节[4H十个 INC RO MOV@R0,A;保存数据个位 MOV A, R2 SWAP A 十位换到低半字节 ANL A, #OFH INC RO MOV@R0,A;保存数据十位
例4-3-4 压缩式BCD码分解成为单字节BCD码。 MOV R0,#40H ;设指针 MOV A,@R0 ;取一个字节 MOV R2,A ;暂存 ANL A,#0FH ;清0高半字节 INC R0 MOV @R0,A ;保存数据个位 MOV A,R2 SWAP A ;十位换到低半字节 ANL A,#0FH INC R0 MOV @R0,A ;保存数据十位 片内 RAM 42H 0 十 41H 0 个 40H 十 个