内存中的变量未通过存储更新为该符号

2023-12-10

当我运行 emu8086 时,这个结果(和)返回给我 0 ..为什么?

data segment
ans dw ? 
ends

stack segment
    dw   128  dup(0)
ends

code segment
start:
mov ax,@data
mov dx,ax
mov ax,2
mov bl,2
mul bl
mov ans,ax
mov ax, 4c00h
int 21h  
ends
end start

mov ax,@data
mov dx,ax

这部分代码必须设置DS段寄存器。
你写错了DX反而!

mov ax, @data
mov ds, ax

由于此错误,您的结果AL * BL乘法(4)仍然被写入内存中mov ans,ax但它没有成功数据段。它会覆盖程序段前缀的第一个字,因为那是DS正在指着。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

内存中的变量未通过存储更新为该符号 的相关文章

  • x86 汇编中 cmove 指令的用途?

    反汇编可执行文件时我遇到了cmove操作说明 我已经在互联网上搜索过 但我只发现这是一个有条件的移动 如果源和目的地相等mov发生 我还不明白为什么我需要它 因为它不会改变操作数 它的目的是什么 The CMOVcc指令不比较源和目标 它们
  • 如何关闭MIPS-GCC自动指令重排序?

    继这个问题之后 使用跳转 和链接 指令的奇怪 MIPS 汇编器行为 https stackoverflow com questions 3807480 weird mips assembler behavior with jump and
  • 在 DLL 中,函数表的结构如何?

    我一直在研究不明确支持我的操作系统的设备库的实现 特别是 我有一个反汇编的 DLL 以及大量的支持源代码 现在 功能表 导出表是如何构造的 我的理解是 第一个结构 data部分是 RVA 表 接下来是通过索引链接到第一个地址表的字符串表 这
  • 在长模式下更改 GDT 并更新 CS

    我正在编写一个简单的自制 64 位操作系统 通过 UEFI 启动它 这意味着当我的代码开始执行时 它已经处于长模式 并且启用了分页 现在 退出 UEFI 引导服务后 我想用我自己的控制结构替换 UEFI 构建的所有控制结构 成功更改 CR3
  • 如何在汇编程序中使用 C 库?

    我想知道如何用汇编语言编写文本编辑器 但现代操作系统需要 C 库 特别是对于它们的窗口系统 我找到了这个page http pengu1n is programmer com posts 8304 html 这对我有很大帮助 但我想知道是否
  • x86 实模式下的段大小

    我对实模式下段的大小有一个疑问 因为它们不能超过 64K 但可以小于那个 http support microsoft com kb 120069 我的问题是这些段大小和基地址是如何初始化的 就像保护模式下有 GDT 和 LDT 一样 实模
  • 现代 x86 硬件不能将单个字节存储到内存中吗?

    说到 C 的并发内存模型 Stroustrup 的C 编程语言 第 4 版 第 1 节 41 2 1 说 就像大多数现代硬件一样 机器无法加载或存储小于单词的任何内容 然而 我的 x86 处理器已经有几年的历史了 它可以并且确实存储小于单词
  • gcc 如何知道内联汇编中使用的寄存器大小?

    我有内联汇编代码 define read msr index buf asm volatile rdmsr d buf 1 a buf 0 c index 使用该宏的代码 u32 buf 2 read msr 0x173 buf 我发现反汇
  • C/C++ 中的简单“Hello World”内联汇编语言程序

    我使用 devcpp 和 borland c 编译器 asm mov ax 4 I O Func mov bx 1 Output func mov cx name address of the string mov dx 6 length
  • DASM 汇编器中的 ASCII 到 C64 屏幕代码

    我正在通过 C64 模拟器学习 6502 micro 的汇编 目前正在尝试将字符串输出到屏幕 这是我的代码 processor 6502 org 1000 ldx 00 using x register as column counter
  • 装配中出现奇怪的字符?

    我写了以下代码 386 model small stack 100h data text db Paper 0 code start lea dx text mov ah 9h int 21h mov ah 4ch int 21h end
  • 汇编中如何计算负数

    我是汇编新手 我有一个关于如何表示负数的问题 我有三个 DWORDS 变量 比方说 result DWORD 0 i DWORD 3 j DWORD 5 我想计算这个公式 结果 i j 8 但是 当我执行 i j 时 由于符号 结果将是一个
  • 编写 AMD64 SysV 程序集时使用哪些寄存器作为临时寄存器?

    我正在使用实现一个功能cpuid根据 AMD64 SysV ABI 进行组装 我需要在函数本身中使用 2 个临时寄存器 第一个用于累积返回值 第二个用作计数器 我的功能目前如下所示 zero argument function some c
  • 为什么我可以使用 ret 退出 main?

    我即将弄清楚程序堆栈到底是如何设置的 我了解到用以下方式调用该函数 call pointer 实际上等同于 mov register pc programcounter add register 1 where 1 is one instr
  • C++ 中的 CPUID 实现

    我想知道这里是否有人有一些可以从任何托管 net 语言引用的 C CPUID 实现的好示例 另外 如果情况并非如此 我是否应该注意 X86 和 X64 之间的某些实现差异 我想使用 CPUID 来获取运行我的软件的机器上的信息 崩溃报告等
  • 为什么 Visual Studio 使用 xchg ax,ax

    我正在查看程序的反汇编 因为它崩溃了 并注意到很多 xchg ax ax 我用谷歌搜索了一下 发现它本质上是一个 nop 但是为什么 Visual Studio 会执行 xchg 而不是 noop 该应用程序是一个C NET3 5 64位应
  • 近调用/跳转表并不总是在引导加载程序中工作

    一般问题 我一直在开发一个简单的引导加载程序 并在某些环境中偶然发现了一个问题 在这些环境中 此类指令不起作用 mov si call tbl SI Call table pointer call call tbl Call print c
  • 减法进位标志

    我正在使用 MASM32 有了这个代码 mov eax 5 sub eax 10 CF 状态标志将被设置 但使用我的铅笔和纸 我实际上看到 MSB 没有任何进位 是的 我知道从较少的数字中减去大的数字集CF 但我想知道为什么 因为使用这段代
  • 为什么 RISC-V S-B 和 U-J 指令类型以这种方式编码?

    我正在读一本书 计算机组织与设计RISC V版 我遇到了 S B 和 U J 指令类型的编码 我上面提到的那些类型有奇怪的编码立即字段 S B 类型将直接字段分为两部分 这是有道理的 因为所有指令编码都必须相似 但我无法理解为什么立即字段以
  • 两个基本的 ANTLR 问题

    我正在尝试使用 ANTLR 来获取简单的语法并生成汇编输出 我在 ANTLR 中选择的语言是 Python 许多教程看起来非常复杂或详细阐述与我无关的事情 我真的只需要一些非常简单的功能 所以我有两个问题 将值从一个规则 返回 到另一规则

