求大神帮忙解释一下下面那段微机原理的程序,要详细的每句话的意思

求大神帮忙解释一下下面那段微机原理的程序,要详细的每句话的意思,第1张

DAT equ P1.0 DATA 相当于 P1.0

CLK equ P1.1 CLK 相当于 P1.1

mov a, #55h Acc ←#55H

setb CLK P1.1= 1,高电平

mov r7, #8 R7 ← #8

Next: 程序标号

rrc a Acc带进位循环右移1位,Acc最缓哪猜低位移入Cy

mov DAT, c DAT←Cy(即Acc右移前的最低位)

clr CLK P1.1 =0, 低电扰型平

setb CLK P1.1= 1,高电平

djnz r7, Next R7递减1转Next处循环,当R7递减至0则循环结束

ljmp $‘踏步’

end程序结束

整体程序有何功能,须知道单片机的P1.1引脚与什么元件连接,才可确缓烂定。

CODE SEGMENT ;代码段开始声明

ASSUME CS:CODE ;ASSUME:段分配伪指令定义CODE为代码段

START:MOV AX,0H;开始执行 0H赋给AX

MOV DS,AX

MOV BX,2000H

MOV AX,55AAH

MOV CX,03FFH

RAMW1:MOV DS:[BX],AX ;RAMW1 标号 将AX中内容赋给物理地址

;为16*DS+BX的内存单元中

ADD BX,0002H;BX+0002H,和送到BX

LOOP RAMW1;循环指令 执行一次CX中数据-1,执行一手凯次标号为RAMW1中

; 指派老令,CX减到0时退出循环

MOV AX,2000H

MOV SI,AX

MOV AX,3000H

MOV DI,AX

MOV CX,03FFH

CLD;方向标志位DF清零

REP MOVSB;重复传送串中是字节,直到CX=0;

RAMW2:JMP RAMW2;RAMW2 标号 程序无条尘薯升件转移到标号为RAMW2的指令中

CODE ENDS;结束CODE段

END START;语句结束

xxxx0是个十六进制数,最后一位是0的话转换为十进制定会被16整除, 不信你试试,这是因为前四位型散分别是16的倍数,最后一位是0,加起来还是16的倍数。

堆栈是一种悄州形象的说法,sp指针指向某一地址,成为栈底,数据从栈底开始卜运氏向上保存,取出的时候按照后进先出的原则,实际是一种保护数据的方式,在微机原理中很重要。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12255918.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存