p82-83
mcs-51单片机的寻址方式:寄存器寻址、立即寻址、寄存器间接寻址、直接寻址、变址寻址、相对寻址和位寻址。
1)寄存器寻址:操作数在寄存器中,由指令操作码中的rrr三位的值和psw中rs1及rs0的状态,选中某个工作寄存器区的某个寄存器,然后进行相应的指令操作。
2)立即寻址:指令的源操作数是一个数值,这种操作数被称做立即数,在指令中用“#”作为其前缀。含有立即数的指令的指令码中,操作码后面的字节内容就是操作数本身,不需要到其他地址单元来取。
3)寄存器间接寻址:将指定的寄存器内容为地址,由该地址所指定的单元内容作为操作数。mcs-51规定r0或r1为间接寻址寄存器,它可寻址内部ram低位地址的128个字节单元内容。
还可采用数据指针(dptr)作为间接寻址寄存器,寻址外部数据存储器的64k字节空间,但不能用本寻址方法寻址特殊功能寄存器。
4)直接寻址:指令中直接给出操作数所在的存储器地址,以供寻址取数或存数。
5)变址寻址:把基址寄存器(dptr或pc)和变址寄存器a的内容作为无符号数相加形成16位的地址,该地址单元中所存放的数据为所需的操作数。
6)相对寻址:程序的执行中往往有相对转移的需要,即以当前指令的位置(pc值)为基准点,加上指令中给出的相对偏移量(rel)来获得操作数所在的实际地址。
7)位寻址:指令中直接给出位地址,可以对内部数据存储器ram中的128位和特殊寄存器sfr中的93位进行寻址,并且位操作指令可对地址空间的每一位进行传送与逻辑操作。
2.采用基址寄存器加变址寄存器间接寻址方式。
1)mov a,r0
mov r1,a
2)mov r0,#20h
movx a,@r0
mov 20h,a
mov r0,a
3)mov dptr,#2000h
movx a,@dptr
mov 20h,a
mov r0,a
movx @r0,a
4)mov dptr,#2000r
clr amovc a,@a+dptr
mov r0,a
mov 20h,a
movx @r0,a
1)(a)=30h;(psw)=00h
2)(a)=a5h;(psw)=00h
3)(a)=a5h;(psw)=00h
4)(a)=75h;(psw)=01h
5)(a)=a7h;(psw)=01h
6)(a)=aah;(psw)=00h
7)(a)=1fh;(psw)=81h
8)(a)=aah;(psw)=00h
9)(a)=20h;(psw)=01h
10)(a)=d5h;(psw)=85h
11)(a)=4ah;(psw)=01h
12)(a)=7ah;(psw)=80h
1)(2ffeh)=02h
2)(a)=70h
3)(a)=(20h+2ffch)=(2ffeh)=64h
4)(31h)=02h
anl a,#17h 与。
orl 17h,a 或。
xrl a,@r0 异或。
cpl a 取反。
a)=11001011b=0cbh
第三章作业
v s 顺序执行下述两个动作 1.s值加1,即s s 1 2.如果s 0,则该进程继续运行 3.如果s 0,则唤醒等待信号量s阻塞队列中的头一个进程 把阻塞态改为就绪态 执行v操作的进程继续运行。procedure s var s semaphore begin s s 1 if s 0 then ...
第三章作业
1 顺序栈空 栈满条件2 链栈栈空 栈满条件。3 循环队列队空 队满条件,如何表示队列中数据元素的个数4 链队列队空 队满条件。5 以下运算实现在顺序栈上的进栈,请在 处用适当的语句予以填充。int push sqstacktp sq,datatype x if sp top sqstack max...
第三章作业
1.论述各类绿地的环境特点和树种的选择。一 高层建筑中的狭窄街巷绿地绿地内的环境特点 直射辐射量少,日照时间短 夏季气温偏低,冬季因受周围建筑物热辐射的影响,气温偏高 风速一般偏低,但有时会产生狭管效应,使风速增大。这些地方裸露土面极少,多为水泥铺装,严重阻碍了土壤与大气的水 气交换,且存在一定程度...