随机推荐

  • Firebase 已获得 FedRAMP 授权?

    我使用 Firebase 作为后端 我看到谷歌服务已获得FedRAMP授权 并且firebase已与谷歌云集成使用 那么firebase也获得了FedRAMP的授权吗 如果没有 有什么办法可以在firebase中获得FedRAMP授权吗 T
  • 使用 PHPExcel 从 Excel 读取数字时出现问题

    我正在尝试使用 PHPExcel 从 Excelsheet 中读取数字 我读取数据的代码 objReader PHPExcel IOFactory createReaderForFile upload file objReader PHPE
  • 带原始数据的 Volley 请求

    在我的应用程序中 我必须使用 JSON req param 发送 POST 请求 我尝试使用 Postman Rest Client 创建请求 它工作正常 但无法使用下面的代码 在作为原始数据发送的 Postman req 参数中 但我不确
  • R XML 解析网址

    我正在尝试下载天气数据 类似于此处提出的问题 如何将XML解析为R数据帧但是当我运行示例中的第一行时 我收到 错误 1 无法加载 HTTP 资源 我已检查该 URL 是否有效 这是我指的行 data lt xmlParse http for
  • 如何确定目录中的任何文件是否已更改

    Chef 有没有办法确定它是否更改了给定目录中的任何文件 如果conf d 目录中的任何设置被更新 我想重新启动服务器进程 我确信可以在每次厨师客户端运行时将 md5sum 列表写入文件 并将当前迭代与之前的迭代进行比较 但这是解决常见场景
  • 错误 DEP0001:意外错误:-2147009287 部署 Windows Phone Universal 10

    当我尝试将应用程序部署到 Windows Phone 10 时 出现以下错误 错误 2147009287 来自 Visual Studio 2015 社区 我该如何解决这个问题 正如 Jay Zuo 在他的评论中所说 通过链接 解决此问题的
  • 使用 Gradle 编译项目时 IntelliJ 到底在做什么?

    IntelliJ IDEA 2016 3 添加了将构建 运行委托给 Gradle 的功能 很明显 当 Gradle 上有委托选项时 Gradle 就会执行所有操作 我的问题是 当此选项关闭时 IntelliJ 到底在做什么 我问这个问题是因
  • 将 xls 文件从 url 下载到数据框(Rcurl)中?

    我正在尝试将以下网址下载到 R 数据框中 http www fantasypros com nfl rankings qb php export xls 这是公共页面上的 导出 链接 http www fantasypros com nfl
  • 使用 HTML 或 JavaScript 在 WhatsApp 网页版上发送消息

    我想通过 Whatsapp 网络发送消息 我正在使用以下代码 但它不起作用 https wa me text urlencodedtext 我无法查看联系人列表来发送此编码消息 我参考了 WhatsApp com如何使用点击聊天 尝试更改域
  • SQL - 加载数据内文件 - UTF8 问题

    我很少将大型数据库导出到 txt 每个大约 5GB 所以我发现我可以轻松导入它 将数据本地 INFILE path pet txt 加载到表 pet 它工作得很好 但我在那里遇到 UTF 8 的问题 因为有些文本显示为 PODB H Z L
  • F# 中的通用类型注释

    我收到以下错误 错误 2 值限制 价值 gbmLikelihood 已被推断为具有泛型类型val gbmLikelihood float gt a gt float gt float when a gt seq
  • 将 Excel UDF 放入 Worksheet 对象中(而不是放在模块中)

    我怀疑答案是 不可能 但是询问这个优秀的社区总没有坏处 我有一个 Excel 2013 UDF 用户定义函数 它对于某个工作表来说是唯一的 目前 我将此 UDF 放在包含工作簿的 模块 中 但我想做的是将 UDF 代码放置在 工作表对象 中
  • 数据仓库的日历表

    对于我的数据仓库 我正在创建一个日历表 如下所示 SET NOCOUNT ON DROP Table dbo Calendar GO Create Table dbo Calendar CalendarId Integer NOT NULL
  • Intel x86 手册中是否存在诸如直接/间接寻址模式之类的术语

    为了提供一些背景知识 我想研究如何手动编码 解码 x86 指令 我遇到了ModR M and SIB字节 似乎理解 x86 寻址模式是理解指令编码方案的基础 因此 我在 Google 上搜索了 x86 寻址模式 搜索返回的大多数博客 视频都
  • 如何在 MEAN 堆栈中调试 Mongoose 和 MongoDB?

    我正在学习 MEAN 堆栈并且正在使用npm start运行我的应用程序 我对 Mongoose 和 MongoDB 有一些问题 但我得到的只是POST page 500 63 925 ms 961 这是我的应用程序的目录结构 基于本教程
  • 选择使用动态生成的表名

    我有以下问题 我的桌子 geo table 结构如下 foreign table id foreign table name some other fields foreign table name存储不同表的名称和foreign tabl
  • Dns.GetHostEntry 是否可以返回带有空地址列表的 IPHostEntry?

    我只是想知道是否存在主机名可以成功解析但返回的 hostEntry AddressList 为空的情况 目前我正在做这样的事情 IPHostEntry hostEntry Dns GetHostEntry some hostname tld
  • 如何从 Windows PowerShell 中的 doskey 别名获取完整命令

    我使用的是 Windows PowerShell 它是使用 doskey 宏进行配置的 我有一个名为Macros doskey 105 code E static5 105 135 code E static5 135 static5 co
  • 当需要使用浮点数时,如何真正避免浮点错误?

    我试图使用一些 UI 按钮将位置移动 0 1 或 0 1 来影响 3D 模型的平移 我的模型位置是一个三维浮点数 因此简单地向其中一个值添加 0 1f 会导致明显的舍入误差 虽然我可以使用 BigDecimal 之类的东西来保持精度 但我仍
  • 内存中的变量未通过存储更新为该符号

    当我运行 emu8086 时 这个结果 和 返回给我 0 为什么 data segment ans dw ends stack segment dw 128 dup 0 ends code segment start mov ax data