错在哪里啊

vn68214 2007-05-14 11:45:49
STACK SEGMENT PARA STACK 'STACK'
DW 128 DUP(?)
STACK ENDS
;**************************************************************

EXTRA SEGMENT PARA 'EXTRA'

EXTRA ENDS
;**************************************************************

DATA SEGMENT PARA 'DATA'
str DB 'Please input a character',13,10,'$'

DATA ENDS
;**************************************************************

CODE SEGMENT PARA 'CODE'
ASSUME CS:CODE,DS:DATA,SS:STACK,ES:EXTRA
MAIN PROC FAR
START:
MOV AX,DATA
MOV DS,AX ;Let DS register have data segment address
MOV AX,EXTRA
MOV ES,AX ;Let ES register have extra segment address
;**************************************************************


MOV DX,SEG str
MOV DS,DX
MOV DX,OFFSET str
MOV AH,9h
INT 21h


;**************************************************************
MOV AH,4CH ;DOS function call
INT 21H ;Return to DOS
MAIN ENDP
CODE ENDS
END START
...全文
194 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
dongyi940333 2007-05-15
  • 打赏
  • 举报
回复
还有如何判断‘asssassasasassasas’中有多少‘as’呢?
先判断第一个字符是不是a,是的话,判断下一个字符是不是s,如果是则记数器加1.不是则继续,直到循环判断完所有的字符,输出记数器就是as的个数.
vn68214 2007-05-15
  • 打赏
  • 举报
回复
恩,没问题了
还有如何判断‘asssassasasassasas’中有多少‘as’呢
zara 2007-05-15
  • 打赏
  • 举报
回复
没有问题吧, 用 Masm5/6 都试过, 运行也正常, 虽然有些语句多余了.
如果是在 xp 的命令行窗口下运行没有显示的话, 这个是由于 xp 的 dos 虚拟环境不太兼容. 可以先运行下 debug, q 命令退出后再运行自己的程序试试
vn68214 2007-05-14
  • 打赏
  • 举报
回复
就是想利用9号dos中断打印字符串

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