鱼C论坛

 找回密码
 立即注册
查看: 1835|回复: 5

求大神解释这个汇编语句

[复制链接]
发表于 2014-4-15 10:48:45 | 显示全部楼层 |阅读模式
1鱼币
data segment
    lenmax  db  3
    actlen  db  ?
    string  db   20  dup(?)
data ends
code segment
assume  ds:data,cs:code
start: mov ax,data
       mov ds,ax
       lea dx,lenmax
       mov AH,0AH
       INT 21H
       mov dl,al
       mov ah,9
       int 21h
       MOV AH,4CH
       INT 21H

code ends
end


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-4-15 16:07:45 | 显示全部楼层
data segment               ;定义数据段
    lenmax  db  3          ;定义3个字节
    actlen  db  ?
    string  db   20  dup(?)    ;给定20个字节的空间
data ends
code segment                  ;定义代码段
assume  ds:data,cs:code      ;data表示ds段;code表示cs段
start: mov ax,data           ;将data段的首地址放到ax里面
       mov ds,ax             ;这里也就是讲data的首地址放到ds段寄存器里面
       lea dx,lenmax         ;将lenmax的地址放到dx里面,用来存放输入的数据
       mov AH,0AH              ;调用0AH号DOS系统功能调用,执行一次命令行输入。
       INT 21H
       mov dl,al      ;将al的地址放到dl中,这里是将要输出的数据
       mov ah,9          ;是输出字符串功能
       int 21h           ;这里是调用dos21号功能
       MOV AH,4CH
       INT 21H

code ends
end
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-4-15 16:36:57 | 显示全部楼层

这个程序可以输入3个字符吗?还是两个?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-4-15 16:44:04 | 显示全部楼层
大黑鱼 发表于 2014-4-15 16:36
这个程序可以输入3个字符吗?还是两个?

只能输出2个字符,因为我想是这样的:你定义了3个字节的数据,而后面还有一个默认的结尾字符0,也就是这样的:lenmax  db  ?,?,0   不然的话,程序就不知道怎么结尾了!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-4-15 18:04:26 | 显示全部楼层
青玄 发表于 2014-4-15 16:44
只能输出2个字符,因为我想是这样的:你定义了3个字节的数据,而后面还有一个默认的结尾字符0,也就是这样 ...

我觉得也应该是两个,但是我试了一下为什么可以显示三个呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-4-15 23:50:22 | 显示全部楼层
大黑鱼 发表于 2014-4-15 18:04
我觉得也应该是两个,但是我试了一下为什么可以显示三个呢?

咦!我的上面是两个啊!只能输入两个,再输入的话,就输不进去了!嗯...,你用的是那个版本的编译器啊!我用的是masm5.0的版本!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-10 22:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表