微 机 系 统 与 接 口 技 术 群 答 疑 集 锦 08 级 学 生 QQ 群 答 疑 杨 全 胜 整 理 2011.9
2010-10-8 22:23:13 solo estoy(276441700) 老 师 SIMD 技 术 ALU 同 时 处 理 的 数 据 长 度 只 能 是 ALU 最 大 位 数 的 整 数 分 之 一 对 吗 2010-10-8 22:25:16 solo estoy(276441700) 单 指 令 同 时 处 理 多 个 数 据 的 同 时 不 是 要 求 ALU 并 行 运 算 吗 2010-10-8 22:26:26 杨 老 师 (283451437) 是 的 2010-10-8 22:26:58 杨 老 师 (283451437) 注 意 SIMD 有 自 己 的 一 套 指 令, 它 也 不 是 简 单 的 使 用 整 型 ALU 2010-10-8 22:26:32 solo estoy(276441700) 那 一 个 ALU 是 如 何 实 现 并 行 运 算 的 啊 2010-10-8 22:28:01 杨 老 师 (283451437) 他 是 做 的 128 位 运 算 2010-10-8 22:27:50 solo estoy(276441700) 那 就 是 如 果 两 个 64 位 的 加 法 是 可 以 同 时 进 行 的 2010-10-8 22:29:19 杨 老 师 (283451437) 是 的, 但 是 你 必 须 用 SSE 指 令 2010-10-8 22:28:22 solo estoy(276441700) 哦 2010-10-8 22:28:32 solo estoy(276441700) 就 是 多 了 另 一 套 指 令 集 2010-10-8 22:30:26 王 超 (929417851) 那 就 是 说 ALU 有 专 门 的 信 号, 它 指 示 做 的 是 两 个 64 位 的 还 是 一 个 128 位 的? 2010-10-8 22:29:34 solo estoy(276441700) 或 者 更 多 更 短 的 数 据 2010-10-8 22:31:56 杨 老 师 (283451437) 具 体 实 现 的 时 候 可 以 有 专 门 的 信 号, 也 可 以 不 一 定 2010-10-8 22:32:15 杨 老 师 (283451437) 通 常 如 果 用 SSE 指 令 的 话 是 有 另 一 个 信 号 的 2010-10-8 22:38:00 杨 老 师 (283451437) 好 像 你 们 组 成 原 理 也 是 以 奔 腾 III 做 例 子 的?
2010-10-8 22:37:13 solo estoy(276441700) 当 时 好 像 没 有 针 对 具 体 的 哪 款 处 理 器 讲 2010-10-8 22:39:28 杨 老 师 (283451437) 哦 2010-10-8 22:39:52 王 超 (929417851) 讲 指 令 格 式 时 主 讲 过 奔 腾 2010-10-8 22:37:55 solo estoy(276441700) 讲 的 大 部 分 都 是 原 理 2010-10-8 22:40:06 杨 老 师 (283451437) 我 看 任 老 师 的 课 件 好 像 基 本 上 是 按 照 奔 腾 3~core 来 讲 的 2010-10-8 22:39:49 solo estoy(276441700) 存 储 系 统 的 时 候 到 Cache 讲 过 奔 腾 的 哈 佛 结 构 和 两 级 Cache 2010-10-8 22:43:12 杨 老 师 (283451437) 嗯 2010-10-8 22:45:58 杨 老 师 (283451437) 接 口 第 二 章 大 家 联 系 到 组 成 原 理 学 的 知 识, 就 比 较 容 易 理 解 为 什 么 是 这 样 的 设 计 2010-10-8 22:46:03 solo estoy(276441700) 貌 似 是 ALU 内 部 各 个 部 件 都 是 并 行 的 所 以 只 要 有 信 号 把 进 位 C 给 屏 蔽 掉 就 能 实 现 较 短 位 的 数 据 的 并 行 相 加? 2010-10-8 22:49:53 杨 老 师 (283451437) 关 键 是 处 理 进 位 2010-10-8 22:50:09 杨 老 师 (283451437) 尤 其 是 到 数 据 边 界 的 地 方 2010-10-8 22:51:13 杨 老 师 (283451437) 比 如 两 个 64 位 数 据 加, 在 位 63 的 地 方 就 要 注 意 了 2010-10-8 22:50:02 solo estoy(276441700) 这 个 时 候 要 把 63 位 的 进 位 放 到 一 个 比 如 寄 存 器 里 然 后 高 位 的 另 外 64 位 加 法 把 低 位 的 进 位 用 信 号 置 零 是 这 样 吗 2010-10-8 22:52:50 杨 老 师 (283451437) 过 两 天 我 会 上 传 一 套 原 版 的 丛 书, 专 门 讲 IA-32 与 Intel-64 系 统 编 程 的, 有 兴 趣 的 同 学 可 以
去 研 究 研 究 2010-10-8 22:53:38 杨 老 师 (283451437) 那 是 Intel 为 系 统 程 序 员 写 的, 包 括 了 全 部 指 令 的 语 法 描 述 和 各 类 CPU 内 部 结 构 2010-10-8 22:54:02 杨 老 师 (283451437) 嗯 2010-10-8 22:51:16 solo estoy(276441700) 很 好 很 强 大 2010-10-8 22:51:41 solo estoy(276441700) 现 在 明 白 多 了 谢 谢 老 师 2010-10-8 22:54:32 辉 火 顽 石 <wc3lg@sina.com> 现 在 alu 用 的 不 是 组 间 并 行, 组 内 串 行 的 吗? 2010-10-8 22:54:45 辉 火 顽 石 <wc3lg@sina.com> 我 记 得 当 时 组 成 原 理 好 像 是 这 么 说 的 2010-10-8 22:52:24 solo estoy(276441700) 貌 似 都 有 的 吧 2010-10-8 22:55:31 杨 老 师 (283451437) 那 也 要 看 组 有 多 大, 具 体 到 CORE 的 ALU, 他 不 会 那 么 详 细 地 描 述 其 实 现 的, 呵 呵 2010-10-8 22:53:04 solo estoy(276441700) 呃 这 是 机 密 2010-10-8 22:56:12 辉 火 顽 石 <wc3lg@sina.com> 如 果 64 位 直 接 并 行 岂 不 是 电 路 很 复 杂? 嘿 嘿, 你 知 道 的 太 多 了 2010-10-8 22:53:51 solo estoy(276441700) 先 四 位 并 行 啊 2010-10-8 22:54:03 solo estoy(276441700) 然 后 再 组 成 16 位 再 组 成 64 位 2010-10-8 22:57:23 杨 老 师 (283451437) [ 表 情 ] 组 成 原 理 学 的 很 好, 呵 呵 *************************************************** solo estoy 22:19:39 杨 老 师 SMT 同 时 多 线 程 处 理 器 是 什 么
solo estoy 22:19:48 和 我 们 讲 的 超 线 程 一 样 吗 杨 老 师 22:20:35 超 线 程 可 以 认 为 是 Inttel 实 现 的 SMT 处 理 器 杨 老 师 22:20:57 所 以 我 们 超 线 程 那 一 部 分 提 到 了 SMT solo estoy 22:21:05 哦 就 是 和 CMP 对 多 核 一 样 的 学 术 语 言? solo estoy 22:21:20 记 得 好 像 提 过 但 是 课 件 和 书 上 都 找 不 到 杨 老 师 22:21:23 在 学 术 界 大 家 认 同 的 名 词 是 SMT( 同 时 多 线 程 技 术 ) solo estoy 22:21:34 可 能 当 时 这 部 分 没 做 笔 记 杨 老 师 22:21:58 哦, 我 是 上 课 的 头 天 晚 上 才 把 他 加 到 课 件 中 的, 还 没 来 得 及 上 传 杨 老 师 22:22:32 你 们 上 课 的 时 候 注 意 一 下, 我 经 常 会 在 头 天 备 课 的 时 候 临 时 加 点 东 西 进 去, 你 们 上 课 的 时 候 对 照 打 印 的 课 件 补 充 一 下 solo estoy 22:22:46 好 的 杨 老 师 22:23:30 SMP SMT 和 CMP 是 目 前 讨 论 体 系 结 构 的 时 候 出 现 的 比 较 多 的 英 文 缩 写 solo estoy 22:25:32 那 个 还 有 在 内 存 消 歧 那 部 分 里 有 个 特 殊 的 智 能 算 法 来 预 测 一 个 LOAD 是 否 可 以 在 它 前 面 的 STORE 操 作 之 前 执 行, 这 个 特 殊 智 能 算 法 是 什 么 啊, 在 网 上 也 找 不 到 杨 老 师 22:26:28 这 个 其 实 很 简 单 的, 首 先 有 一 个 指 令 窗, 比 如 窗 内 有 20 条 指 令, 那 么 内 存 消 歧 就 是 针 对 某 个 LOAD 指 令, 在 这 个 指 令 窗 中 看 是 不 是 能 尽 量 向 前 提, 提 到 不 对 结 果 产 生 影 响 的 最 前 面 所 谓 对 结 果 会 产 生 影 响 就 是 如 果 你 吧 LOAD x 指 令 提 前 到 了 在 此 前 使 用 X 的 指 令 之 前, 就 会 出 问 题 了
solo estoy 22:29:46 判 断 出 的 结 果 也 不 会 在 影 响 到 全 局 不 管 是 否 提 前 都 只 做 一 次 判 断 来 提 高 速 度? 杨 老 师 22:29:51 如 : add a,x mov c,d store a load x 你 认 为 load x 提 前 到 哪 是 最 优 而 且 是 安 全 的 solo estoy 22:30:52 add 结 束 了 吧 杨 老 师 22:30:55 是 的 solo estoy 22:31:03 要 不 会 两 条 指 令 同 时 读 X solo estoy 22:31:18 可 能 会 出 现 读 取 数 据 时 的 错 误 杨 老 师 22:32:01 内 存 消 歧 可 以 改 成 下 面 的 序 列 add a,x load x mov c,d store a ***************************************************** 2010-10-11 22:35:08 杨 老 师 (283451437) 我 想 问 一 个 问 题 2010-10-11 22:35:56 杨 老 师 (283451437) 如 果 是 双 流 水 的 超 标 量 结 构, add a,x mov c,d store a load x 的 load 提 前 到 哪 比 较 好 2010-10-11 22:37:40 solo estoy(276441700) 我 觉 得 可 以 和 add 一 起 执 行 了 吧
2010-10-11 22:38:07 杨 老 师 (283451437) 你 觉 得 可 以 吗? 2010-10-11 22:38:14 徐 基 明 (344207472) add a,x load x mov c,d store a 这 样? 2010-10-11 22:38:55 solo estoy(276441700) 但 是 还 是 觉 得 同 时 读 x 会 有 问 题 2010-10-11 22:38:52 徐 基 明 (344207472) 不 对 2010-10-11 22:39:07 杨 老 师 (283451437) add a,x load x 这 两 个 配 对 合 不 合 适? 大 家 再 想 想 2010-10-11 22:39:54 杨 老 师 (283451437) 可 能 我 这 个 序 列 写 的 有 问 题, 不 好 意 思, 我 从 新 写 2010-10-11 22:40:06 徐 基 明 (344207472) add a,x load x 会 不 会 冲 突 2010-10-11 22:40:52 杨 老 师 (283451437) add a,b a=a+b mov c,d store a load x ; 将 存 储 器 X 地 址 内 容 读 到 a 2010-10-11 22:40:59 杨 老 师 (283451437) 这 样 就 清 楚 了 2010-10-11 22:41:54 王 研 昊 (243962712) store a 是 干 嘛 的 啊 2010-10-11 22:42:07 杨 老 师 (283451437) 如 果 是 这 样 的 话, 双 流 水, 该 怎 么 乱 序 2010-10-11 22:42:17 solo estoy(276441700) store a 不 应 该 是 写 到 内 存 吗
2010-10-11 22:42:52 杨 老 师 (283451437) 这 个 题 一 改 变 的 很 阴 险 了, 呵 呵 2010-10-11 22:43:46 徐 基 明 (344207472) add a,x mov c,d load x store a 感 觉 这 样 应 该 可 以 2010-10-11 22:44:32 杨 老 师 (283451437) add a,b a=a+b mov c,d store a load x ; 将 存 储 器 X 地 址 内 容 读 到 a 2010-10-11 22:45:07 solo estoy(276441700) 不 太 理 解 那 条 注 释 2010-10-11 22:45:05 杨 老 师 (283451437) 这 个 程 序 如 果 是 这 样, 就 只 能 是 add a,b mov c,d store a load x 2010-10-11 22:45:30 杨 老 师 (283451437) 因 为 store a 和 load x 是 冲 突 的 2010-10-11 22:45:57 徐 基 明 (344207472) store a load x 是 这 两 句 组 合 起 来 完 成 将 存 储 器 X 地 址 内 容 读 到 a 的 操 作 吧 2010-10-11 22:45:56 王 研 昊 (243962712) 是 因 为 寄 存 器 堆 不 可 以 同 时 进 行 读 写 两 种 操 作 吧 2010-10-11 22:46:18 solo estoy(276441700) load x 装 载 的 x 是 到 哪 里 的 2010-10-11 22:46:57 solo estoy(276441700) 寄 存 器 堆 吗 2010-10-11 22:47:15 杨 老 师 (283451437)
我 来 解 释 一 下 啊 2010-10-11 22:48:46 杨 老 师 (283451437) store 是 将 寄 存 器 a 的 内 容 写 到 地 址 a 中 2010-10-11 22:49:10 杨 老 师 (283451437) load 是 将 地 址 x 的 内 容 读 到 寄 存 器 a 中 2010-10-11 22:49:24 杨 老 师 (283451437) 这 样 解 释 后, 大 家 再 看 能 不 能 乱 序 2010-10-11 22:49:26 王 研 昊 (243962712) 寄 存 器 a, 地 址 a? 2010-10-11 22:49:34 徐 基 明 (344207472) 就 是 写 后 读 了 2010-10-11 22:49:54 solo estoy(276441700) a 是 个 地 址 指 针 寄 存 器? 2010-10-11 22:49:56 杨 老 师 (283451437) 嗯, 都 是 a 但 是 意 义 不 一 样 2010-10-11 22:50:09 杨 老 师 (283451437) load 和 store 中 的 寄 存 器 a 是 隐 含 操 作 数 2010-10-11 22:50:17 杨 老 师 (283451437) 不 过 这 都 不 是 X86 汇 编 2010-10-11 22:50:43 徐 基 明 (344207472) 寄 存 器 a 是 寄 存 器 名 字 吧, 相 当 于 汇 编 语 言 里 的 EAX 之 类 的 2010-10-11 22:50:59 杨 老 师 (283451437) 在 大 型 机 中, 寄 存 器 a 称 为 累 加 器,load 和 store 都 是 针 对 这 个 寄 存 器 的 2010-10-11 22:51:21 solo estoy(276441700) 哦 那 把 store a 换 成 store d 就 好 理 解 了 2010-10-11 22:51:30 杨 老 师 (283451437) 是 不 是 你 们 现 在 的 组 成 原 理 教 材 没 有 交 代 这 种 代 码 了? 2010-10-11 22:51:55 徐 基 明 (344207472) 有, 但 是 介 绍 的 比 较 简 单
2010-10-11 22:52:16 杨 老 师 (283451437) 哈 哈 哈 哈, 我 是 故 意 写 成 store a 的 2010-10-11 22:52:23 solo estoy(276441700) 当 时 load 指 令 是 有 两 个 操 作 数 2010-10-11 22:52:35 solo estoy(276441700) 并 且 没 有 store 2010-10-11 22:52:44 杨 老 师 (283451437) 没 有 store? 是 用 st? 2010-10-11 22:53:09 solo estoy(276441700) 恩 2010-10-11 22:53:43 solo estoy(276441700) 存 数 ST 取 数 LD 2010-10-11 22:54:00 杨 老 师 (283451437) 好 现 在 解 释 清 楚 了 吧, 我 们 继 续 看 题,MS 要 关 网 了? 2010-10-11 22:54:15 solo estoy(276441700) 五 分 钟 2010-10-11 22:54:14 徐 基 明 (344207472) [ 图 片 ] 2010-10-11 22:54:40 杨 老 师 (283451437) add a,b mov c,d sub b,c load x ; 将 存 储 器 X 地 址 内 容 读 到 a 2010-10-11 22:55:41 杨 老 师 (283451437) 这 个 在 双 流 水 下 怎 么 乱 序 2010-10-11 22:55:57 solo estoy(276441700) add a,b mov c,d load x sub b,c 2010-10-11 22:56:33 杨 老 师 (283451437) 嗯
2010-10-11 22:56:33 徐 基 明 (344207472) 楼 上 +1 2010-10-11 22:57:12 solo estoy(276441700) 这 个 a 就 不 是 刚 才 那 个 地 址 指 针 寄 存 器 了 吧 2010-10-11 22:57:24 王 研 昊 (243962712) load x sub b,c 为 什 么 这 么 写? sub b,c Load x 不 行 么 一 样 吧 2010-10-11 22:57:28 杨 老 师 (283451437) 这 个 a 还 是 累 加 器 2010-10-11 22:57:38 杨 老 师 (283451437) 一 样 的, 并 行 的 没 有 左 右 之 分 的 2010-10-11 22:57:54 solo estoy(276441700) 两 条 流 水 同 时 执 行 2010-10-11 22:58:34 solo estoy(276441700) 就 是 说 和 51 里 的 指 令 一 样 a 就 是 个 累 加 器 2010-10-11 22:58:45 杨 老 师 (283451437) 啊, 能 想 到 51[ 表 情 ] 2010-10-11 22:59:09 solo estoy(276441700) 报 的 SRTP 要 用 2010-10-11 22:59:07 杨 老 师 (283451437) 老 早 的 时 候 计 算 机 的 a 寄 存 器 ax 寄 存 器 啊 都 是 做 累 加 器 的 2010-10-11 22:59:22 杨 老 师 (283451437) 到 现 在 X86 的 ax 寄 存 器 还 叫 累 加 器 2010-10-11 22:59:29 杨 老 师 (283451437) 只 是 不 一 定 当 累 加 器 用 了 ************************************************************ 2010-10-15 22:31:35 陈 亚 昌 (459360293) 老 师 问 一 个 问 题 2010-10-15 22:31:55 陈 亚 昌 (459360293) 各 个 段 的 段 号 是 由 汇 编 器 分 配 的 吗?
2010-10-15 22:32:34 杨 老 师 (283451437) 嗯, 更 正 一 下, 不 叫 段 号, 叫 段 基 地 址 [ 表 情 ] 2010-10-15 22:32:13 杨 老 师 (283451437) 严 格 的 说 是 操 作 系 统 分 配 的 2010-10-15 22:33:11 杨 老 师 (283451437) 杨 老 师 (283451437) 22:32:13 严 格 的 说 是 操 作 系 统 分 配 的 2010-10-15 22:34:10 陈 亚 昌 (459360293) 那 汇 编 器 在 生 成 机 器 码 的 时 候 只 管 偏 移 地 址 吗? 2010-10-15 22:35:10 杨 老 师 (283451437) 不 是 只 管 偏 移 地 址, 段 地 址 也 管 的, 但 是 只 是 在 逻 辑 上 表 示 一 下, 操 作 系 统 在 调 入 程 序 到 内 存 中 的 时 候 会 对 段 地 址 重 新 定 位 2010-10-15 22:35:24 杨 老 师 (283451437) 定 位 到 真 正 的 地 址 上 2010-10-15 22:36:03 陈 亚 昌 (459360293) 也 就 是 说 段 寄 存 器 的 内 容 是 由 os 赋 值 的 了? 2010-10-15 22:38:00 杨 老 师 (283451437) 嗯, 严 格 意 义 上 是 这 样 的 2010-10-15 22:40:04 陈 亚 昌 (459360293) 那 生 成 的 机 器 码 只 能 在 os 中 运 行 吗? 2010-10-15 22:40:29 陈 亚 昌 (459360293) 没 法 在 操 作 系 统 启 动 前 运 行? 2010-10-15 22:41:18 杨 老 师 (283451437) 不 啊 2010-10-15 22:42:00 杨 老 师 (283451437) 上 面 说 的 都 是 在 操 作 系 统 下 的 程 序 2010-10-15 22:43:13 杨 老 师 (283451437) 如 果 你 要 脱 离 操 作 系 统, 那 可 以 用 ORG 伪 指 令 来 指 定 地 址, 但 也 是 段 内 的 地 址, 此 时 段 的 地 址 就 要 看 你 这 个 程 序 要 被 安 排 在 什 么 物 理 地 址 下 了 2010-10-15 22:44:30 杨 老 师 (283451437) 比 如 BIOS 的 程 序, 就 会 由 程 序 直 接 定 义 段 地 址, 但 是 必 须 保 证 这 个 可 执 行 程 序 确 实 在 这 个
物 理 地 址 内 执 行 2010-10-15 22:45:28 陈 亚 昌 (459360293) 那 就 没 有 办 法 自 己 决 定 程 序 运 行 的 段 地 址 码? 2010-10-15 22:45:38 杨 老 师 (283451437) 这 就 是 为 什 么 要 约 定 开 机 的 第 一 条 指 令 必 须 在 FFFF:0000 的 位 置 2010-10-15 22:46:56 杨 老 师 (283451437) 呵 呵, 在 实 地 址 模 式 下, 你 可 以 自 己 定 义 段 地 址, 所 有 地 址 都 是 开 放 的, 但 是 你 的 代 码 在 那 个 地 址, 你 的 数 据 段 在 哪 个 地 址 是 由 操 作 系 统 调 用 的 时 候 安 排 的 2010-10-15 22:48:05 杨 老 师 (283451437) 或 者 是 系 统 约 定 的 2010-10-15 22:48:30 杨 老 师 (283451437) 比 如, 在 实 地 址 模 式 下, 系 统 有 几 个 约 定,F000:0000H 内 是 BIOS 2010-10-15 22:48:55 杨 老 师 (283451437) E000:0000 是 开 机 的 BASIC( 现 在 已 经 没 有 了 ) 2010-10-15 22:49:03 陈 亚 昌 (459360293) 不 是 ffff:0000 吗? 2010-10-15 22:49:20 陈 亚 昌 (459360293) bois 的 首 地 址 2010-10-15 22:49:48 杨 老 师 (283451437) A000:0000 开 始 是 显 示 内 存 区,C000:0000 是 显 示 器 内 的 程 序 2010-10-15 22:50:15 杨 老 师 (283451437) FFFF:0000 是 不 是 等 于 F000:FFF0? 2010-10-15 22:51:05 陈 亚 昌 (459360293) 杨 老 师 (283451437) 22:48:30 比 如, 在 实 地 址 模 式 下, 系 统 有 几 个 约 定,F000:0000H 内 是 BIOS 2010-10-15 22:51:13 杨 老 师 (283451437) 还 记 得 课 堂 上 说 过 的, 统 一 物 理 地 址 可 以 由 多 个 逻 辑 地 址 对 应? 2010-10-15 22:51:58 杨 老 师 (283451437) F000:0000H 内 指 的 是 F000:0000H~F000:FFFFH 2010-10-15 22:52:19 杨 老 师 (283451437)
这 刚 好 是 一 个 64K 的 段 啊 2010-10-15 22:52:37 陈 亚 昌 (459360293) 知 道 了 以 为 首 地 址 就 是 程 序 开 始 地 址 2010-10-15 22:52:49 杨 老 师 (283451437) 不 一 定 的 2010-10-15 22:54:09 陈 亚 昌 (459360293) 老 师 我 这 是 用 别 人 的 号 我 这 就 换 自 己 的 2010-10-15 22:54:23 奕 柘 (369925785) 更 换 完 毕... 2010-10-15 22:54:51 杨 老 师 (283451437) 呵 呵 2010-10-15 22:55:57 奕 柘 (369925785) 关 于 寻 址 模 式 有 几 个 疑 问 2010-10-15 22:56:33 杨 老 师 (283451437) 嗯, 你 说 2010-10-15 22:56:38 奕 柘 (369925785) 存 储 器 寻 址 里 面, 不 同 的 寻 址 模 式 可 以 有 同 样 的 效 果 吧? 2010-10-15 22:56:55 杨 老 师 (283451437) 嗯 2010-10-15 22:57:20 杨 老 师 (283451437) 对 一 个 存 储 单 元 的 访 问, 可 以 用 多 种 不 同 的 寻 址 方 式, 是 一 样 的 2010-10-15 22:58:11 奕 柘 (369925785) 哦 2010-10-15 22:58:41 奕 柘 (369925785) 那 可 以 有 mov ax,bx[3000h] 这 种 表 示 方 式 吗? 2010-10-15 22:58:44 杨 老 师 (283451437) 寻 址 方 式 多, 只 是 为 了 方 便 大 家 编 程 2010-10-15 22:58:58 杨 老 师 (283451437) 没 有 这 种 表 示 法
2010-10-15 22:59:32 奕 柘 (369925785) 这 样 不 等 效 于 mov ax,[bx+3000h] 吗? 2010-10-15 23:00:01 杨 老 师 (283451437) [bx+3000h]=3000h[bx] 2010-10-15 23:00:22 奕 柘 (369925785) 不 可 以 等 于 bx[3000h]? 2010-10-15 23:00:24 奕 柘 (369925785) why? 2010-10-15 23:00:29 杨 老 师 (283451437) bx[3000h] 汇 编 器 会 认 为 不 对 2010-10-15 23:01:46 杨 老 师 (283451437) 这 只 是 在 语 法 上 不 支 持 而 已 2010-10-15 23:01:57 奕 柘 (369925785) 里 面 有 什 么 道 理 可 讲 吗? 还 是 就 这 么 规 定? 2010-10-15 23:02:09 杨 老 师 (283451437) 语 法 上 的 规 定 2010-10-15 23:02:15 奕 柘 (369925785) 哦 2010-10-15 23:02:34 奕 柘 (369925785) 还 有 个 问 题 2010-10-15 23:03:04 奕 柘 (369925785) 今 天 上 课 说 的 自 己 写 的 程 序 不 能 用 win 直 接 双 击 运 行 是 因 为 寻 址 的 位 数 不 一 样 吗? 2010-10-15 23:04:27 杨 老 师 (283451437) 两 个 原 因, 因 为 我 们 的 程 序 执 行 完 就 退 出, 所 以 双 击 的 话, 还 来 不 及 看 到 结 果 窗 口 就 关 闭 了 2010-10-15 23:05:18 杨 老 师 (283451437) 其 次, 是 同 学 们 无 意 中 发 现 的, 双 击 执 行 过 的 EXE 文 件, 需 要 重 新 编 译 连 接 才 行 2010-10-15 23:05:57 杨 老 师 (283451437) 这 个 现 象 后 来 我 也 发 现 过, 具 体 原 因 还 没 有 仔 细 研 究 过, 是 病 毒 干 扰 还 是 OS 就 这 样 的 现 在 还 不 清 楚, 我 想 这 和 那 个 模 拟 出 来 的 实 地 址 模 式 (V86) 的 机 制 可 能 有 关 2010-10-15 23:06:06 奕 柘 (369925785)
可 以 加 指 令 来 实 现 类 似 pause 来 解 决 吧 2010-10-15 23:06:10 杨 老 师 (283451437) 可 以 加 指 令 2010-10-15 23:26:30 奕 柘 (369925785) 又 有 个 问 题 了... 2010-10-15 23:26:41 杨 老 师 (283451437) :) 2010-10-15 23:27:21 奕 柘 (369925785) 用 汇 编 直 接 写 win32 运 行 的 程 序 和 v86 的 程 序 有 什 么 不 一 样 地 方? 在 指 令 集 方 面 2010-10-15 23:28:22 杨 老 师 (283451437) Win32 扩 充 了 很 多 指 令, 已 有 指 令 也 有 了 数 据 上 的 扩 充 2010-10-15 23:28:52 杨 老 师 (283451437) 包 括 出 现 了 3 地 址 指 令 *************************************************************8 2010-10-19 22:26:41 顺 (395709266) IN AL,259 是 不 对 的 吧? 2010-10-19 22:26:57 顺 (395709266) 超 出 了 256? 2010-10-19 22:30:27 杨 老 师 (283451437) 是 的 2010-10-19 22:30:31 孙 宏 亮 (243537829) 老 师, 什 么 叫 保 留 名 啊? 2010-10-19 22:30:41 杨 老 师 (283451437) IN 的 直 接 寻 址 只 能 是 0~255 2010-10-19 22:31:01 杨 老 师 (283451437) 保 留 字 啊 2010-10-19 22:31:29 孙 宏 亮 (243537829) 百 度 未 果, 故 问 之 2010-10-19 22:31:58 顺 (395709266) IN AL,DX
2010-10-19 22:32:06 王 研 昊 (243962712) 就 是 Keyword 吧 2010-10-19 22:32:32 顺 (395709266) 这 句 指 令 中 为 什 么 写 为 DX 了? 2010-10-19 22:32:48 顺 (395709266) 这 与 255 不 矛 盾 吧? 2010-10-19 22:33:03 杨 老 师 (283451437) IN AL,DX 是 间 接 寻 址 方 式 2010-10-19 22:33:33 杨 老 师 (283451437) 保 留 字 比 如 在 汇 编 里 DB DW SEGMENT 等 2010-10-19 22:33:47 杨 老 师 (283451437) 就 比 如 C 语 言 里 也 有 保 留 字 的 啊 2010-10-19 22:33:57 杨 老 师 (283451437) if else while 2010-10-19 22:34:17 孙 宏 亮 (243537829) 哦 理 解 了 2010-10-19 22:37:00 姜 立 波 (928980272) 那 windows 不 是 吧? 2010-10-19 22:37:19 solo estoy(276441700) 老 师 begin 是 保 留 字 吗 2010-10-19 22:37:26 潘 洲 扬 (673768075) begin 跟 windows 是 不 是 保 留 字 啊? 2010-10-19 22:37:34 杨 老 师 (283451437) begin 和 windows 都 不 是 2010-10-19 22:39:36 顺 (395709266) 若 AL 中 的 内 容 为 74H, 则 执 行 CMP AL,47H 后,AL 的 内 容 为? 2010-10-19 22:41:33 solo estoy(276441700) AL 应 该 不 变 FLAG 位 置 1 吧 2010-10-19 22:42:08 solo estoy(276441700)
用 于 比 较 大 小 的 标 志 位 2010-10-19 22:42:10 solo estoy(276441700) 记 得 好 像 是 2010-10-19 22:43:10 杨 老 师 (283451437) 顺 (395709266) 22:39:36 若 AL 中 的 内 容 为 74H, 则 执 行 CMP AL,47H 后,AL 的 内 容 为? AL 保 持 不 变 2010-10-19 22:45:33 顺 (395709266) MOV AX,[BX+BP+NUM] 2010-10-19 22:45:44 顺 (395709266) 这 句 是 不 对 的 吧? 2010-10-19 22:49:17 杨 老 师 (283451437) BX 和 BP 都 是 基 址 寄 存 器, 在 我 们 的 寻 址 方 式 里 没 有 基 址 + 基 址 这 么 奇 怪 的 寻 址 方 式 2010-10-19 22:49:40 顺 (395709266) 明 白 了 2010-10-19 22:49:54 王 琉 (280025603) 两 个 表 示 的 意 义 都 不 一 样 2010-10-19 22:50:00 杨 老 师 (283451437) 还 有,BX 缺 省 问 DS 段,BP 缺 省 为 SS 段,[BX+BP] 就 没 法 解 释 了 2010-10-19 22:52:21 顺 (395709266) 两 补 码 整 数 9CH 和 7AH 相 加 后 会 怎 样? 2010-10-19 22:52:45 顺 (395709266) 会 是 有 溢 出 但 无 进 位 吗? 2010-10-19 22:53:15 solo estoy(276441700) 这 个 没 溢 出 吧 2010-10-19 22:53:26 杨 老 师 (283451437) 两 个 都 是 8 位 数? 2010-10-19 22:53:27 王 琉 (280025603) 溢 出 了 吧
2010-10-19 22:53:43 杨 老 师 (283451437) 这 两 个 数 加 不 会 溢 出 的 2010-10-19 22:54:20 杨 老 师 (283451437) 倒 是 有 进 位 2010-10-19 22:56:50 杨 老 师 (283451437) 一 正 一 负 两 个 数 加, 怎 么 会 溢 出? 2010-10-19 22:59:03 solo estoy(276441700) 顶 老 师 2010-10-19 23:02:59 顺 (395709266) 谢 谢 杨 老 师 哦 2010-10-19 23:04:53 顺 (395709266) JMP DWORD PTR [SI][BX] 的 寻 址 方 式 是? 2010-10-19 23:06:00 杨 老 师 (283451437) 段 间 间 接 寻 址 2010-10-19 23:13:38 顺 (395709266) 从 键 盘 输 入 十 进 制 数 3042, 则 它 所 对 应 的 非 压 缩 型 BCD 码 的 存 储 形 式 为? ********************************************** 2010-10-20 22:29:37 solo estoy(276441700) 杨 老 师 补 充 作 业 的 第 18 题 有 错 误 吧 2010-10-20 22:30:33 solo estoy(276441700) 杨 老 师 在 么? 2010-10-20 22:30:39 杨 老 师 (283451437) 在 2010-10-20 22:30:48 杨 老 师 (283451437) 正 在 打 开 补 充 作 业 2010-10-20 22:31:03 solo estoy(276441700) 那 个 LT 不 是 运 算 符 吗 2010-10-20 22:31:36 杨 老 师 (283451437) 哈 哈, 一 个 小 失 误, 那 你 就 随 便 改 个 什 么 名 字 就 OK 了
2010-10-20 22:31:43 solo estoy(276441700) OK 2010-10-20 22:31:48 solo estoy(276441700) 改 成 NUM3 了 2010-10-20 22:31:56 杨 老 师 (283451437) 行 2010-10-20 22:52:14 小 刀 (505958380) 老 师,cmd 直 接 dubug 后 -u,debug 的 是 什 么 代 码 2010-10-20 22:52:37 杨 老 师 (283451437) 机 器 码 是 十 六 进 制 的, 反 汇 编 的 是 汇 编 格 式 2010-10-20 23:06:02 潘 洲 扬 (673768075) 老 师, 变 量 在 数 据 段, 附 加 段, 堆 栈 段 中 使 用 是 不 是 说 只 是 变 量 声 明 不 能 在 代 码 段 中 出 现, 而 变 量 名 可 以 啊? 2010-10-20 23:06:45 杨 老 师 (283451437) 不 是, 在 代 码 段 中 也 可 以 定 义 变 量, 但 这 种 用 法 很 少 见 2010-10-20 23:10:15 杨 老 师 (283451437) 常 规 情 况 下 确 实 不 在 代 码 段 中 出 现, 但 并 不 表 示 非 正 常 编 码 下 会 出 现 2010-10-20 23:10:28 杨 老 师 (283451437) 比 如 整 个 程 序 没 有 数 据 段, 只 有 代 码 段 的 情 况 下 2010-10-20 23:10:32 潘 洲 扬 (673768075) 哦 2010-10-20 23:10:48 潘 洲 扬 (673768075) 难 怪 课 件 上 的 例 子 代 码 段 里 面 有 变 量 2010-10-20 23:11:28 杨 老 师 (283451437) 嗯, 这 种 只 有 代 码 段 的 程 序 现 在 很 少 有 了 2010-10-20 23:12:06 田 小 华 (1360655516) 潘 兄 研 究 深 刻 哦 2010-10-20 23:12:15 潘 洲 扬 (673768075) 我 智 商 不 够
2010-10-20 23:13:45 杨 老 师 (283451437) 你 们 现 在 一 定 要 把 DEBUG 的 操 作 弄 熟, 后 面 写 程 序 调 试 的 时 候 很 有 用 ****************************************************** 2010-10-22 21:23:58 王 老 师 (1137985678) NUM1 DB 1,2,3 MOV AX,NUM1 是 可 以 的, 不 需 要 加 OFFSET, 因 为 汇 编 器 做 了 此 工 作 2010-10-22 22:30:49 solo estoy(276441700) 老 师 怎 么 在 屏 幕 上 打 印 出 来 数 字 呢 2010-10-22 22:31:26 solo estoy(276441700) 02H 对 应 的 是 打 字 符 2010-10-22 22:31:36 杨 老 师 (283451437) 数 字 要 转 成 ASCII 码 2010-10-22 22:31:45 solo estoy(276441700) 每 次 都 要 加 48 么 2010-10-22 22:32:16 solo estoy(276441700) 这 样 有 点 烦 躁 2010-10-22 22:32:54 杨 老 师 (283451437) 是 的, 汇 编 就 是 这 样, 要 耐 得 住 繁 2010-10-22 22:36:03 solo estoy(276441700) 呃 老 师 0 到 9 还 好 办 2010-10-22 22:36:14 solo estoy(276441700) 两 位 数 以 上 加 48 就 不 管 用 了 2010-10-22 22:36:18 solo estoy(276441700) 这 个 时 候 怎 么 搞 2010-10-22 22:36:50 杨 老 师 (283451437) 不 断 的 除 以 10 啊, 取 出 各 位 2010-10-22 22:37:58 杨 老 师 (283451437) 2 进 制 转 十 进 制, 十 进 制 转 ASCII 码 ASCII 码 转 二 进 制, 都 是 汇 编 基 本 程 序 了
2010-10-22 22:38:38 solo estoy(276441700) 恩 2010-10-22 22:44:28 solo estoy(276441700) oh yeah 除 了 好 几 次 显 示 出 来 了 *********************************************** 2010-10-24 15:05:11 Matthew(972733370) 谁 教 一 下 汇 编 的 debug 啊 2010-10-24 15:07:33 杨 老 师 (283451437) 看 一 下 汇 编 语 言 上 机 过 程 的 课 件 2010-10-24 15:08:05 Matthew(972733370) 是 不 是 路 径 名 中 不 能 有 中 文 啊 2010-10-24 15:11:08 杨 老 师 (283451437) 你 是 在 CMD 中 执 行 的 话, 路 径 名 有 中 文 会 很 麻 烦 2010-10-24 15:30:49 Matthew(972733370) 是 debug.exe 还 是 masm.exe 将 asm 生 成 obj 啊 2010-10-24 15:32:27 杨 老 师 (283451437) masm 2010-10-24 15:32:59 Matthew(972733370) 那 debug 的 作 用 是 什 么? 2010-10-24 15:33:19 Matthew(972733370) debug.exe 的 作 用? 2010-10-24 15:34:07 杨 老 师 (283451437) 调 试 程 序 2010-10-24 15:48:30 杨 老 师 (283451437) 因 为 是 命 令 行, 为 了 省 去 麻 烦, 大 家 可 以 把.ASM 文 件 放 在 MASM 的 同 一 个 文 件 夹 里 2010-10-24 15:49:12 杨 老 师 (283451437) 还 要 注 意 一 个 问 题, 因 为 我 们 是 在 虚 拟 8086 下, 所 以 所 有 有 关 的 文 件 夹 的 名 字 和 主 文 件 名 请 小 于 8 个 字 符 2010-10-24 15:50:16 杨 老 师 (283451437) Matthew(972733370) 15:46:28
老 师, 为 什 么 会 出 现 unable to open input file: sample.asm 截 屏 传 上 来 2010-10-24 16:47:28 郑 海 中 <zhenghaizhong@foxmail.com> 不 能 打 开 文 件 是 因 为 文 件 名 太 长 了, 改 短 点 就 可 以 了 2010-10-24 21:46:33 杨 老 师 (283451437) 关 于 实 验 一, 请 大 家 自 学 课 本 上 的 附 录 A, 以 及 汇 编 语 言 上 机 过 程 的 PPT 2010-10-25 18:00:33 胡 敬 羽 (474539648) 老 师, 我 想 问 一 下 这 是 什 么 情 况 呢 开 始 怎 么 是 颗 心 啊 2010-10-25 18:04:46 杨 老 师 (283451437) 你 是 不 是 做 的 输 入 字 符 串 然 后 输 出 啊 2010-10-25 18:05:02 胡 敬 羽 (474539648) 不 是, 就 是 直 接 输 出 70 个 A 2010-10-25 18:05:13 杨 老 师 (283451437) 直 接 输 出 70 个 A? 2010-10-25 18:05:18 胡 敬 羽 (474539648) 是 啊 2010-10-25 18:05:22 杨 老 师 (283451437) 程 序 贴 上 来 2010-10-25 18:05:34 胡 敬 羽 (474539648) STACK SEGMENT STACK 'STACK' DW 32 DUP(?) STACK ENDS CODE SEGMENT ASSUME SS:STACK,CS:CODE START:MOV AX,STACK MOV SS,AX MOV AH,07H MOV AL,03H INT 10H MOV AH,0EH INT 10H MOV AH,0AH MOV AL,41H
MOV BX,0000H MOV CX,0046H INT 10H MOV AH,4CH INT 21H CODE ENDS END START 2010-10-25 18:07:39 杨 老 师 (283451437) MOV AH,07H MOV AL,03H INT 10H MOV AH,0EH INT 10H 2010-10-25 18:07:48 杨 老 师 (283451437) 你 这 两 句 是 想 干 什 么 的? 2010-10-25 18:08:33 胡 敬 羽 (474539648) MOV AH,07H MOV AL,03H INT 10H 设 置 为 80*25 彩 色 文 本 2010-10-25 18:08:46 杨 老 师 (283451437) 设 定 显 示 方 式 AH 应 该 是 0, 不 是 7 2010-10-25 18:09:27 杨 老 师 (283451437) 你 可 以 看 一 下 书 上 的 附 录 C 2010-10-25 18:09:33 胡 敬 羽 (474539648) 好 的 2010-10-25 18:12:09 杨 老 师 (283451437) 附 录 C 的 第 二 列 就 是 AH 的 值 2010-10-25 18:12:32 胡 敬 羽 (474539648) OK 2010-10-25 18:14:45 胡 敬 羽 (474539648) 老 师 貌 似 是 MOV AH,0EH INT 10H 的 问 题
2010-10-25 18:15:10 胡 敬 羽 (474539648) 这 个 我 具 体 也 不 知 道 是 干 嘛 的 直 接 就 用 了, 结 果 会 出 现 心, 去 掉 心 就 没 了 2010-10-25 18:17:05 杨 老 师 (283451437) 出 现 心 是 因 为 你 给 AL 赋 值 的 原 因 2010-10-25 18:17:30 杨 老 师 (283451437) ah=7 是 清 屏, 但 是 你 给 的 不 完 整, 所 以 清 屏 不 一 定 有 效 果 2010-10-25 18:17:38 杨 老 师 (283451437) 实 际 上 你 没 有 设 置 显 示 方 式 2010-10-25 18:18:38 杨 老 师 (283451437) MOV AH,0EH INT 10H 也 是 显 示 字 符, 光 标 会 向 前 移 动, 你 这 里 给 AL 赋 值 了, 刚 好 是 心 的 值 2010-10-25 18:19:01 胡 敬 羽 (474539648) 好 巧 啊 2010-10-25 18:19:19 杨 老 师 (283451437) 用 这 个 方 法, 你 们 可 以 试 试 AL=1 到 20H, 都 会 有 不 同 的 字 符 显 示 出 来, 笑 脸 啊, 心 啊, 很 有 趣 的 2010-10-25 18:19:39 杨 老 师 (283451437) 哦, 既 然 谈 到 附 录 C, 我 更 正 一 个 东 西 2010-10-25 18:20:02 杨 老 师 (283451437) 398 页 INT 那 里 第 一 行 的 11H 写 错 了, 是 10H 2010-10-25 22:06:19 胡 敬 羽 (474539648) 杨 老 师, 我 想 做 的 是 输 入 一 个 小 于 7 的 字 符 串 并 输 出 2010-10-25 22:06:39 杨 老 师 (283451437) 嗯 2010-10-25 22:06:52 杨 老 师 (283451437) 你 是 说 字 符 个 数 小 于 7 吧 2010-10-25 22:07:07 胡 敬 羽 (474539648) 但 是 当 我 输 入 小 于 7 的 字 符 串 时, 他 换 行 时 后 面 的 空 格 会 把 输 出 的 前 几 个 字 符 给 覆 盖 掉 2010-10-25 22:07:45 胡 敬 羽 (474539648) 比 如 输 入 5 个 字 符, 前 面 两 个 就 会 被 覆 盖 掉
2010-10-25 22:07:54 杨 老 师 (283451437) 应 该 不 会 这 样, 程 序 贴 上 来 2010-10-25 22:08:05 胡 敬 羽 (474539648) DATA SEGMENT PARS DB 10,?,8 DUP(?),'$' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV DX,OFFSET PARS MOV AH,0AH INT 21H MOV AX,OFFSET PARS+2 MOV PARS,AX MOV AH,2H MOV DL,0AH MOV AH,2H INT 21H MOV DL,0DH MOV AH,2H INT 21H MOV DX,OFFSET PARS+2 MOV AH,09H INT 21H MOV AH,4CH INT 21H CODE ENDS END START 2010-10-25 22:08:55 杨 老 师 (283451437) MOV AX,SEG PARS MOV DS,AX 2010-10-25 22:09:16 杨 老 师 (283451437) 这 个 写 法 不 错, 但 一 般 不 这 样 写, 第 一 句 直 接 写 成 mov ax,data
2010-10-25 22:09:40 胡 敬 羽 (474539648) 哦 2010-10-25 22:10:21 杨 老 师 (283451437) MOV AX,OFFSET PARS+2 MOV PARS,AX MOV AH,2H MOV DL,0AH 你 这 几 句 想 做 啥 的 2010-10-25 22:11:25 胡 敬 羽 (474539648) 将 缓 冲 区 中 的 字 符 串 输 出 来 2010-10-25 22:11:39 胡 敬 羽 (474539648) DL 是 做 换 行 的 2010-10-25 22:12:53 杨 老 师 (283451437) 换 行 是 不 用 提 前 输 出 的 2010-10-25 22:13:31 胡 敬 羽 (474539648) 但 是 现 在 关 键 是 怎 么 会 覆 盖 输 出 的 字 符 串 掉 这 个 问 题 2010-10-25 22:13:54 杨 老 师 (283451437) 因 为 你 这 一 段 是 有 问 题 的 2010-10-25 22:14:13 胡 敬 羽 (474539648) 那 应 该 怎 么 改 呢? 2010-10-25 22:16:07 杨 老 师 (283451437) 我 来 说 一 下 这 个 程 序 的 步 骤 吧 2010-10-25 22:16:15 胡 敬 羽 (474539648) 好 的 2010-10-25 22:16:27 杨 老 师 (283451437) 首 先, 输 入 一 个 字 符 串 后 2010-10-25 22:16:47 杨 老 师 (283451437) 你 应 该 根 据 返 回 的 第 二 个 字 符 知 道 有 多 少 个 字 符 2010-10-25 22:17:15 杨 老 师 (283451437) 然 后 从 第 三 个 字 符 开 始, 在 这 么 多 字 符 的 长 度 后 加 $
2010-10-25 22:17:32 杨 老 师 (283451437) 而 不 是 固 定 这 个 '$' 的 位 置 2010-10-25 22:19:12 杨 老 师 (283451437) 之 后, 你 从 第 三 个 字 节 开 始 作 为 输 出 2010-10-25 22:19:19 杨 老 师 (283451437) 理 解 这 个 意 思 了 吗 2010-10-25 22:19:50 杨 老 师 (283451437) 现 在 我 来 说 你 这 个 程 序 的 问 题 2010-10-25 22:20:00 胡 敬 羽 (474539648) 好 的 2010-10-25 22:21:04 杨 老 师 (283451437) 首 先, 你 固 定 了 '$' 的 位 置 2010-10-25 22:21:19 杨 老 师 (283451437) 它 始 终 在 8 个 字 符 的 字 符 串 最 后, 对 吧 2010-10-25 22:21:28 胡 敬 羽 (474539648) 恩 2010-10-25 22:21:32 杨 老 师 (283451437) 现 在 你 输 入 了 1234 和 回 车 2010-10-25 22:22:04 杨 老 师 (283451437) 但 是, 不 管 是 汇 编 也 好, 还 是 C 语 言 也 好, 当 你 输 入 的 是 回 车 的 时 候, 他 就 只 有 回 车 字 符, 没 有 换 行 字 符 2010-10-25 22:22:32 杨 老 师 (283451437) 那 么 你 现 在 输 入 的 就 是 1,2,3,4, 换 行 2010-10-25 22:22:49 杨 老 师 (283451437) 这 样 你 输 出 这 个 字 符 串 的 时 候 就 是 1234[ 换 行 ] 2010-10-25 22:23:32 杨 老 师 (283451437) 但 是 还 没 完, 因 为 在 $' 前 还 有 3 个 字 符, 他 们 就 是 空 格 了, 于 是 这 三 个 空 格 就 覆 盖 了 你 的 123 2010-10-25 22:23:43 杨 老 师 (283451437) 这 就 是 为 什 么 你 看 到 的 是 ' 4' 了
2010-10-25 22:23:49 胡 敬 羽 (474539648) 是 的 2010-10-25 22:24:35 杨 老 师 (283451437) 所 以 '$' 要 紧 跟 着 输 入 字 符 串 的 最 后 2010-10-25 22:25:36 胡 敬 羽 (474539648) 自 己 输 入 最 后 加 '$'? 2010-10-25 22:25:42 胡 敬 羽 (474539648) 1234$? 2010-10-25 22:26:35 杨 老 师 (283451437) 不 是 2010-10-25 22:26:52 杨 老 师 (283451437) 你 想 想, 缓 冲 过 去 的 第 二 个 字 节 就 是 实 际 字 符 数 啊 2010-10-25 22:27:01 胡 敬 羽 (474539648) 是 的 啊 2010-10-25 22:27:14 杨 老 师 (283451437) 你 把 他 放 到 BX 中, 然 后 字 符 串 的 地 址 加 这 个 BX... 2010-10-25 22:27:29 胡 敬 羽 (474539648) 哦 2010-10-25 22:28:02 奕 柘 (369925785) 杨 老 师 (283451437) 10:22:04 PM 但 是, 不 管 是 汇 编 也 好, 还 是 C 语 言 也 好, 当 你 输 入 的 是 回 车 的 时 候, 他 就 只 有 回 车 字 符, 没 有 换 行 字 符 这 个 是 和 平 台 有 关 系 的 吧?win 下 不 就 是 将 '\n' 表 示 为 回 车 换 行 吗?Linux 下 必 须 用 '\r\n' 才 能 表 示 回 车 换 行 吗? 2010-10-25 22:28:28 杨 老 师 (283451437) WIN 下 的 编 译 器 是 自 动 将 '\n' 扩 充 为 '\r\n' 真 正 的 语 法 '\n' 就 是 '\n' 2010-10-25 22:28:30 奕 柘 (369925785) 明 白 了 2010-10-25 22:28:49 奕 柘 (369925785) 老 师, 想 再 问 下 符 号 地 址 : 假 如 我 在 1000H 处 定 义 了 一 个 变 量 a, 内 存 内 容 为 2000H, BX 的 内 容 是 0040H, 那 在 mov al,a[bx], EA=1040H 还 是 2040H?
2010-10-25 22:33:49 杨 老 师 (283451437) 嗯, 是 1040H 2010-10-25 22:36:28 逐 云 者 (993969332) 我 的 汇 编 出 现 内 存 溢 出 是 什 么 情 况 2010-10-25 22:37:06 奕 柘 (369925785) 64k 不 够 用? 2010-10-25 22:37:11 杨 老 师 (283451437) 贴 程 序 上 来 2010-10-25 22:38:07 逐 云 者 (993969332) STACK SEGMENT STACK STACK DW 32 DUP(?) STACK ENDS CODE SEGMENT ASSUME SS:STACK,CS:CODE START:MOV AX,STACK MOV SS,AX MOV AH,7 MOV AL,2 INT 10H MOV AH,15 INT 10H MOV AH,2 MOV DX,0D28H INT 10H MOV AH,9 MOV AL,0FH MOV BL,8FH MOV CX,1 INT 10H MOV AH,4CH INT 21H CODE ENDS END START 2010-10-25 22:38:24 杨 老 师 (283451437) 你 是 不 是 汇 编 的 时 候 就 out of memory 了 啊 2010-10-25 22:38:33 逐 云 者 (993969332) 是 的
2010-10-25 22:39:39 杨 老 师 (283451437) 仔 细 检 查 你 的 程 序, 有 标 点 符 号 用 的 是 中 文 全 角 的 不 是 西 文 的 2010-10-25 22:40:09 顺 (395709266) STACK 引 号 是 中 文 全 角 的 2010-10-25 22:40:40 逐 云 者 (993969332) 好 吧, 确 实 2010-10-25 22:41:00 杨 老 师 (283451437) 你 用 的 什 么 编 辑 器 2010-10-25 22:41:22 逐 云 者 (993969332) 记 事 本 2010-10-25 22:42:20 杨 老 师 (283451437) 那 大 家 要 注 意 了, 全 部 文 字 应 该 都 是 西 文, 半 角 的 字 符 2010-10-25 22:42:33 逐 云 者 (993969332) 哦 2010-10-25 22:43:30 杨 老 师 (283451437) MOV AX,STACK MOV SS,AX 你 这 两 句 要 干 嘛?? 2010-10-25 22:44:13 逐 云 者 (993969332) 将 堆 栈 段 的 首 地 址 赋 予 ss 2010-10-25 22:46:13 杨 老 师 (283451437) 如 果 有 这 一 句 的 话, 还 要 设 置 SP, 通 常 堆 栈 段 缺 省 就 可 以 了 2010-10-25 22:45:55 逐 云 者 (993969332) sp? ********************************************************88 2010-10-26 20:56:55 panda<happyqq0305@qq.com> 求 教 怎 么 完 成 换 行 操 作 啊 2010-10-26 21:57:59 panda<happyqq0305@qq.com> 杨 老 师 2010-10-26 21:58:49 panda<happyqq0305@qq.com>
补 充 作 业 的 第 十 九 题 你 帮 我 看 看 我 的 程 序 是 怎 么 回 事 2010-10-26 21:59:15 杨 老 师 (283451437) 嗯 2010-10-26 21:59:39 panda<happyqq0305@qq.com> CODES SEGMENT ASSUME CS:CODES START: MOV AX,0003H INT 10H MOV AX,0A41H MOV BH,0 MOV CX,70 INT 10H ;MOV AH,01H ;INT 21H ;MOV AX,0700H ;INT 10H MOV AX,0001H INT 10H MOV AX,0A42H MOV BH,0 MOV CX,70 INT 10H MOV AH,4CH INT 21H CODES ENDS END START 2010-10-26 22:00:36 杨 老 师 (283451437) 你 程 序 什 么 表 现 2010-10-26 22:01:11 panda<happyqq0305@qq.com> 忘 了 告 诉 您 我 的 这 两 行 ;MOV AH,01H ;INT 21H 注 释 是 后 来 加 上 去 的 应 该 不 加 分 号 2010-10-26 22:04:57 panda<happyqq0305@qq.com>
我 开 始 单 纯 先 完 成 80*25 的 70 个 A 再 完 成 40*25 的 70 个 B 就 会 只 出 现 后 面 的 B 这 个 我 想 应 该 是 程 序 顺 序 执 行 的 结 果 2010-10-26 22:06:04 panda<happyqq0305@qq.com> 后 来 我 想 到 一 种 方 法 就 是 先 完 成 70 个 A 然 后 增 加 一 个 输 入 一 个 字 符 的 操 作 就 是 MOV AH,01H INT 21H 再 完 成 40*25 的 70 个 B 就 应 该 OK 了 2010-10-26 22:06:28 panda<happyqq0305@qq.com> 但 问 题 就 是 那 个 框 框 还 是 80*25 的 2010-10-26 22:06:38 panda<happyqq0305@qq.com> 虽 然 输 出 是 正 确 的 2010-10-26 22:06:59 杨 老 师 (283451437) 好 的, 这 个 题 目 需 要 大 家 注 意, 运 行 的 时 候 V86 窗 口 要 设 置 成 全 屏 的, 而 不 是 窗 口 类 型 的 2010-10-26 22:07:49 panda<happyqq0305@qq.com> 是 这 个 的 关 系 么 2010-10-26 22:08:18 杨 老 师 (283451437) 否 则 你 看 不 到 窗 口 的 变 化, 但 是 你 会 发 现 前 面 70 个 A 不 换 行, 但 70 个 B 换 行 了, 对 吧 2010-10-26 22:08:29 panda<happyqq0305@qq.com> 对 呀 2010-10-26 22:09:07 杨 老 师 (283451437) 注 意 他 在 第 40 个 B 的 时 候 换 的 行, 实 际 上 他 确 实 是 40*25 的 文 本 了, 只 是 窗 口 没 有 跟 着 变 小 而 已 2010-10-26 22:11:16 杨 老 师 (283451437) 在 全 屏 下 就 明 显 了 2010-10-26 22:11:28 panda<happyqq0305@qq.com> 我 貌 似 不 会 变 成 全 屏 2010-10-26 22:12:04 杨 老 师 (283451437) 右 键 点 击 V86 窗 口 的 上 面 蓝 色 的 窗 口 栏 2010-10-26 22:12:22 杨 老 师 (283451437)
选 择 属 性 2010-10-26 22:13:07 杨 老 师 (283451437) 在 选 项 中 选 择 全 屏 2010-10-26 22:22:56 panda<happyqq0305@qq.com> 还 有 一 个 问 题 2010-10-26 22:23:05 panda<happyqq0305@qq.com> 怎 么 实 现 换 行 操 作 啊 2010-10-26 22:23:28 杨 老 师 (283451437) 课 堂 上 说 过 换 行 是 哪 两 个 字 符, 还 记 得 吗? 2010-10-26 22:25:19 panda<happyqq0305@qq.com> 我 看 到 PPT 上 写 的 一 段 : CR DB 0AH,0DH,'$' 但 不 知 道 怎 么 用 的 2010-10-26 22:26:16 杨 老 师 (283451437) 把 他 们 当 字 符 串 输 出 输 出 就 可 以 了 2010-10-26 22:28:20 panda<happyqq0305@qq.com> 0AH 和 0DH 是 什 么 意 思 啊 是 吧 他 们 连 起 来 作 为 一 个 字 符 串 么 2010-10-26 22:30:30 杨 老 师 (283451437) CR DB 0AH,0DH,'$' 这 就 是 定 义 了 一 个 字 符 串 2010-10-26 22:31:20 panda<happyqq0305@qq.com> 但 为 什 么 是 0AH,0DH 呢, 书 上 没 找 到 解 释 呀 2010-10-26 22:31:57 杨 老 师 (283451437) 这 两 个 就 是 回 车 换 行 的 ASCII 码 啊, 你 查 一 下 书 后 的 ASCII 码 表 2010-10-26 22:33:33 panda<happyqq0305@qq.com> CR 是 0DH 2010-10-26 22:33:57 panda<happyqq0305@qq.com> OAH 是 LF 2010-10-26 22:34:08 panda<happyqq0305@qq.com> LF 是 换 行 么
2010-10-26 22:34:12 杨 老 师 (283451437) 嗯, 一 个 回 车, 一 个 换 行 啊 2010-10-26 22:34:26 panda<happyqq0305@qq.com> 哦 2010-10-26 22:34:39 panda<happyqq0305@qq.com> 知 道 了 2010-10-26 22:34:50 panda<happyqq0305@qq.com> 我 做 个 程 序 试 试 2010-10-26 22:36:03 panda<happyqq0305@qq.com> 谢 谢 老 师 啦 2010-10-26 22:37:08 杨 老 师 (283451437) 不 客 气 ********************************************************* 2010-10-28 20:50:03 陈 忠 忠 (578129723) 彩 色 文 本 显 示 方 式 是 黑 屏 变 彩 色 吗? 2010-10-28 20:52:25 陈 忠 忠 (578129723) O 80*25 是 一 行 能 输 80 个 字 符 总 共 25 行 吗? 2010-10-28 21:21:42 杨 老 师 (283451437) 每 行 80 个 字 符, 一 屏 25 行 的 文 本 显 示 方 式 2010-10-28 21:22:20 辉 火 顽 石 <wc3lg@sina.com> 那 题 上 为 什 么 说 是 彩 色 文 本? 2010-10-28 21:22:27 辉 火 顽 石 <wc3lg@sina.com> 可 以 显 示 彩 色 吗? 2010-10-28 21:23:10 杨 老 师 (283451437) 是 的, 你 还 记 得 我 在 课 堂 上 演 示 的 那 个 程 序 吗, 不 就 是 彩 色 字 体 吗 2010-10-28 21:23:38 辉 火 顽 石 <wc3lg@sina.com> o, 原 来 是 那 个 呀! 嘿 嘿! 2010-10-28 21:27:45 辉 火 顽 石 <wc3lg@sina.com> 40*25 显 示 方 式 设 置 的 时 候 要 在 al 里 面 放 什 么 数 据 呀?
2010-10-28 21:28:04 胡 敬 羽 (474539648) 01 吧 2010-10-28 21:28:15 胡 敬 羽 (474539648) 附 录 C 上 面 有 的 2010-10-28 21:28:20 辉 火 顽 石 <wc3lg@sina.com> 我 放 了 01 为 什 么 都 不 换 呀? 2010-10-28 21:28:41 胡 敬 羽 (474539648) 要 把 AH 设 置 成 00 的 2010-10-28 21:28:55 辉 火 顽 石 <wc3lg@sina.com> 是 00H 2010-10-28 21:29:05 胡 敬 羽 (474539648) 这 样 没 问 题 吧 2010-10-28 21:30:07 辉 火 顽 石 <wc3lg@sina.com> 这 个 是 40*25 吗? 2010-10-28 21:30:20 胡 敬 羽 (474539648) 不 是 吧 2010-10-28 21:30:40 辉 火 顽 石 <wc3lg@sina.com> 2010-10-28 21:30:41 杨 老 师 (283451437) 这 个 显 然 不 是 2010-10-28 21:30:50 辉 火 顽 石 <wc3lg@sina.com> MOV AH,00H MOV AL,01H MOV AH,0AH 2010-10-28 21:30:56 辉 火 顽 石 <wc3lg@sina.com> 那 我 都 设 置 了 2010-10-28 21:31:32 杨 老 师 (283451437) 注 意, 最 好 你 们 用 全 屏 方 式, 就 可 以 明 显 的 感 觉 到 两 种 显 示 方 式 的 不 同 了 还 有,MOV AH,0AH 前 面 少 了 一 句 INT10H MOV AH,00H MOV AL,01H INT 10H
这 样 的 MOV AH,0AH 2010-10-28 21:32:01 辉 火 顽 石 <wc3lg@sina.com> 我 试 试 2010-10-28 21:34:12 辉 火 顽 石 <wc3lg@sina.com> 可 以 了 2010-10-28 21:34:21 辉 火 顽 石 <wc3lg@sina.com> 但 是 是 剩 下 40 个 字 符 了 2010-10-28 21:34:33 辉 火 顽 石 <wc3lg@sina.com> 还 有 30 个 哪 里 去 了?[ 表 情 ] 2010-10-28 21:34:37 胡 敬 羽 (474539648) 啊 2010-10-28 21:34:40 胡 敬 羽 (474539648) 求 截 图 2010-10-28 21:35:51 杨 老 师 (283451437) 哈 哈 哈 哈, 你 知 道 你 还 有 30 个 到 哪 去 了? 2010-10-28 21:36:01 辉 火 顽 石 <wc3lg@sina.com> 悲 剧, 不 知 道 2010-10-28 21:36:41 辉 火 顽 石 <wc3lg@sina.com> 胡 领 导, 是 不 是 你 把 它 吃 了? 2010-10-28 21:37:53 杨 老 师 (283451437) 你 打 印 完 70 个 B 后, 用 INT 21H 或 者 INT 16H 的 读 键 功 能 让 程 序 停 一 下, 就 看 到 了 2010-10-28 21:38:24 杨 老 师 (283451437) 你 的 路 径 名 太 长, 刚 好 把 第 二 行 的 30 个 B 给 覆 盖 了 2010-10-28 21:38:46 胡 敬 羽 (474539648) 原 来 如 此 啊 2010-10-28 21:40:31 panda<happyqq0305@qq.com> 老 师, 第 二 十 题 为 什 么 我 的 输 入 要 把 缓 冲 区 填 满 才 可 以 正 常 换 行 输 出 啊 如 果 输 入 太 少 就 会 只 打 印 我 输 入 字 符 的 后 一 部 分 会 丢 失 一 部 分
2010-10-28 21:40:32 马 成 刚 (956871346) MYFIRST.ASM(5): warning A4031: Operand types must match 48652 + 399396 Bytes symbol space free 2010-10-28 21:40:36 胡 敬 羽 (474539648) 我 有 事 变 成 小 红 心 的 2010-10-28 21:40:35 徐 基 明 (344207472) [ 图 片 ] 出 了 个 这 错 误 2010-10-28 21:41:30 胡 敬 羽 (474539648) [ 图 片 ] 2010-10-28 21:41:37 胡 敬 羽 (474539648) 就 是 没 有 显 示 方 式 2010-10-28 21:41:58 辉 火 顽 石 <wc3lg@sina.com> 同 楼 上 2010-10-28 21:42:06 杨 老 师 (283451437) 看 来 WIN7 不 给 全 屏 了 2010-10-28 21:42:21 panda<happyqq0305@qq.com> 老 师 2010-10-28 21:42:24 panda<happyqq0305@qq.com> 求 一 个 解 释 2010-10-28 21:42:28 panda<happyqq0305@qq.com> 第 二 十 题 为 什 么 我 的 输 入 要 把 缓 冲 区 填 满 才 可 以 正 常 换 行 输 出 啊 如 果 输 入 太 少 就 会 只 打 印 我 输 入 字 符 的 后 一 部 分 会 丢 失 一 部 分 2010-10-28 21:42:59 杨 老 师 (283451437) panda<happyqq0305@qq.com> 21:40:31 老 师, 第 二 十 题 为 什 么 我 的 输 入 要 把 缓 冲 区 填 满 才 可 以 正 常 换 行 输 出 啊 如 果 输 入 太 少 就 会 只 打 印 我 输 入 字 符 的 后 一 部 分 会 丢 失 一 部 分 贴 程 序 上 来 2010-10-28 21:43:02 panda<happyqq0305@qq.com>
哦 2010-10-28 21:43:08 panda<happyqq0305@qq.com> DATAS SEGMENT N EQU 15 MAXLEN DB N ACTLEN DB? STRING DB N DUP(?) CR DB 0AH,0DH,'$' DATAS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS START: MOV AX,DATAS MOV DS,AX MOV AH,0AH MOV DX,OFFSET MAXLEN INT 21H MOV AH,09H MOV DX,OFFSET CR INT 21H MOV AH,09H MOV DX,OFFSET STRING INT 21H MOV AH,4CH INT 21H CODES ENDS END START 2010-10-28 21:43:21 杨 老 师 (283451437) 马 成 刚 (956871346) 21:40:32 MYFIRST.ASM(5): warning A4031: Operand types must match 2010-10-28 21:43:44 杨 老 师 (283451437) 把 你 程 序 的 程 序 也 贴 出 来 2010-10-28 21:44:58 杨 老 师 (283451437) panda 你 的 程 序 少 了 在 输 入 的 字 符 串 末 尾 加 '$' 的 语 句 2010-10-28 21:45:39 杨 老 师 (283451437) 马 成 刚, 你 的 程 序 中 大 概 有 变 量 定 义 为 DB, 但 是 却 拿 来 当 WORD 类 型 用, 而 你 有 没 有 强 制 转 换
2010-10-28 21:45:49 panda<happyqq0305@qq.com> 是 要 把 输 入 的 最 后 一 个 字 符 后 面 的 那 个 单 元 赋 值 成 结 束 符 么 2010-10-28 21:46:28 杨 老 师 (283451437) 对 2010-10-28 21:46:50 杨 老 师 (283451437) 你 们 是 不 是 确 认 了 WIN7 的 CMD 不 能 全 屏 了 2010-10-28 21:47:33 徐 基 明 (344207472) 找 不 到 2010-10-28 21:48:45 杨 老 师 (283451437) 哦 2010-10-28 21:49:21 水 银 <hg0929@qq.com> 那 天 讲 全 屏 的 时 候 我 就 觉 得 奇 怪, 因 为 之 前 就 不 成 功 2010-10-28 21:50:30 徐 基 明 (344207472) 网 上 说 win7 不 支 持 全 屏 了 2010-10-28 21:50:59 杨 老 师 (283451437) 嗯, 不 过 没 关 系, 也 就 是 视 频 显 示 功 能 受 点 影 响 2010-10-28 21:51:06 徐 基 明 (344207472) 貌 似 只 要 是 cmd 就 没 法 全 屏, 下 了 个 2000 的 cmd 也 不 行 2010-10-28 21:52:29 杨 老 师 (283451437) 不 是, 关 键 是 win7 2010-10-28 21:52:39 杨 老 师 (283451437) 不 在 于 是 哪 个 版 本 的 CMD 2010-10-28 21:52:52 杨 老 师 (283451437) 而 在 于 操 作 系 统 是 不 是 Win7 2010-10-28 21:53:01 杨 老 师 (283451437) 你 们 全 是 WIN7 了? 2010-10-28 21:53:06 徐 基 明 (344207472) 嗯,win7 对 cmd 程 序 的 配 置 都 不 支 持 全 屏 的 2010-10-28 21:55:38 杨 老 师 (283451437)
无 所 谓 了, 就 是 汇 编 缺 少 了 点 乐 趣 了 原 本 可 以 全 屏 的 话, 大 家 可 以 初 始 化 成 图 形 方 式 画 画 图 什 么 的 2010-10-28 21:56:12 徐 基 明 (344207472) 题 目 里 的 彩 色 模 式 也 没 法 看 了 2010-10-28 21:56:22 杨 老 师 (283451437) 这 个 还 是 可 以 的 吧 2010-10-28 21:56:37 杨 老 师 (283451437) 我 把 源 程 序 贴 出 来 你 们 在 WIN7 下 试 试 2010-10-28 21:57:44 杨 老 师 (283451437) ;This program test the follow function wether useful in V86 mode ; YQS 2009.10 STACK SEGMENT STACK DW 100 DUP(?) STACK ENDS DATA SEGMENT S1 DW 'AB' BUFF DW 3C6DH DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX MOV AH,3 MOV BH,0 INT 10H ; READ CURSOR POSITION MOV CX,79 MOV AX,0921H MOV BX,0 LP: PUSH CX MOV CX,1 INT 10H ; WRITE A CHAR WITH SPECIAL ATTRIBUTE ON CURRENT CURSOR POSITION INC DL PUSH AX MOV AH,2 INT 10H ; SET CURSOR POSITION POP AX INC AL
NEXT: CODE INC BL CMP BL,16 JNE NEXT MOV BL,0 POP CX LOOP LP MOV AH,0 INT 16H MOV AH,4CH INT 21H ENDS END START ; READ KEYBOARD 2010-10-28 22:00:20 杨 老 师 (283451437) 嗯, 我 在 课 堂 上 演 示 的 2 个 彩 色 文 字 的 程 序 我 已 经 放 到 群 共 享, 大 家 下 载 后 汇 编 连 接 执 行 看 一 下 2010-10-28 22:01:48 杨 老 师 (283451437) 嗯, 对, 这 是 dostest.asm 还 有 一 个 dostest2.asm 2010-10-28 22:02:02 杨 老 师 (283451437) 能 全 屏 的 同 学 最 好 用 全 屏 2010-10-28 22:02:17 panda<happyqq0305@qq.com> 老 师 那 个 缓 冲 区 的 实 际 长 度 怎 么 知 道 啊 2010-10-28 22:02:50 徐 基 明 (344207472) 嗯 这 个 可 以 2010-10-28 22:02:54 杨 老 师 (283451437) ACTLEN 里 就 是 啊 2010-10-28 22:03:09 panda<happyqq0305@qq.com> 但 貌 似 ACTLEN 中 什 么 也 没 放 啊 2010-10-28 22:03:22 panda<happyqq0305@qq.com> 系 统 会 自 动 放 不 成 2010-10-28 22:04:50 杨 老 师 (283451437) 对 的 2010-10-28 22:05:01 杨 老 师 (283451437) 你 调 用 完 INT 21H 后, 系 统 会 自 动 放
2010-10-28 22:09:17 panda<happyqq0305@qq.com> 我 的 这 行 代 码 是 错 的 呀 MOV ((OFFSET MAXLEN)+ACTLEN),OVER 2010-10-28 22:09:49 杨 老 师 (283451437) 你 打 算 做 什 么? 2010-10-28 22:09:50 panda<happyqq0305@qq.com> OVER 在 代 码 段 中 的 定 义 是 OVER EQU '$' 2010-10-28 22:10:13 panda<happyqq0305@qq.com> 就 是 把 输 入 字 符 串 的 最 后 一 个 字 符 的 下 一 位 赋 值 成 结 束 符 啊 2010-10-28 22:10:39 solo estoy(276441700) 你 的 ACTLEN 是 地 址 2010-10-28 22:10:42 solo estoy(276441700) 不 是 字 符 长 度 2010-10-28 22:10:48 panda<happyqq0305@qq.com> 哦 2010-10-28 22:11:05 panda<happyqq0305@qq.com> 要 用 (ACTLEN) 2010-10-28 22:11:29 solo estoy(276441700) 要 先 把 ACTLEN 内 容 放 到 寄 存 器 里 2010-10-28 22:11:58 panda<happyqq0305@qq.com> 在 程 序 中 用 间 接 寻 址 时 是 用 小 括 号 还 是 中 括 号 还 是 随 便 的 括 号 啊 2010-10-28 22:12:18 panda<happyqq0305@qq.com> 为 什 么 要 放 在 寄 存 器 里 呢 2010-10-28 22:12:28 solo estoy(276441700) 因 为 没 有 这 种 寻 址 方 式 2010-10-28 22:14:00 杨 老 师 (283451437) MOV BL, ACTLEN MOV BH,0 MOV STRING[BX],'$'
2010-10-28 22:14:31 solo estoy(276441700) 杨 老 师 威 武 2010-10-28 22:15:41 panda<happyqq0305@qq.com> 我 那 样 做 不 是 把 一 个 数 据 送 到 存 储 单 元 吗 怎 么 会 没 有 那 种 寻 址 方 式 啊 2010-10-28 22:15:51 solo estoy(276441700) 2010-10-28 22:17:55 杨 老 师 (283451437) panda, 你 告 诉 我 你 的 那 个 表 示 是 寻 址 方 式 中 的 哪 一 种 呢? 2010-10-28 22:18:10 solo estoy(276441700) 一 共 有 立 即 寻 址 直 接 寻 址 寄 存 器 间 接 寻 址 基 址 寻 址 变 址 寻 址 基 址 变 址 寻 址 2010-10-28 22:18:16 杨 老 师 (283451437) ((OFFSET MAXLEN)+ACTLEN) 对 应 哪 一 个 寻 址 方 式? 2010-10-28 22:18:23 solo estoy(276441700) 没 有 对 内 存 单 元 做 地 址 来 寻 址 的 2010-10-28 22:19:35 panda<happyqq0305@qq.com> 就 好 像 是 MOV [1000H],AX 不 可 以 么 2010-10-28 22:20:10 solo estoy(276441700) 可 以 啊 这 就 是 直 接 寻 址 啊 2010-10-28 22:21:09 panda<happyqq0305@qq.com> 刚 刚 那 个 不 也 是 这 样 的 么 2010-10-28 22:21:12 杨 老 师 (283451437) 但 你 这 里 出 现 了 两 个 符 号 地 址 和 一 个 offset 伪 指 令, 有 这 样 的 寻 址 方 式 吗? 2010-10-28 22:21:25 panda<happyqq0305@qq.com> 哦 2010-10-28 22:21:48 杨 老 师 (283451437) mov ax,[buff+string] 我 们 没 有 这 样 表 示 的 寻 址 方 式 2010-10-28 22:22:00 panda<happyqq0305@qq.com>
软 件 说 cannot add two relocatable labels 2010-10-28 22:22:17 panda<happyqq0305@qq.com> 是 不 是 符 号 地 址 只 能 有 一 个 呀 2010-10-28 22:23:24 杨 老 师 (283451437) 是 的 2010-10-28 22:23:42 panda<happyqq0305@qq.com> 哦 ******************************************** 2010-10-30 16:20:59 辉 火 顽 石 <wc3lg@sina.com> debug 怎 么 用 呀? 2010-10-30 16:21:18 辉 火 顽 石 <wc3lg@sina.com> 求 指 导 2010-10-30 16:22:22 杨 老 师 (283451437) 看 书 上 附 录 A 还 有 就 是 在 网 站 下 载 汇 编 上 机 过 程.ppt 2010-10-30 16:28:56 辉 火 顽 石 <wc3lg@sina.com> 为 什 么 我 用 -t 出 现 好 多 不 是 我 自 己 写 的 指 令? 2010-10-30 16:29:44 杨 老 师 (283451437) 你 是 不 是 用 T 跟 踪 到 int 10h 里 面 了 2010-10-30 16:30:03 辉 火 顽 石 <wc3lg@sina.com> 哦 2010-10-30 16:30:20 辉 火 顽 石 <wc3lg@sina.com> 那 怎 么 可 以 避 免 进 去? 2010-10-30 16:30:39 杨 老 师 (283451437) 用 G 命 令, 地 址 是 下 一 条 指 令 的 地 址 2010-10-30 16:31:01 辉 火 顽 石 <wc3lg@sina.com> 哦, 嘿 嘿, 谢 谢 老 师 ********************************************* 2010-10-30 23:07:42 奕 柘 (369925785) 不 同 程 序 组 合 的 判 断 是 否 是 相 同 的 段 依 据 的 是 段 名 还 是 类 别 名? 请 指 教...
2010-10-31 9:59:56 杨 老 师 (283451437) 段 名 相 同 的 段, 会 安 排 在 一 起, 按 照 组 合 类 型 进 行 组 合 如 果 段 名 不 相 同, 再 看 类 别 名 类 别 名 相 同 的 段 连 续 放, 如 果 指 明 了 PUBLIC 或 COMMON 组 合 的, 按 照 该 类 型 组 合, 否 则 只 是 物 理 位 置 连 续 的 不 同 的 段 2010-10-31 21:04:50 奕 柘 (369925785) 简 单 说 就 是 段 名 和 类 别 名 有 一 者 相 同 就 会 进 行 组 合 么? 2010-10-31 21:05:41 杨 老 师 (283451437) 还 要 看 组 合 类 型 2010-10-31 21:05:55 奕 柘 (369925785) 哦 2010-10-31 21:06:18 奕 柘 (369925785) 那 可 以 进 行 组 合 的 段 para 这 类 属 性 也 必 须 一 样 么? 2010-10-31 21:09:21 杨 老 师 (283451437) 要 看 为 主 的 那 个 段 了, 其 他 的 都 是 直 接 接 下 去 的 **************************************************** 2010-10-31 21:16:43. 嗚 δ 弇 η(199037405) 老 师 能 不 能 帮 我 看 下 程 序 输 出 结 果 为 什 么 是 这 个 样 子 的 2010-10-31 21:19:01 杨 老 师 (283451437) 你 程 序 贴 出 来 2010-10-31 21:19:16. 嗚 δ 弇 η(199037405) DATA SEGMENT N EQU 20 CR DB 0AH,0DH,'$' MAXLEN DB N ACTLEN DB? STRING DB N DUP(?),'$'
DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV AH,0AH MOV DX,OFFSET MAXLEN INT 21H MOV AH,09H MOV DX,OFFSET CR INT 21H MOV AH,09H MOV BX,WORD PTR [ACTLEN] MOV STRING[BX], '$' MOV DX,OFFSET STRING INT 21H MOV AH,4CH INT 21H CODE ENDS END START 2010-10-31 21:19:40. 嗚 δ 弇 η(199037405) STRING DB N DUP(?),'$' 这 个 里 面 的 $ 这 个 是 调 程 序 的 时 候 加 的 2010-10-31 21:20:03. 嗚 δ 弇 η(199037405) 主 要 加 '$' 的 还 是 MOV BX,WORD PTR [ACTLEN] MOV STRING[BX], '$' MOV DX,OFFSET STRING 这 里 2010-10-31 21:20:05 杨 老 师 (283451437) MOV BX,WORD PTR [ACTLEN] 这 个 错 了 2010-10-31 21:20:20. 嗚 δ 弇 η(199037405) 应 该 怎 么 写 呢 2010-10-31 21:21:49 杨 老 师 (283451437) 应 该 是
MOV BL,ACTLEN MOV BH,0 2010-10-31 21:22:33. 嗚 δ 弇 η(199037405) 呃 那 如 果 用 WORD PTR 他 传 进 去 的 是 什 么 啊 2010-10-31 21:26:30. 嗚 δ 弇 η(199037405) 我 知 道 了 把 那 个 WORD PTR 理 解 错 了 2010-10-31 21:27:02 杨 老 师 (283451437) 他 传 的 是 16 位, 低 8 位 是 [ACTLEN], 高 8 位 是 [SRTING] ************************************************ 2010-10-31 21:10:01 奕 柘 (369925785) 在 网 上 看 到 这 么 个 东 西 (x&y)+((x^y) >> 1) 2010-10-31 21:10:12 奕 柘 (369925785) 作 用 是 求 平 均 数 2010-10-31 21:10:39 奕 柘 (369925785) 为 什 么 这 个 式 子 可 以 求 平 均 数 啊? 2010-10-31 21:11:43 杨 老 师 (283451437) C 语 言? 2010-10-31 21:11:48 奕 柘 (369925785) 嗯 2010-10-31 21:11:57 奕 柘 (369925785) >> 为 符 号 右 移 2010-10-31 21:12:13 奕 柘 (369925785) 或 者 先 不 管 是 否 为 符 号 了 2010-10-31 21:12:19 奕 柘 (369925785) 这 个 式 子 为 什 么 有 效? 2010-10-31 21:16:35 奕 柘 (369925785) 啊.. 我 貌 似 知 道 了... 2010-10-31 21:17:58 韩 佳 松 (285660529) ((x&y)+(x^y)) >> 1 2010-10-31 21:18:51 杨 老 师 (283451437)
(x&y)+((x^y) >> 1) 是 这 个 2010-10-31 21:32:04 韩 佳 松 (285660529) 哦 看 错 了 2010-10-31 21:32:57 杨 老 师 (283451437) 要 从 2 进 制 去 考 虑 2010-10-31 21:33:06 奕 柘 (369925785) 嗯 2010-10-31 21:33:08 杨 老 师 (283451437) 嗯, 奕 柘 想 出 来 了? 2010-10-31 21:33:16 韩 佳 松 (285660529) c[n] = a[n]&b[n]+a[n+1]^b[n+1] 2010-10-31 21:33:20 奕 柘 (369925785) 直 接 模 拟 一 下 二 进 制 加 法 就 显 然 了 2010-10-31 21:33:25 奕 柘 (369925785) 是 的 2010-10-31 21:33:45 韩 佳 松 (285660529) c 是 结 果 2010-10-31 21:33:53 奕 柘 (369925785) 还 有 一 个 右 移 2010-10-31 21:34:10 韩 佳 松 (285660529) 所 以 是 a[n+1]^b[n+1] 2010-10-31 21:34:25 奕 柘 (369925785) 对 2010-10-31 21:34:27 奕 柘 (369925785) 看 错 了... 2010-10-31 21:34:37 韩 佳 松 (285660529) 对 的 2010-10-31 21:35:06 韩 佳 松 (285660529) 看 一 下 式 子 就 应 该 明 白 原 理 了 吧
***************************************************** 2010-11-2 22:18:00 panda<happyqq0305@qq.com> 老 师 帮 我 看 看 补 充 题 的 21 题 对 不 对 行 么 2010-11-2 22:18:48 panda<happyqq0305@qq.com> LEA BX,NUM ADD AL,BYTE PTR [BX] MOV SI,01H MOV [BX][SI],AL 2010-11-2 22:24:31 杨 老 师 (283451437) 21 的 第 几 题 2010-11-2 22:24:36 panda<happyqq0305@qq.com> 第 二 题 2010-11-2 22:26:00 杨 老 师 (283451437) 要 求 是 基 址 变 址 寻 址 方 式 2010-11-2 22:26:12 panda<happyqq0305@qq.com> 对 呀 2010-11-2 22:26:28 panda<happyqq0305@qq.com> 这 点 好 困 惑 2010-11-2 22:26:39 杨 老 师 (283451437) ADD AL,BYTE PTR [BX] 这 是 什 么 寻 址 方 式 2010-11-2 22:27:10 panda<happyqq0305@qq.com> 寄 存 器 间 址 啊 2010-11-2 22:27:44 panda<happyqq0305@qq.com> 不 过 最 后 一 步 不 是 基 址 变 址 么 2010-11-2 22:30:25 杨 老 师 (283451437) 嗯, 最 后 一 步 是 对 的, 但 前 面 那 个 不 对 2010-11-2 22:30:39 panda<happyqq0305@qq.com> 是 ADD 不 对 么 2010-11-2 22:30:47 杨 老 师 (283451437) MOV BX, OFFSET NUM ( 或 LEA BX, NUM)
MOV SI, 0 ADD AL, [BX][SI] INC SI MOV [BX][SI], AL 2010-11-2 22:30:54 杨 老 师 (283451437) 应 该 是 这 样 2010-11-2 22:31:29 panda<happyqq0305@qq.com> 每 一 步 都 要 基 址 变 址 啊 2010-11-2 22:31:41 杨 老 师 (283451437) 嗯, 是 的 2010-11-2 22:31:52 panda<happyqq0305@qq.com> 知 道 了 谢 谢 老 师 ************************************************* 2010-11-3 22:41:49 马 成 刚 (956871346) DATA SEGMENT NUM DB 23H,? DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA 这 样 的 声 明 23H 是 应 该 在 DS 段 吗? 2010-11-3 22:46:08 杨 老 师 (283451437) 是 的 2010-11-3 22:50:37 马 成 刚 (956871346) [ 图 片 ]D:\myworks\masm>debug ZY21.EXE -t AX=0020 BX=0000 CX=0021 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000 DS=1490 ES=1490 SS=14A0 CS=14A1 IP=0002 NV UP EI PL NZ NA PO NC 14A1:0002 BB0000 MOV BX,0000 -d 1490:0000 1490:0000 CD 20 FF 9F 00 9A F0 FE-1D F0 4F 03 62 0E 8A 03....O.b... 1490:0010 62 0E 17 03 62 0E 51 0E-01 01 01 00 02 FF FF FF b...b.q... 1490:0020 FF FF FF FF FF FF FF FF-FF FF FF FF 0F 14 F1 49...I 1490:0030 62 0E 14 00 18 00 90 14-FF FF FF FF 00 00 00 00 b... 1490:0040 05 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00... 1490:0050 CD 21 CB 00 00 00 00 00-00 00 00 00 00 20 20 20.!...
1490:0060 20 20 20 20 20 20 20 20-00 00 00 00 00 20 20 20... 1490:0070 20 20 20 20 20 20 20 20-00 00 00 00 00 00 00 00... -D 14A0:0000 14A0:0000 23 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 #... 14A0:0010 B0 20 BB 00 00 BE 00 00-02 00 88 40 01 B4 4C CD....@..L. 14A0:0020 21 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00!... 14A0:0030 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00... 14A0:0040 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00... 14A0:0050 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00... 14A0:0060 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00... 14A0:0070 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00... - 2010-11-3 22:51:17 杨 老 师 (283451437)? 2010-11-3 22:51:40 杨 老 师 (283451437) 注 意 对 DS 赋 值 2010-11-3 22:51:50 马 成 刚 (956871346) 我 是 那 样 声 明 的, 可 是 在 ds 段 找 不 到, 在 ss 段 可 以 找 到 2010-11-3 22:52:13 杨 老 师 (283451437) 你 对 DS 寄 存 器 没 赋 值 吧? 2010-11-3 22:52:44 马 成 刚 (956871346) 明 白 了! ******************************************************* 2010-11-3 23:22:14 潘 洲 扬 (673768075) 老 师 2010-11-3 23:22:30 潘 洲 扬 (673768075) 我 补 充 的 20 题 为 什 么 是 倒 着 输 出 地 2010-11-3 23:23:09 杨 老 师 (283451437) 题 目 你 贴 上 来 一 下 2010-11-3 23:23:48 潘 洲 扬 (673768075) 就 是 从 键 盘 输 入 字 符 然 后 再 换 行 显 示 那 题 2010-11-3 23:24:21 杨 老 师 (283451437) 嗯 也 就 是 说 你 输 入 的 是 ABC.
输 出 的 是 CBA? 2010-11-3 23:24:34 潘 洲 扬 (673768075) 不 是 2010-11-3 23:24:45 潘 洲 扬 (673768075) 比 如 说 我 定 义 最 大 长 度 是 20 2010-11-3 23:25:11 潘 洲 扬 (673768075) 如 果 输 入 ABCD, 它 就 在 最 后 4 位 显 示 ABCD 2010-11-3 23:25:47 杨 老 师 (283451437) 把 你 的 程 序 贴 上 来 2010-11-3 23:26:52 潘 洲 扬 (673768075) DATA SEGMENT MAXLENGTH DB 20H ACTLENGTH DB? INPUT DB 20H DUP (?),'$' CR DB 0AH,0DH,'$' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AH,0AH MOV DX,OFFSET MAXLENGTH INT 21H MOV DX,OFFSET CR MOV AH,09H INT 21H MOV DX,OFFSET ACTLENGTH MOV AH,09H INT 21H MOV DX,OFFSET INPUT MOV AH,09H INT 21H MOV AH,01H INT 21H MOV AH,4CH INT 21H CODE ENDS END START
2010-11-3 23:27:16 solo estoy(276441700) INPUT 定 义 的 时 候 不 能 加 $ 符 号 的 2010-11-3 23:27:47 solo estoy(276441700) 终 结 符 要 在 输 入 后 确 定 字 符 长 度 再 末 尾 插 入 2010-11-3 23:28:16 潘 洲 扬 (673768075) 我 试 试 2010-11-3 23:29:37 杨 老 师 (283451437) solo estoy(276441700) 23:27:16 INPUT 定 义 的 时 候 不 能 加 $ 符 号 的 solo estoy(276441700) 23:27:47 终 结 符 要 在 输 入 后 确 定 字 符 长 度 再 末 尾 插 入 对 的 2010-11-3 23:29:58 solo estoy(276441700) 已 经 有 好 多 人 说 这 个 错 误 了 2010-11-3 23:30:57 杨 老 师 (283451437) MOV DX,OFFSET ACTLENGTH MOV AH,09H INT 21H 2010-11-3 23:31:05 杨 老 师 (283451437) 这 几 句 怎 么 回 事? 2010-11-3 23:31:33 潘 洲 扬 (673768075) 我 也 不 知 道... 我 记 得 写 的 时 候 没 这 几 句... 2010-11-3 23:32:39 杨 老 师 (283451437) 这 几 句 不 对, 关 键 是 你 要 在 输 入 的 字 符 串 的 末 尾 加 '$', 而 末 尾 就 是 通 过 ACTLENGTH 得 到 的 ********************************************** 2010-11-4 20:36:46 冷 羽 <liy0223@qq.com> 请 问 有 人 知 道, 为 什 么 定 义 的 数 据 首 先 是 在 堆 栈 段 么? 2010-11-4 20:40:58 杨 老 师 (283451437) 你 的 程 序 没 有 定 义 堆 栈 段 吧 2010-11-4 20:41:03 冷 羽 <liy0223@qq.com> 是 的
2010-11-4 20:41:21 冷 羽 <liy0223@qq.com> 这 个 是 为 什 么 呢? 2010-11-4 20:41:54 冷 羽 <liy0223@qq.com> debug 中 cs,es,ds,ss 的 地 址 都 相 同 2010-11-4 20:42:12 冷 羽 <liy0223@qq.com> 为 什 么 用 ds 访 问 不 到 数 据 呢? 2010-11-4 20:42:32 杨 老 师 (283451437) 嗯,DOS 缺 省 情 况 下, 加 载 一 个 程 序 的 时 候, 如 果 没 有 定 义 堆 栈 段,SS 会 指 向 数 据 段,DS 指 向 PSP 2010-11-4 20:42:47 冷 羽 <liy0223@qq.com> 原 来 如 此, 谢 谢 老 师 2010-11-4 20:42:59 杨 老 师 (283451437) 1/2 班 我 在 课 上 提 过 这 个 PSP 的, 不 知 道 你 们 还 记 不 记 得 2010-11-4 20:43:20 朱 海 明 <liy0223@qq.com> 是 的 2010-11-4 20:43:31 杨 老 师 (283451437) 后 面 还 会 讲 到 2010-11-4 20:43:27 朱 海 明 <liy0223@qq.com> 嗯 2010-11-4 20:44:54 杨 老 师 (283451437) 不 过, 你 已 经 发 现 了 没 有 堆 栈 段 的 情 况 下,SS 缺 省 指 向 DS, 说 明 还 是 很 认 真 的 2010-11-4 20:46:16 潘 洲 扬 (673768075) 老 师,CMP A,B 如 果 A<B 用 什 么 跳 转 指 令 呀 2010-11-4 20:46:53 杨 老 师 (283451437) 有 符 号 数 还 是 无 符 号 数 比 较 啊 2010-11-4 20:47:09 杨 老 师 (283451437) 无 符 号 数 是 JB 有 符 号 数 是 JL 2010-11-4 20:47:33 潘 洲 扬 (673768075) 哦, 知 道 了
******************************************************* 2010-11-4 22:09:17 许 艺 凡 (80192136) 有 谁 知 道 JMP 的 指 令 机 器 码 格 式 么? 2010-11-4 22:11:21 solo estoy(276441700) 短 跳 转 的 话 占 两 个 字 节 空 间 第 一 个 字 节 是 操 作 码, 第 二 个 字 节 是 跳 转 的 8 位 偏 移 量 2010-11-4 22:11:46 solo estoy(276441700) 近 跳 转 的 话 占 三 个 字 节 后 两 个 字 节 是 16 位 的 偏 移 量 2010-11-4 22:14:27 solo estoy(276441700) far 型 JMP 占 5 个 字 节 第 二 第 三 个 字 节 是 欲 跳 转 的 代 码 段 CS 首 地 址, 后 两 个 字 节 是 偏 移 量 2010-11-4 22:20:34 solo estoy(276441700) 那 个 FAR 型 CS 和 IP 赋 值 的 顺 序 错 了 应 该 低 址 是 IP 高 址 是 CS 2010-11-4 22:20:55 杨 老 师 (283451437) 表 扬 solo estoy! 2010-11-4 22:21:00 许 艺 凡 (80192136) 嗯, 谢 啦 2010-11-4 22:27:44 solo estoy(276441700) 那 X86 中 有 操 作 数 的 指 令 就 至 少 要 有 两 个 字 节 的 长 度 了 2010-11-4 22:27:59 杨 老 师 (283451437) 嗯, 是 的 2010-11-4 22:28:00 solo estoy(276441700) 单 字 节 的 NOP? 2010-11-4 22:29:08 杨 老 师 (283451437) NOP 没 操 作 数 2010-11-4 22:29:49 杨 老 师 (283451437) NOP 的 操 作 码 是 90h 2010-11-4 22:29:55 solo estoy(276441700) 单 字 节 的 是 不 是 只 有 NOP 2010-11-4 22:30:52 杨 老 师 (283451437) 不 啊