首页 热点资讯 义务教育 高等教育 出国留学 考研考公

汇编翻译

发布网友 发布时间:2022-04-22 02:18

我来回答

1个回答

热心网友 时间:2023-06-28 23:47

这应该是一段单片机的汇编
org 0000h ;程序从地址0000h开始
jmp start ;跳转到start
org 0030h ;程序从地址0030h开始
start:
mov p2,#0fch ;对P2端口赋值,可能是P2的8个端口接了一个数字显示器吧,或者是接了其他什么……
call delay ;延时
mov p2,#0f3h ;对P2端口赋值
call delay ;延时
mov p2,#0cfh
call delay
mov p2,#3fh
call delay
jmp start ;反复运行

delay :
mov r3,#20 ;对R3寄存器赋值
d1: mov r4,#20h
d2: mov r5,#248h
djnz r1,$ ;这里R1应该改为R5....
djnz r4,d2 ;R4=R4-1; IF R4≠0 -> JMP d2
djnz r3,d1 ;R3=R3-1; IF R4≠0 -> JMP d1
;以上共循环598016次;而一个机器指令周期是拿晶振频率除以12,得到的是个秒数,再拿循环次数乘以djnz的指令周期数就是延时的秒数……
ret ;函数返回
end

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com