8086汇编语言自学经验分享 新手入门的汇编源代码
2016-07-22 20:28
627 查看
镇场诗:吾心为他人,此智不私藏。学术有小成,愿帮大家忙。诚心说愿望,愿见文者得启发。
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1、这个是初始的代码
2、使用debug追踪程序
3、程序运行错误
你会看到,0700 : 0000 到0005是没见过的指令。其实这个是数据,只是我们没有进行改正程序把这些数据当成了代码。
4、修改IP
5、运行
修改源代码可以改正这个问题
再次追踪程序
OK了,这样做虽然可以改正错误。但是这个不是一个优秀的习惯。
一个优秀的代码,是要分段,多段的。
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
学习汇编语言,为微机原理课程打一下基础。我自学的书籍是 汇编语言 王爽 清华大学出版社。这本书通俗易懂。王爽老师写的真不错,推荐新手入门选择这本书。
我将学习中一些知识点写到博客中,是因为自学的道路很苦,所以想通过分享自己的经验让大家自学的道路好一些。二是,通过博客的记录,可以有效地防止知识的遗忘。
如果您发现我有什么写的不对的地方,请您指正。我会尽快修改的。
我不是大神,我只是一个正在奋斗的普通人。所以希望大家看了我的文章,能够得到一些启发。如果能解决问题,那就太好了。
注:此文仅用于学术研究。如果我侵犯了您的权益,请告知。看到您的告知后,我将及时作出处理。
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1、这个是初始的代码
assume cs:code code segment dw 0123h,4567h,0abcdh mov bx,0 mov ax,0 mov cx,3 s:add ax,cs:[bx] add bx,2 loop s mov ax,4c00h int 21h code ends end
2、使用debug追踪程序
3、程序运行错误
你会看到,0700 : 0000 到0005是没见过的指令。其实这个是数据,只是我们没有进行改正程序把这些数据当成了代码。
4、修改IP
5、运行
修改源代码可以改正这个问题
assume cs:code code segment dw 0123h,4567h,0abcdh start: ;加入程序入口标签,就可以解决这个问题了 mov bx,0 mov ax,0 mov cx,3 s:add ax,cs:[bx] add bx,2 loop s mov ax,4c00h int 21h code ends end start
再次追踪程序
OK了,这样做虽然可以改正错误。但是这个不是一个优秀的习惯。
一个优秀的代码,是要分段,多段的。
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
学习汇编语言,为微机原理课程打一下基础。我自学的书籍是 汇编语言 王爽 清华大学出版社。这本书通俗易懂。王爽老师写的真不错,推荐新手入门选择这本书。
我将学习中一些知识点写到博客中,是因为自学的道路很苦,所以想通过分享自己的经验让大家自学的道路好一些。二是,通过博客的记录,可以有效地防止知识的遗忘。
如果您发现我有什么写的不对的地方,请您指正。我会尽快修改的。
我不是大神,我只是一个正在奋斗的普通人。所以希望大家看了我的文章,能够得到一些启发。如果能解决问题,那就太好了。
注:此文仅用于学术研究。如果我侵犯了您的权益,请告知。看到您的告知后,我将及时作出处理。
相关文章推荐
- php 2038年问题
- C#编程.面向对象编程.可删除对象(Using{})
- Lars Knoll 宣布了Qt 5有四大目标
- java 反射机制的基本知识
- Jenkins+SonarQube代码质量检查自动化
- 自学java(1)
- 函数覆盖及其使用举例
- java中的缓存
- 手机震动
- Java设计模式-单例模式
- PHP Cookie本地存储
- c语言_函数指针的调用方法
- c++游戏别踩白块课程设计
- java web servelt
- poj2195 Going Home(最大费用最小流)
- Python.Extracting Data from XML
- java中的异常
- 使用spring3.2 @Scheduled注解 定时任务
- C++报木马
- Eclipse中最常用的一些快捷键