在DOC下如何使用Debug啊

ouyangdongfang 2004-10-27 04:45:01
我在windows下的虚拟DOC环境下运行Debug进是进去了就是无法编辑,
是该用A命令开始编辑的,但是我输入一行它就报错,请教,是何原因?
...全文
251 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
koyer 2004-11-02
  • 打赏
  • 举报
回复
广泛大概
koyer 2004-11-02
  • 打赏
  • 举报
回复
程序返回 要么用RET ,要么用MOV AX,4C00H INT 21H 或 MOV AH,4CH INT 21H ,在AH 的功能码不是02h, 是4CH ,02H 功能是用来显示 DL 中的ASC 码的。而用RET 返回的前提是:
前面有PUSH DS 等寄存器保护!!!没有的话就出错!!!!
koyer 2004-11-02
  • 打赏
  • 举报
回复
当然了,你用文本文档编完后改后缀名为.asm就行,这样的好处是不必进EDIT 编辑,可随时修改。
随时编译!!!!!!
ouyangdongfang 2004-11-02
  • 打赏
  • 举报
回复
再请问一个很菜的问题,可以用文本文档来编写汇编程序吗,然后再将扩展名改写为.asm?
ui_ppoppopp 2004-10-27
  • 打赏
  • 举报
回复
你要是这样写的话,应该保存为.asm文件,然后用ml来编译。
在debug中别这样写,

C:\DOCUME~1\John>debug
-a
0AFA:0100 jmp 106 ;; 从106开始运行
0AFA:0102 db 42 ;; buffer 里面的数据
0AFA:0103 db 21
0AFA:0104 db 34
0AFA:0105 db 56
0AFA:0106 mov ax, cs
0AFA:0108 mov ds, ax ;; ds = cs
0AFA:010A mov si, 102 ;; si指向buffer 的开头
0AFA:010D mov al, [si] ;; 把buffer里面的数据放到al中
0AFA:010F
kof2008 2004-10-27
  • 打赏
  • 举报
回复
今天有段代码,不知道自己写的是否正确?这是老师布置的作业,帮忙看看我写的是否正确?巨谢!
课题:找在buffer中:42h,21h,34h,56h中的偶数!代码如下!
     
data segment
buffer db 42h,21h,34h,56h
data ends

stack segment para stack'stack'
db 256 dup(?)
stack ends


code segment
assume cs:code,ds:data,ss:stack,es:data
start proc far
push ds
mov ax,0
push al
mov al,data
mov ds,al
mov es,al
lea si,buffer
lea di,result
mov cl,4

again:mov al,[si]
test al,01h
jz again
mov result,al
inc si
inc di
dec cx

mov ah,02h
int 21h
ret
start endp
code ends
end start
写完了,我知道,问题一定很多,还请各位牛人帮忙指教!
还有就是在int 21h上面的那个有是用于程序返回的代码:mov ah,02h到底是不是该用这个,如果不是,该用什么?如还有其它的我发提,还请帮忙指正,巨谢!
Nintendo_hc 2004-10-27
  • 打赏
  • 举报
回复
在你存放文件的目录下输入 debug "你的文件名字.exe"就可以了
大熊猫侯佩 2004-10-27
  • 打赏
  • 举报
回复
你输入的是什么?指令及语法不对必然报错。

21,459

社区成员

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

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