社区
汇编语言
帖子详情
汇编初学者超简单问题!
Linux2001
2003-02-26 03:23:03
大家好,我是一个才学Dos汇编的白痴菜鸟,基本上我知道了一些常用的寻址指令和一些伪指令,但是关于跳转方面这个问题是否需要把每个指令必须把影响的标志位给记住(就是记住哪些标志位被那些指令更改?如何更改?)这样岂不是非常的多?还有就是这样一个问题
程序开头的时候:
push ds
sub ax, ax
push ax
.
.
.
ret //为什么这样就可以返回到Dos状态了
...全文
54
15
打赏
收藏
汇编初学者超简单问题!
大家好,我是一个才学Dos汇编的白痴菜鸟,基本上我知道了一些常用的寻址指令和一些伪指令,但是关于跳转方面这个问题是否需要把每个指令必须把影响的标志位给记住(就是记住哪些标志位被那些指令更改?如何更改?)这样岂不是非常的多?还有就是这样一个问题 程序开头的时候: push ds sub ax, ax push ax . . . ret //为什么这样就可以返回到Dos状态了
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhaohangcom
2003-03-20
打赏
举报
回复
`
woody009
2003-03-09
打赏
举报
回复
是中文版
Linux2001
2003-03-01
打赏
举报
回复
多谢woody009(微宏无绪),您的建议我感谢万分,请问那本书是中文版吗
Linux2001
2003-02-28
打赏
举报
回复
多谢大家的解答,我想我大概懂了,
to: yue621(工作狂)我看过Windows 下的汇编,比Dos下的好像要简单的多,内存寻址时平坦模式,大多数功能直接调用Windows API就搞定了,没有太大的成就感,我觉得Dos下的汇编比较有成就感,而且病毒几本上都是Dos下的汇编写的,但是好像对Win2000的NTFS格式无效
wobuzai
2003-02-28
打赏
举报
回复
tekguy():
这个问题的关键不是在于在DOS下程序如何退出到DOS,而是在于使用PUSH 0,RET退出到DOS的巧妙。这种方法常用于病毒程序或EXPLOIT程序等。
yue621
2003-02-28
打赏
举报
回复
大家都不要再从Dos开始学了,学习win32 assembly吧,至于一些基本的命令,找本手册看看
就可以了,不要再在Dos下搞了。
woody009
2003-02-28
打赏
举报
回复
这个我想LINUX2001你就错了 学汇编是应该从实模式下开始 但是你说的病毒基本是DOS下写的就错了 这个 我想是以个人的习惯 当然你可以在DOS下写完后(编成COM小文件)然后自己手工写PE文件头就象CIH一样 如果你想更有成就感的话 我建议你在LINUX下写汇编 并结合一些硬件方面的书籍看
电子工业出版社的那本<INTEL全系列:编程 接口和结构>大概是这个名字(国外的大学译本)
就是一本很不错的汇编和组成原理 接口技术的整和教材 而且如果你结合了操作系统看的话 你很快就会发现你对电脑地层的东西了解的深入
tekguy
2003-02-28
打赏
举报
回复
一般教科书上很少讲,讲也讲不清楚。建议找一本DOS原理的书,很早以前有一本张载鸿的书写得挺清楚(书名忘了)。
TO wobuzai(我不在):
您的两种方法是有疑问的。因为,程序返回时不能保证CS中是PSP的段址,所以用近返回可能要出错。
见我前帖。
tekguy
2003-02-27
打赏
举报
回复
实际上,这与程序段前缀(PSP)有关。PSP的0偏移处有一条返回DOS的调用(INT 20H),程序加载到内存中时,DS中是PSP的段地址,所以,那三条指令的作用是将地址PSP:0压入堆栈,程序最后再用RET转向PSP:0执行INT 20H。还有,程序须定义为FAR过程,否则RET不能被正确地汇编。
wobuzai
2003-02-27
打赏
举报
回复
push 0
ret
是让程序去执行CS:[0],而CS:[0]是PSP的开始,就执行了INT 20指令。
也可以这样:
sub ax,ax
call ax
Linux2001
2003-02-27
打赏
举报
回复
里面没有讲解到为什么push ds
sub ax, ax
push ax
...
ret
这样就可以返回DOS了啊
abutter
2003-02-27
打赏
举报
回复
当然是IBM PC汇编了啊。
Linux2001
2003-02-27
打赏
举报
回复
to: aaa2520(aaa2520),请问是清华大学哪本汇编教程?我有两本,一本是80x86汇编语言程序设计,一本是IBM PC汇编什么。。。的,我没有看到哪里有讲啊!
紫郢剑侠
2003-02-26
打赏
举报
回复
2
这实际是利用RET指令的功能.
另外一种返回的方法是:
mov ah, 4Ch
INT 21h
aaa2520
2003-02-26
打赏
举报
回复
呵呵
1) 你说的 太对了 都应该记住了,要么知道去那里查找
2)你看看 清华大学 那本 汇编语言讲的很清楚了,
单片机
初学者
程序包!!!!!!!!!
通过这些源程序,
初学者
可以逐步了解单片机的内部工作流程,学会如何利用单片机的硬件资源,并且培养解决
问题
的能力。此外,理解并调试程序中的错误也是学习过程中不可或缺的一部分。在实际操作中,配合硬件平台,如...
汇编
语言
超
浓缩教材,适合
初学者
!
本教材是属于
汇编
语言浓缩版,很好的学习资料,详细的讲解了CPU,寄存器等内容,特别适合
初学者
。和大家共享一下,希望对大家有所帮助!
珍藏
汇编
语句查询工具,
超
好用!
5. **学习资源**:可能包含
汇编
语言的基础教程,帮助
初学者
快速入门。 【asmbook内容推测】 从压缩包文件名"asmbook"来看,这可能是一本关于
汇编
语言的电子书籍或者教程集合。书名中的"asm"代表
汇编
,而"book"则...
汇编
语言
超
浓缩教程(经典)
总的来说,《
汇编
语言
超
浓缩教程》是一本适合
初学者
和爱好者的经典教材,它以简短风趣的语言,详细的阐述了
汇编
语言的作用以及
简单
的用法。通过本书的学习,读者不仅可以掌握
汇编
语言的基础,还能领略到其魅力所在,...
汇编语言
21,497
社区成员
41,618
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章