内容发布更新时间 : 2025/7/21 17:31:32星期一 下面是文章的全部内容请认真阅读。
作寄存器时,可以作为一般的RAM区使用。 (2)位寻址区
20H~2FH单元是位寻址区。这16个单元(共计16 × 8 = 128位)的每一位都赋予了一个位地址,位地址范围为00H~7FH。位地址区的每一位都可当做软件触发器,由程序直接进行位处理。通常可以把各种程序状态标志、位控制变量存入位寻址区内。
00H…07H 08H…0FH 10H…17H 18H…1FH 20H 21H 22H 23H 24H 25H 26H 27H 28H 29H 2AH 2BH 2CH 2DH 2EH 2FH 30H…7FH 0组 1组 2组 3组 07 0F 17 1F 27 2F 37 3F 47 4F 57 5F 67 6F 77 7F 06 0E 16 1E 26 2E 36 3E 46 4E 56 5E 66 6E 76 7E 05 0D 15 1D 25 2D 35 3D 45 4D 55 5D 65 6D 75 7D 04 0C 14 1C 24 2C 34 3C 44 4C 54 5C 64 6C 74 7C 03 0B 13 1B 23 2B 33 3B 43 4B 53 5B 63 6B 73 7B 02 0A 12 1A 22 2A 32 3A 42 4A 52 5A 62 6A 72 7A 01 09 11 19 21 29 31 39 41 49 51 59 61 69 71 79 00 08 10 18 20 28 30 38 40 48 50 58 60 68 70 78 工作寄存器区 位 寻 址 区 数据缓冲区 该区域当不被用做位寻址区时,可以作为一般的RAM区使用。 (3)数据缓冲区
30H~7FH是数据缓冲区,即用户RAM,共80个单元。
由于工作寄存器区、位寻址区、数据缓冲区统一编址,使用同样的指令访问,这三个区的单元既有自己独特的功能,又可统一调度使用。因此,前两个区未使用的单元也可作为用户RAM单元使用,使容量较小的片内RAM得以充分利用。
4.简述程序状态字PSW中各位的含义。
程序状态字PSW是一个8位寄存器,它保存指令执行结果的特征信息,为下一条指令或以后的指令的执行提供状态条件。PSW中的各位一般是在指令执行过程中形成的,但也可以根据需要采用传送指令加以改变。其各位定义如图所示。
PSW.7 PSW.6 PSW.5 PSW.4 PSW.3 PSW.2 PSW.1 PSW.0 P C AC F0 RS1 RS0 OV —— ① 进位标志C(PSW.7)
在执行某些算术运算类、逻辑运算类指令时,可被硬件或软件置位或清零。它表示运算结果是否有进位或借位。如果在最高位有进位(加法时)或借位(减法时),则C = 1,否则C = 0。
② 辅助进位(或称半进位)标志位AC(PSW.6)
它表示两个8位数运算,低4位有无进(借)位的状况。当低4位相加(或相减)时,若D3位
第 5 页 共 29 页 m
向D4位有进位(或借位),则AC = 1,否则AC = 0。在BCD码运算的十进制调整中要用到该标志。
③ 用户自定义标志位F0(PSW.5)
用户可根据自己的需要为F0赋予一定的含义,通过软件置位或清零,并根据F0 = 1或0来决定程序的执行方式,或系统某一种工作状态。
④ 工作寄存器组选择位RS1、RS0(PSW.4、PSW.3)
可用软件置位或清零,用于选定当前使用的4个工作寄存器组中的某一组。 ⑤ 溢出标志位OV(PSW.2)
做加法或减法时由硬件置位或清零,以指示运算结果是否溢出。在带符号数加减运算中,OV = 1表示加减运算超出了累加器所能表示的数值范围(–128~+127),即产生了溢出,因此运算结果是错误的。OV = 0表示运算正确,即无溢出产生。