需要帮助使用 Visual Studio .asm 文件以汇编语言显示带小数位的数字

2023-12-09

需要帮助使用 Visual Studio 以汇编语言显示带小数位的数字.asm file.
例如,10 除 4 将是 2.5,但它只显示 2

mov eax, 10
mov ebx, 4
xor edx, edx
div ebx
call WriteDec

DIV提供整数商和余数作为结果。通过将余数乘以 10 再除以除数,您可以构造出小数点后的整数:

INCLUDE Irvine32.inc

.CODE

main PROC
    mov eax, 10             ; Dividend
    mov ebx, 4              ; Divisor
    xor edx, edx            ; High 32 bit of dividend
    div ebx                 ; Result: EAX, remainder in EDX
    call WriteDec           ; http://programming.msjc.edu/asm/help/index.html?page=source%2Firvinelib%2Fwritedec.htm

    mov al, '.'             ; Decimal point
    call WriteChar          ; http://programming.msjc.edu/asm/help/index.html?page=source%2Firvinelib%2Fwritechar.htm

    imul eax, edx, 10       ; EAX = EDX * 10 i.e. New dividend = Old remainder * 10
    xor edx, edx            ; Clear the high part of dividend
    div ebx                 ; EAX rem. EDX = EDX:EAX / EBX
    call WriteDec           ; http://programming.msjc.edu/asm/help/index.html?page=source%2Firvinelib%2Fwritedec.htm

    exit
main ENDP

END main

根据所需的小数位数,您可以重复此过程。

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

需要帮助使用 Visual Studio .asm 文件以汇编语言显示带小数位的数字 的相关文章

  • 调用可以是 cdecl 或 stdcall 的函数

    我需要编写调用外部函数的代码 该函数可以是 32 位 Windows 应用程序中的 stdcall 调用或 cdecl 我的代码 调用者 无法提前知道其中的哪一个 现在 如果我尝试从定义为 stdcall 的调用站点调用 cdecl 函数
  • 将 C 代码转换为 x86-64 汇编

    我正在尝试将 C 代码转换为 x86 64 我的目标是反转链表 传入的两个参数是 head ptr 和 offset to 以获取指针字段的地址 即指向列表中下一个节点的指针 据我了解 head ptr是通过rdi寄存器传入的 offset
  • 一个地址有多少字节? [复制]

    这个问题在这里已经有答案了 在64位机器上 我们知道一个地址是8个字节 然而 我并不完全清楚一个地址中有多少字节的信息 虚拟内存中的每个字节都有一个地址吗 或者内存中的每 64 位都有一个地址 还是取决于架构 如果这取决于架构 那么我应该如
  • 学习 (N)ASM 的最佳资源是什么? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想学习汇编已经有一段时间了 尽管我之前尝试过几次 但我还没有真正能够超越 Hello world 有
  • 难以理解汇编命令“加载有效地址”[重复]

    这个问题在这里已经有答案了 可能的重复 LEA 指令的目的是什么 https stackoverflow com questions 1658294 whats the purpose of the lea instruction LEA指
  • 是否有适用于双打 (__m128d) 的 Move (_mm_move_ss) 和 Set (_mm_set_ss) 内在函数?

    多年来 我有几次看到 in 中的内在函数float参数被转换为 m128使用以下代码 m128 b mm move ss m mm set ss a 例如 void MyFunction float y m128 a mm move ss
  • 68000 汇编语言 - CMPI.B

    What are the contents of the CCR and D3 after the following instructions sequence executes Perform the calculation by ha
  • 将 XMM 寄存器压入堆栈

    有没有办法将打包双字整数从 XMM 寄存器推送到堆栈 然后在需要时将其弹出 理想情况下 我正在寻找通用寄存器的 PUSH 或 POP 之类的东西 我已经检查了英特尔手册 但我要么错过了命令 要么没有 或者我是否必须将值解压到通用寄存器然后推
  • x86 asm 图形设置的分辨率高于 640x480?

    我刚刚开始使用汇编语言 感觉像学习新东西 并且遇到了一些问题 到目前为止 我一直在浏览的所有教程都没有回答 或者太旧而无法知道 1 我尝试了一些搜索 也许我只是不知道正确的关键字 但我找不到用于更改屏幕分辨率等的图形模式的更新列表 我发现的
  • x86 程序集 Pushl/popl 不适用于“错误:后缀或操作数无效”

    我是汇编编程的新手 正在努力解决编程基础 http savannah nongnu org projects pgubook 在带有 GNU 汇编器 v2 20 1 的 Ubuntu x86 64 桌面上 我已经能够汇编 链接执行我的代码
  • 如何将 asm 着色器编译为 fxo 文件?

    我有一个已编译的 fxo 着色器 我正在尝试对其进行稍微编辑 仅调整一些常量 使用 fxdis https code google com archive p fxdis d3d1x https code google com archiv
  • 在 qemu 中将扇区加载到 RAM

    我编写了一个简单的程序 将扇区 扇区编号 2 加载到 RAM 但什么也没打印 首先 我尝试了以下引导扇区代码 org 0x7c00 mov ax 0x1000 ES BX 1000 0000 mov es ax mov bx 0x00 Lo
  • movsbl指令的作用是什么? [复制]

    这个问题在这里已经有答案了 我在网上搜索过 但找不到明确的示例来理解该指令的作用 因此 如果有人可以举一个例子 这对我来说将会非常有帮助 用符号从字节扩展到长字移动 在Intel语法中 该指令的助记符是MOVSX 当变量类型为 C 时 C
  • 测试 xmm/ymm 寄存器是否为零的更快方法?

    It s fortunate that PTEST does not affect the carry flag but only sets the rather awkward ZF also affects both CF and ZF
  • NASM:如何正确访问SSD驱动器?

    我需要使用 NASM 16 位代码访问 SSD 驱动器 访问普通硬盘时 需要设置寄存器AX DX CX来选择柱面 磁道 扇区 扇区数 AH 选择读扇区功能 DL 选择驱动器号 CH 选择气缸 DH 选择磁盘上的一侧 CL 选择步入正轨的部门
  • 微软怎么能说WinAPI中一个字的大小是16位呢?

    我刚刚开始学习WinAPI 在MSDN中 对WORD数据类型提供了以下解释 WORD16 位无符号整数 范围是十进制 0 到 65535 该类型在 WinDef h 中声明如下 typedef 无符号短 WORD 很简单 而且它与我一直在使
  • 如何阅读英特尔操作码符号

    我正在阅读一些引用的材料Intel vol 2 SDM x86 手册 https www intel com content www us en developer articles technical intel sdm html关于汇编
  • 为什么这个函数在额外读取内存时运行速度如此之快?

    我目前正在尝试了解 x86 64 上某些循环的性能属性 特别是我的 Intel R Core TM i3 8145U CPU 2 10GHz 处理器 具体来说 在循环体内添加一条额外的指令来读取内存几乎可以使性能提高一倍 而细节并不是特别重
  • 跳转目的地太远:3 个字节

    我的循环有问题 其中包含的代码很长并且给了我错误jump destination too far by 3 byte s 当我删除时 mov edx offset str1 call writestring 这部分位于主过程下方 它不会给出
  • Linux Shellcode“你好,世界!”

    我有以下可用的 NASM 代码 global start section text start mov eax 0x4 mov ebx 0x1 mov ecx message mov edx 0xF int 0x80 mov eax 0x1

