8086 asm中的struct类型数据无法打印

2024-04-04

outputstring macro x
        push ax
        push dx
        mov ah,9
        mov dx,offset x
        int 21h ;
        pop dx
        pop ax
        endm
inputstring macro x
        push ax
        push dx
        mov ah,0ah
        mov dx,offset x
        int 21h ;
        pop dx
        pop ax
        endm

display struc                ;struc
ex1 db 20,0,20 dup('$')   ;ex1
display ends
assume cs:code,ds:data
data segment
stu_temp display<>
question db "please input a string:",'$'
data ends
code segment
start:
mov ax,data
mov ds,ax
outputstring question
inputstring stu_temp.ex1
call next_line

outputstring stu_temp.ex1+2

mov ah,2
mov dl,9 
int 21h  ;ascii(9)=tab

outputstring stu_temp.ex1+2

mov ah,2
mov dl,9
int 21h  ;ascii(9)=tab

outputstring stu_temp.ex1+2


mov ax,4c00h
int 21h

next_line:  
    push dx
    push ax
    mov dl,0dh
    mov ah,2
    int 21h
    mov dl,0ah
    int 21h
    pop ax
    pop dx
    ret

code ends
end start

我认为结果应该是

xxxxx(您的输入)“tab”xxxxx(您的输入)“tab”xxxxx(您的输入)

例如,

输入感谢,

它应该输出“谢谢谢谢谢谢”

但我得到了这个

我困惑了2天

这个问题的解决办法是什么?任何帮助表示赞赏

这个问题的解决办法是什么?任何帮助表示赞赏


就像@Michael Petch 说的,

Int 21h/ah=0ah读取一个字符串,返回的字符串包含回车符(0dh)

So use

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

8086 asm中的struct类型数据无法打印 的相关文章

随机推荐

  • Webservice方法返回XmlDocument,Reference看到一个XmlNode

    我遇到了一个无法解决的问题 所以我请求你帮助我 我正在使用 WebService 并尝试从名为 GetSystemDocument 的 WebService 方法返回 XmlDocument 该方法如下所示 WebMethod Descri
  • 当overflow-x:hidden时禁用鼠标滚动[CSS,HTML]

    问题 我的 div 的内容定位为 绝对 并且内容的宽度大于 div 根据需要 使用 overflow x hidden 剪辑 额外 内容 不过 如果我尝试使用鼠标滚动进行水平滚动 内容就会变得可见 我怎样才能不让这种事发生呢 我可以使用 J
  • While 循环不运行indexOf 搜索

    我试图找出一个字符串在另一个字符串中出现了多少次 在我的测试中 我对第一个单词使用 ea 对第二个单词使用 Ilikedthebestontheeastbeachleast 我的输出为 appearance 变量返回 0 该变量应该存储 e
  • 如何在 SwiftUI 中删除 List 和 ScrollView 的底部填充

    我想删除底部填充 即红色空间之间的空白 有什么办法可以实现吗 测试代码 struct ContentView View var body some View return NavigationView VStack the same res
  • Fabric.js 鼠标右键单击

    有没有办法在 Fabric js 画布上接收右键单击鼠标事件 以下代码仅适用于左键单击 canvas observe mouse down function console log mouse down NOTE 上面的大多数答案都已经过时
  • Rails 项目中的 rake 范围?

    我在我正在从事的项目中使用了许多解析器 当使用另一个 rake 中已经存在的方法名称时 并且因为它们都使用相同的环境 所以我会遇到冲突 有没有办法限制 rake 文件在其命名空间内的范围 我认为这就是命名空间的全部意义 Example na
  • 如何在WebLogic上查找JNDI资源?

    我在 WebLogic 11g 上部署了一个遗留应用程序 该应用程序具有以下代码 Context context new InitialContext dataSource javax sql DataSource context look
  • vaadin gwt 编译器错误未知参数:-war

    我的 vaadin 项目有问题 由于我对 vaadin 相当陌生 所以我不确定如何解决它 我想重新编译我的小部件集 但即使在自定义 Eclipse 之后 我也会收到相同的错误消息 首先它通过命令行执行编译器 接下来它告诉我小部件集是从某个类
  • Azure API 无法识别来自 Terraform 的服务主体

    为了使 Terraform azurerm 提供程序能够对将使用以下代码创建的服务主体进行身份验证 需要对下面的语法进行哪些具体更改 问题 A secondTerraform 模块需要通过 azurerm 提供程序向 Azure 进行身份验
  • 蓝牙连接无需配对

    连接蓝牙设备的正常方式是通过配对 我们需要以非正常方式连接到设备 仅使用蓝牙 MAC 地址 我们不希望系统提示输入 PIN 我们知道该设备支持此技术 但我们找不到在 Android 上执行此操作的方法 缩写代码如下所示 String mac
  • 如何使用 Storyboards 引用 UISearchController

    我添加了一个搜索栏和搜索显示控制器 假设这是我在情节提要中添加的内容 因为它们没有可拖出的 SearchController 对象 我的问题是现在如何设置 SearchController 的属性 self searchController
  • groupby 对象 pandas 的绝对值平均值

    我想计算分组对象的绝对值的平均值 I e grouped df groupby pd TimeGrouper 3MS dct x grouped profit agg mean grouped cost abs agg mean 但是 上面
  • 在 Raphael js 中使路径和图像可拖动

    是否可以使用 Raphael js 在页面周围拖放除圆形和矩形之外的对象 我想添加路径和图像 然后您可以移动它们 但事实证明这很棘手 我想与 Raphael 一起解决这个问题 因为它支持触摸界面 这是代码
  • 如何在标签下方水平对齐单选按钮

    因此 我使用以下 HTML 在 jsp 中的各自标签下方水平居中显示 4 个单选按钮
  • 在 onPostExecute 中调用另一个类的方法导致 nullPointerException

    这也可能对某人有帮助 由于 AsyncTask 是一个单独的类 如何将 OnPostExecute 的结果获取到主活动 https stackoverflow com questions 12575068 how to get the re
  • 无法在Windows上启用rabbitmq管理插件

    所以 这就是我所做的 在我的 Windows x64 位机器上安装了 Erlang 安装 RabbitMQ 启动 RabbitMQ 服务 这一步我没有任何错误 但是 当我尝试启用rabbitmq management时 我在控制台中收到一些
  • 使用 Prototype 迭代 javascript 中对象的每个属性?

    有没有办法使用 Prototype JavaScript 框架迭代对象的每个属性 情况如下 我收到 JSON 格式的 AJAX 响应 如下所示 foo 1 bar 2 barobj 75 true 76 false 85 true 如果我评
  • MySQL 如何在使用 Group By 时为不匹配的列分配空值

    我有以下 MovieTheaterTbl 表 Name Location Date TicketRevenue SnackRevenue BeverageRevenue AMC Alpine St 8 14 100 80 60 Atlas
  • 无法在数据库更新时保存更改。奇怪的延迟加载行为可能吗?

    现在 我的代码看起来就像这样简单 public class FooController Controller private readonly ApplicationDbContext db public FooController db
  • 8086 asm中的struct类型数据无法打印

    outputstring macro x push ax push dx mov ah 9 mov dx offset x int 21h pop dx pop ax endm inputstring macro x push ax pus