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