标题:一种我认为新奇的写法
只看楼主
热心网友
Rank: 1
来 自:河南鹤壁
等 级:新手上路
帖 子:21
专家分:0
注 册:2020-2-25
结帖率:100%
 问题点数:0 回复次数:5 
一种我认为新奇的写法
程序代码:
.model tiny                            
.stack                                 ;栈段
.data                                  ;数据段
    Hello    db    'Hello World!','$'
.code                                  ;代码段
start:
org 100h
jmp    Main
org 103h
Print    Macro    Str
        Mov     ax,     data               ;但这句会报错,显示"Improper operand type :DATA",我该怎样将.data段变成数据段呢?
        Mov     ds,     ax
        lea    dx,    Str
    call        DisplayStr
    endm
Main:
    Print Hello

    Mov    ax,    04c00h
    int        21h
DisplayStr:
    Mov    ah,    9h
    int        21h
    ret
end start


如果直接写:
Mov ax, data
会报错,但不写的话会成这样:

我该怎么修改,难道只能用普遍的写法吗?
搜索更多相关主题的帖子: Mov data 报错 Hello Main 
2020-07-21 09:46
热心网友
Rank: 1
来 自:河南鹤壁
等 级:新手上路
帖 子:21
专家分:0
注 册:2020-2-25
得分:0 
我知道了,应该把Mov ax,data改成Mov ax,@data
2020-07-21 14:03
Valenciax
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:11
帖 子:337
专家分:2462
注 册:2016-5-15
得分:0 
自行debug,很好.
2020-07-21 16:30
热心网友
Rank: 1
来 自:河南鹤壁
等 级:新手上路
帖 子:21
专家分:0
注 册:2020-2-25
得分:0 
我是不知道语法
2020-07-22 07:30
Valenciax
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:11
帖 子:337
专家分:2462
注 册:2016-5-15
得分:0 
嗯,看了一下,写法怪怪的,tiny不是这个场合用,应该是small, org 之类也不必.
可以简化这样:
程序代码:
.model small                
Print    Macro    Str
        Mov     ax,@data
        Mov     ds,ax
        lea        dx,Str
        call    DisplayStr
        endm    
.stack                                 ;栈段
.data                                  ;数据段
    Hello    db    'Hello World!','$'
.code                                  ;代码段
start:
    Print    Hello
    Mov        ax,04c00h
    int        21h
DisplayStr:
    Mov        ah,9h
    int        21h
    ret
end start


[此贴子已经被作者于2020-7-22 14:02编辑过]

2020-07-22 14:01
热心网友
Rank: 1
来 自:河南鹤壁
等 级:新手上路
帖 子:21
专家分:0
注 册:2020-2-25
得分:0 
第一次用,写的很简陋
2020-07-22 14:56



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-502579-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.354212 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved