鱼C论坛

 找回密码
 立即注册
查看: 3617|回复: 4

(新手)如果要求字符串从键盘中输入该怎么办?

[复制链接]
发表于 2016-12-2 19:43:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
data segment
        str1 db 'what is your name?',0ah,0dh,'$'
        cn EQU $-str1
        str2 EQU str1+cn-5          ; 定义str2单元
data ends
code segment
         assume ds:data,cs:code,es:data
start:mov ax,data
         mov ds,ax
         mov es,ax                  ; 段寄存器初始化
         mov dx,OFFSET str1
         mov ah,09h
         int 21h                    ; 显示字符串
         mov si,OFFSET str1         ; di指向原字符串首单元
         mov di,OFFSET str2         ; si指向目表位置首单元
         mov cx,cn                  ; 循环次数送cx
         add si,cn-1                ; si指向原串末单元
         add di,cn-1                ; di指向目标位置末单元
         std                        ; df=1
         rep movsb                  ; 重复传送
         mov dx,OFFSET str2
         mov ah,09h
         int 21h                    ; 显示字符串
         mov ah,4ch
         int 21h                    ; 返回DOS
code ends
         end start
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-12-3 08:31:43 | 显示全部楼层
顶一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-12-5 03:05:17 | 显示全部楼层
这个恐怕要参照in指令,你用金手指看一下吧。
另外,我还是比较看不懂你写的东西,大概还没看到后面

比如 int 21h居然是显示字符串的指令?
比如 cn EQU $-str1 这种伪操作可行?cn的值是什么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-5 17:55:43 | 显示全部楼层
zealstar 发表于 2016-12-5 03:05
这个恐怕要参照in指令,你用金手指看一下吧。
另外,我还是比较看不懂你写的东西,大概还没看到后面{:10_2 ...

这个程序的功能是将str1中的内容移动到str2中,是学校做实验的内容 现在要我们改一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-5 17:56:35 | 显示全部楼层
zealstar 发表于 2016-12-5 03:05
这个恐怕要参照in指令,你用金手指看一下吧。
另外,我还是比较看不懂你写的东西,大概还没看到后面{:10_2 ...

cn里存的是循环次数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-19 16:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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