第4章汇编语宣程存设计简介 ORG 1000H bUF1: db 38H. 7FH. 80H BUF2: DB 45H. 66H ORG伪指令指定了标号BUF1的地址为1000H,而DB伪 指令是将其后的二进制数表38H,7FH,80H依次存放在 1000HI,100IH,1002H3个连续单元之中,BUF2也是一个标 号,其地址与前一条伪指令连续,即1003H,1004H地址单元 中依次存放45H,66H
第 4 章 汇编语言程序设计简介 ORG 1000H BUF1: DB 38H, 7FH, 80H BUF2: DB 45H, 66H ORG伪指令指定了标号BUF1的地址为1000H, 而DB伪 指令是将其后的二进制数表38H, 7FH, 80H依次存放在 1000H, 1001H, 1002H 3 个连续单元之中, BUF2也是一个标 号, 其地址与前一条伪指令连续, 即1003H, 1004H地址单元 中依次存放 45H, 66H
第4章汇编语宣程存设计简介 四、定义字指令Dw 指令格式 [标号:]DW16位数据表 该指令的功能与DB相似,区别仅在于从指定地址开始存 放的是指令中的16位数据,而不是字节串。每个16位数据 要占两个存储单元,高8位先存,低8位后存,这和MCS-51指 令中的16位数据存放顺序是一致的
第 4 章 汇编语言程序设计简介 四、 定义字指令DW 指令格式: [标号:] DW 16 该指令的功能与DB相似, 区别仅在于从指定地址开始存 放的是指令中的 16 位数据, 而不是字节串。每个 16 位数据 要占两个存储单元, 高8 位先存, 低 8 位后存, 这和MCS -51指 令中的16位数据存放顺序是一致的
第4章汇编语宣程存设计简介 五、汇编结束指令END 指令格式 [标号:]END地址或标号 格式中标号以及END后面的地址或标号可有可无。 功能:提供汇编结束标志。汇编程序遇到END后就停 止汇编,对END以后的语句不予处理,故END应放在程序 的结束处
第 4 章 汇编语言程序设计简介 五、 汇编结束指令END 指令格式: [标号:] END 格式中标号以及END后面的地址或标号可有可无。 功能: 提供汇编结束标志。汇编程序遇到 END后就停 止汇编, 对 END以后的语句不予处理, 故 END应放在程序 的结束处
第4章汇编语宣程存设计简介 42汇编语言程序设计 421简单程序设计 例1两个无符号双字节数相加。 设被加数存放于内部RAM的40H(高位字节),41H(低 位字节),加数存放于50H(高位字节),51H(低位字节), 和数存入40H和4H单元中
第 4 章 汇编语言程序设计简介 4.2 汇编语言程序设计 4.2.1 简单程序设计 例 1 两个无符号双字节数相加。 设被加数存放于内部RAM的40H(高位字节), 41H(低 位字节), 加数存放于50H(高位字节), 51H(低位字节), 和数存入 40H和41H单元中
第4章汇编语宣程存设计简介 程序如下 START CLR C 将Cy清零 MOV RO,#41H;将被加数地址送数据指针RO MOⅴRl,#5H;将加数地址送数据指针R1 AD1:MOVA,@R0;被加数低字节的内容送入A ADD A, @RI 两个低字节相加 MOⅤaR0,A 低字节的和存入被加数低字节中 DEC RO 指向被加数高位字节 DEC RI 指向加数高位字节 MOⅤA,@R0 被加数高位字节送入A ADDC A, @RI 两个高位字节带Cy相加 MOV aRO,A 高位字节的和送被加数高位字节 RET
第 4 章 汇编语言程序设计简介 程序如下: START: CLR C ; 将Cy MOV R0, #41H ; 将被加数地址送数据指针R0 MOV R1, #51H ; 将加数地址送数据指针R1 AD1: MOV A, @R0 ; 被加数低字节的内容送入A ADD A,@R1 ; MOV @R0, A ; DEC R0 ; DEC R1 ; MOV A, @R0 ; 被加数高位字节送入A ADDC A, @R1 ; 两个高位字节带Cy MOV @R0, A ; RET