| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2560 人关注过本帖
标题:刚学16位汇编,如何能分段写程序?
取消只看楼主 加入收藏
libinden71
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2015-12-3
结帖率:63.64%
收藏
已结贴  问题点数:20 回复次数:2 
刚学16位汇编,如何能分段写程序?
程序代码:
assume cs:code,ds:data,ss:stack

data segment
    MSG_INFO    db  'hello world',0
data ends

stack segment stack
    db    128 dup (0)
stack ends

StringPorc segment 
strlen proc  FAR uses CX DI  pStr:WORD   ;NEAR 段内跳跃   FAR 段跳跃

        mov cx, 0FFFFH
        mov di,pStr
        
        CLD
        REPNZ SCASB
        JNZ QUIT
        mov ax,0FFFEH
        sub ax,cx
        ret    
QUIT:
        xor ax,ax
        ret
strlen endp

StringProc ends

code segment
start:
        mov ax, data
        mov ds,ax
        mov ax,stack
        mov ss,ax
        mov ax,StringPorc
        mov es,ax
        
        invoke strlen offset MSG_INFO

        mov ax,4C00H
        int 21H
code ends
end start
[local]1[/local]
1. 这几个错误要怎么改?刚学汇编不是很懂。
2. 看到有人网上可以这样分段写(像C一样),但是我这样写就报错不知道为什么。求大佬告知。
这图是我扣的网上的代码:
[local]2[/local]
感觉这样写和C都快一样了,还能传参,保存寄存器,外部在用invoke调用,但是我自己试了下(就是上面的代码)就各种报错,我看了王爽老师的那本汇编 书上也没介绍这种写法。求大佬告知这种写法的课程视频或者书。多谢!
搜索更多相关主题的帖子: 汇编 data mov 分段 stack 
2019-11-22 00:12
libinden71
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2015-12-3
收藏
得分:0 
附上图
图片附件: 游客没有浏览图片的权限,请 登录注册

2019-11-22 00:13
libinden71
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2015-12-3
收藏
得分:0 
错误信息:
图片附件: 游客没有浏览图片的权限,请 登录注册
2019-11-22 00:14
快速回复:刚学16位汇编,如何能分段写程序?
数据加载中...
 
   



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

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