汇编学习之新手上路1+2+3+……+100
2017-10-09 23:16
423 查看
题目:按下面的程序框架编程,使用循环语句计算1+2+3+…+100,并把结果保存在物理地址12345H指向的字存储单元中。
CODES SEGMENT
ASSUME CS:CODES
START:
;此处输入功能实现代码
MOV AH,4CH
INT 21H
CODES ENDS
END START
问题分析
利用loop循环将1+2+3+……+100求和,利用inc将数字加一,这里利用12345H变为1234H: 5H,最终将结果存贮到存储单元12345H中。
代码文档
DATAS SEGMENT
;此处输入数据段代码
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
mov ax,0
mov cx,100
mov dx, 1
s: add ax,dx
inc dx
loop s
mov bx,1234H
mov ds, bx
mov ds:[5H],ax
CODES ENDS
END START
调试过程
1、用r 命令查看各寄存器初始值
2、用t 命令逐条执行代码
3、一个循环后用P指令全部执行
4、用d指令查看地址单元字型数据
由“高地址内存单元存放字型数据的高位字节,低地址内存单元
存放字型数据的低位字节“12345H 存储单元存放字型数据为
13BA。
总结与疑惑
1、熟练掌握ASM和dosbox调试。
2、掌握有关知识。
3、调试过程出现过此种现象,纠结了好久但是也没能找出原因,存疑……
心得体会:
刚开始学习汇编语言,虽然感觉它不难,但是做起实验来还是有些眼高手低,一方面DOSBOX和ASM的应用全是自学的,这期间走了好多弯路(可能自己有点笨),所以这里就给出使用教程吧~
1、双击ASM软件进入软件界面:
2、在代码区编写你所需要的代码,这里就是
3、点击保存按钮(不保存运行不了),点击运行按钮运行,运行界面如下
之后可以点击调试进入DOSBOX调试,调试界面如下
如输入r命令,p命令……(注意在这里有两种调试方法,一是debugger,另外是VC,可在工具>选项里选择,如图所示)
在这次实验中,自己的调试过程出现了bug,bug如图,地址内容竟然没有!!!My God!
而且我竟然还不知道原因,截止到博客书写时,真的心塞!如果有大佬看到了,还请给小弟说一下,不胜感激!看来还是要多学习多询问,后天有汇编课的时候要问问老师啦!
CODES SEGMENT
ASSUME CS:CODES
START:
;此处输入功能实现代码
MOV AH,4CH
INT 21H
CODES ENDS
END START
问题分析
利用loop循环将1+2+3+……+100求和,利用inc将数字加一,这里利用12345H变为1234H: 5H,最终将结果存贮到存储单元12345H中。
代码文档
DATAS SEGMENT
;此处输入数据段代码
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
mov ax,0
mov cx,100
mov dx, 1
s: add ax,dx
inc dx
loop s
mov bx,1234H
mov ds, bx
mov ds:[5H],ax
MOV AH,4CH INT 21H
CODES ENDS
END START
调试过程
1、用r 命令查看各寄存器初始值
2、用t 命令逐条执行代码
3、一个循环后用P指令全部执行
4、用d指令查看地址单元字型数据
由“高地址内存单元存放字型数据的高位字节,低地址内存单元
存放字型数据的低位字节“12345H 存储单元存放字型数据为
13BA。
总结与疑惑
1、熟练掌握ASM和dosbox调试。
2、掌握有关知识。
3、调试过程出现过此种现象,纠结了好久但是也没能找出原因,存疑……
心得体会:
刚开始学习汇编语言,虽然感觉它不难,但是做起实验来还是有些眼高手低,一方面DOSBOX和ASM的应用全是自学的,这期间走了好多弯路(可能自己有点笨),所以这里就给出使用教程吧~
1、双击ASM软件进入软件界面:
2、在代码区编写你所需要的代码,这里就是
3、点击保存按钮(不保存运行不了),点击运行按钮运行,运行界面如下
之后可以点击调试进入DOSBOX调试,调试界面如下
如输入r命令,p命令……(注意在这里有两种调试方法,一是debugger,另外是VC,可在工具>选项里选择,如图所示)
在这次实验中,自己的调试过程出现了bug,bug如图,地址内容竟然没有!!!My God!
而且我竟然还不知道原因,截止到博客书写时,真的心塞!如果有大佬看到了,还请给小弟说一下,不胜感激!看来还是要多学习多询问,后天有汇编课的时候要问问老师啦!
相关文章推荐
- 2013编程之美资格赛结束,新手上路,收藏no.1认真学习(from mochavic)
- ACE学习笔记--新手上路(原创)
- c#学习日记01--新手上路
- 新手上路之图像处理学习心得
- Git新手上路,个人学习笔记
- 新手上路,scrollview 嵌套listview scrollview嵌套scrollview滑动冲突等问题的学习
- maven2学习 新手上路(笔记形式)
- 新手上路,Kotlin学习笔记
- STC51单片机自学经验分享 新手学习51单片机用汇编语言还是C语言
- 新手如何学习汇编比较好? 混合编译!!!
- 一个新手学习汇编时的简单记录
- WT库学习2篇 新手上路(简单学习以及部署到IIS上)
- 新手上路 如何学习嵌入式linux
- Jakarta Struts学习之新手上路
- Jakarta Struts学习之新手上路
- [分享]新手上路学习配置C,C++,GTK等开发环境
- 新手上路,Kotlin学习笔记(二)---方法(函数)部分
- 新手上路,Kotlin学习笔记(三)---类、对象、接口
- 新手上路学习配置C,C++,GTK等开发环境
- 新手上路,开始这种方式的学习,加油