10.07.2015 Views

MPLAB® C30 C 编译器用户指南

MPLAB® C30 C 编译器用户指南

MPLAB® C30 C 编译器用户指南

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

MPLAB ® <strong>C30</strong> 用 户 指 南4.12.2 返 回 值8 位 或 16 位 标 量 的 函 数 返 回 值 返 回 到 W0 中 , 32 位 标 量 的 函 数 返 回 值 返 回 到 W1:W0中 , 而 64 位 标 量 的 函 数 返 回 值 返 回 到 W3:W2:W1:W0 中 。 聚 集 通 过 W0 间 接 返 回 ,W0 由 调 用 函 数 设 置 为 包 含 聚 集 值 的 地 址 。4.12.3 调 用 函 数 时 保 存 寄 存 器对 于 一 般 的 函 数 调 用 , 编 译 器 指 定 函 数 调 用 时 保 护 寄 存 器 W8-W15。 寄 存 器 W0-W7可 用 作 暂 存 寄 存 器 。 对 于 中 断 函 数 , 编 译 器 指 定 保 护 所 有 必 需 的 寄 存 器 , 即 W0-W15和 RCOUNT。4.13 寄 存 器 约 定特 定 寄 存 器 在 C 运 行 时 环 境 中 起 着 特 殊 的 作 用 。 寄 存 器 变 量 使 用 一 个 或 多 个 工 作 寄 存器 , 参 见 表 4-4。表 4-4:寄 存 器 约 定变 量工 作 寄 存 器char, signed char, unsigned char W0-W13 和 W14 ( 如 果 没 有 用 作 帧 指 针 的 话 )。short, signed short, unsignedshortW0-W13 和 W14 ( 如 果 没 有 用 作 帧 指 针 的 话 )。int, signed int,unsigned int W0-W13 和 W14 ( 如 果 没 有 用 作 帧 指 针 的 话 )。void * (or any pointer) W0-W13 和 W14 ( 如 果 没 有 用 作 帧 指 针 的 话 )。long, signed long, unsigned long 一 对 邻 近 的 寄 存 器 , 第 一 个 寄 存 器 是 {W0, W2,W4, W6, W8, W10, W12} 之 一 。 低 编 号 的 寄 存 器包 含 值 的 最 低 16 位 。long long, signed long long,unsigned long long四 个 邻 近 的 寄 存 器 , 第 一 个 寄 存 器 是 {W0, W4,W8} 之 一 。 低 编 号 的 寄 存 器 包 含 值 的 最 低 16位 。 接 着 的 较 高 编 号 寄 存 器 包 含 接 着 的 较 高 位 。float 一 对 邻 近 的 寄 存 器 , 第 一 个 寄 存 器 是 {W0, W2,W4, W6, W8, W10, W12} 之 一 。 低 编 号 的 寄 存 器包 含 值 的 最 低 16 位 。double* 四 个 邻 近 的 寄 存 器 , 第 一 个 寄 存 器 是 {W0, W2,W4, W6, W8, W10, W12} 之 一 。 低 编 号 的 寄 存 器包 含 值 的 最 低 16 位 。long double 四 个 邻 近 的 寄 存 器 , 第 一 个 寄 存 器 是 {W0, W4,W8} 之 一 。 低 编 号 的 寄 存 器 包 含 值 的 最 低 16位 。* 如 果 使 用 了 -fno-short-double, double 等 价 于 long double。DS51284C_CN 第 74 页© 2005 Microchip Technology Inc.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!