注:使用Keil环境。
1、将30H~3FH的数放到50H~5FH地址中
1.1、采用直接寻址+寄存器寻址方式
;将30H-3FH地址中的数据放到地址50H-5FH中
MOV A, 0x30 ;把0x30这个地址中的值赋值给寄存器A,直接寻址
MOV 0x50, A ;把寄存器A中的值赋值给地址0x50,寄存器寻址
MOV A, 0x31
MOV 0x51, A
MOV A, 0x32
MOV 0x52, A
MOV A, 0x33
MOV 0x53, A
;......
MOV A, 0x3E
MOV 0x5E, A
MOV A, 0x3F
MOV 0x5F, A
1.2、采用直接寻址
MOV direct1,direcct2 ;两个直接地址可以进行数据的传递。
;将30H-3FH地址中的数据放到地址50H-5FH中
MOV 0x50, 0x30 ;把0x30地址中的值赋值给0x50地址,直接寻址
MOV 0x51, 0x31
MOV 0x52, 0x32
MOV 0x53, 0x33
;......
MOV 0x5E, 0x3E
MOV 0x5F, 0x3F
1.3、采用循环语句
(1)包括循环体,赋初值,改变初值,比较判断
(2)MOV direct1,direct2 ;将direct2地址中的数据赋值给direct1地址
direct1和direct2表示地址,需要改变,表示0x30-0x3F和0x50-0x5F
(3)MOV @R0,@R1
- 把R1中的数据取出,当作一个地址,把地址中存储的值 赋值给 R0中的数据表示的地址
- @后面跟的寄存器只能是R0或R1
- MOV @R0,@R1这种语句是不存在的,用如下两条语句代替
-
MOV A,@R1 ;把R0中的数据取出,当作一个地址,把地址中的数据赋值给寄存器A
MOV @R0,A ;把寄存器中的数 赋值给 R0寄存器存储的数,把这数当作的地址文章来源:https://www.toymoban.com/news/detail-442581.html
(4)程序文章来源地址https://www.toymoban.com/news/detail-442581.html
;将30H-3FH地址中的数据放到地址50H-5FH中
;赋初值
MOV R1, #0x30 ;将立即数0x30赋值给R1寄存器
MOV R0, #0x50 ;将立即数0x50赋值给R0寄存器
L_Loop:
;循环体
MOV A, @R1 ;把R1中的数据取出,当作一个地址,把地址中的数据赋值给寄存器A
MOV @R0, A ;把寄存器A中的数 赋值给 R0寄存器存储的数表示的地址
;改变初值
INC R1 ;R1寄存器中的值加1
INC R0 ;寄存器R0中的值加1
;比较判断
CJNE R1,#0x40,L_Loop ;立即数0x40与寄存器R1的值相比较,不相等则跳转到L_Loop处
END
到了这里,关于汇编六、汇编举例_循环语句怎么写?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!