随机推荐

  • Tensorflow - 推理时间评估

    我正在使用 Tensorflow 评估不同的图像分类模型 特别是使用不同设备的推理时间 我想知道是否必须使用预训练模型 我使用一个脚本生成 1000 个随机输入图像 将它们一一输入到网络 并计算平均推理时间 谢谢 让我首先发出警告 大多数人
  • 在c#中一段时间​​内非阻塞等待/延迟的最佳实现是什么

    目前我需要在Windows Store应用程序项目中实现一个简单的非阻塞延迟功能 该函数不应该执行任何操作 只是在特定时间段内空闲而不阻塞 UI 我的问题是 如何正确实现这样的功能 我知道这是一个老问题 但在网上搜索后我真的没有任何线索 最
  • Predict.svm 中的错误:测试数据与模型不匹配

    我有一个大约 500 行和 170 列的数据框 我正在尝试使用 e1071 包中的 svm 运行分类模型 分类变量称为 SEGMENT 是一个有 6 个级别的因子变量 数据框中还有其他三个因子变量 其余都是数字 data lt my dat
  • 从 Google 通讯录中删除重复或重复的联系人

    我的目标是制作一个包含客户联系信息 地址和注释的电子表格 创建新的 Google 通讯录条目 并将联系人 ID 和 已添加 标记到表格中 该表格将已输入到 Google 通讯录的联系人标记为 已添加 这张表 我成功地做到了 一切正常 问题只
  • 即时搜索 PB 级数据

    我需要在 CSV 格式文件中搜索 PB 级的数据 使用LUCENE建立索引后 索引文件的大 小是原始文件的两倍 是否可以减小索引文件的大 小 如何在HADOOP中分发LUCENE索引文件以及如何在搜索环境中使用 或者是否有必要 我应该使用s
  • 如何在 pytorch 中更改输入图片的尺寸?

    我制作了一个卷积神经网络 我希望它获取输入图片和输出图片 但是当我将图片转换为张量时 它们的尺寸错误 RuntimeError Expected 4 dimensional input for 4 dimensional weight 20
  • Jenkins 无法识别生成的 allure 报告 xml 文件的正确目录

    我已成功将 Allure 报告集成到我的基于 Maven 的 testNG 项目中 并且能够使用 jetty 服务器查看该报告 但现在我正在尝试按照此处建议的说明将魅力报告与詹金斯集成 http wiki qatools ru displa
  • 如何处理不在 UINavigationController 堆栈顶部的 UIViewController 的旋转?

    我在 UINavigationController 中有一个根 UIViewController VC1 它通过在 willRotateToInterfaceOrientation 方法中手动调整其视图 子视图框架来处理旋转 如果根 UIV
  • 加密/解密字节数组 Crypto++

    我正在尝试使用 AES 加密字节数组 我已经能够毫无问题地加密字符串和文件 但是字节数组似乎不适合我 我传入一个要加密的字节数组 为了便于测试 我只传入由 crypto bArrayToEncrypt 生成的 AES 密钥 加密似乎有效 但
  • systemd 服务未使用 dbus 接口启动

    我正在尝试启动 systemd 服务 usnig dbus 服务 我正在关注下面提到的链接的示例 5 http www freedesktop org software systemd man systemd service html 我的
  • 在 Lua 中按值对表进行关联排序

    我有一个 key gt value 表 我想在 Lua 中排序 键都是整数 但不连续 并且有意义 Lua唯一的排序函数似乎是table sort 它将表视为简单数组 丢弃原始键及其与特定项目的关联 相反 我本质上希望能够使用PHP s as
  • GCP Firestore Python 凭证

    我在将数据从 Linux 虚拟机发送到 GCP 的 Firestore 时遇到问题 我只是想更新数据库内的项目 我遇到有关凭据的问题 根据我使用的方法 我会得到不同的错误 但我相信它们都源于同一问题 请注意 我有一个带有 json 凭据的服
  • 为什么 T* 可以在寄存器中传递,但 unique_ptr 却不能?

    我正在观看 Chandler Carruth 在 CppCon 2019 上的演讲 不存在零成本抽象 在其中 他举了一个例子 说明他对使用std unique ptr
  • 为此使用什么正则表达式

    我正在编写一个正则表达式 它将找到 1个或多个点 后面跟一个空格或者后面根本不跟任何东西 1 个或多个问号 再次后面跟一个空格或者后面根本不跟任何东西 我该如何编写这个正则表达式 以便让它执行此或操作 你只需要逃避 or with a 从字
  • Rails 3 关联错误

    我有一个表格页面和一个表格作者 每一页都属于一位作者 还为表和模型创建了迁移 但在表单中使用它时出现此错误 NoMethodError in Pages new Showing C rorapp app views pages form h
  • 不活动和活动、应用程序空闲、用户不活动自动注销

    经过大量谷歌搜索并花费了 4 个小时后 我想这是查找用户不活动和锁定屏幕的最佳方法 public MainWindow InitializeComponent var timer new DispatcherTimer Interval T
  • 如何将 detectorron2 的增强功能与使用 register_coco_instances 加载的数据集结合使用

    我已经在以 coco 格式标记和导出的自定义数据上训练了 detectorron2 模型 但现在我想应用增强并使用增强数据进行训练 如果我不使用自定义 DataLoader 而是使用 register coco instances 函数 我
  • iText7获取表格高度

    这是我的代码片段 Dim table As iText Layout Element Table New iText Layout Element Table 4 table SetWidth pagesize GetWidth 40 Di
  • 无法使用 Java FTP 客户端下载具有阿拉伯名称的文件

    我有连接到 FTP 服务器并下载文件的 Java 代码 如果文件名包含阿拉伯字母 则总是下载失败 但如果是英文的话 就下载成功了 这是我的代码 如果路径是这样则下载失败 String actualFileLocation RelatedDo
  • 需要帮助使用 Visual Studio .asm 文件以汇编语言显示带小数位的数字

    需要帮助使用 Visual Studio 以汇编语言显示带小数位的数字 asm file 例如 10 除 4 将是 2 5 但它只显示 2 mov eax 10 mov ebx 4 xor edx edx div ebx call Writ