汇编学习之新手上路1+2+3+……+100

来源:互联网 发布:java帮助文档下载 编辑:程序博客网 时间:2024/06/11 04:24

题目:按下面的程序框架编程,使用循环语句计算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

MOV AH,4CHINT 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!这里写图片描述而且我竟然还不知道原因,截止到博客书写时,真的心塞!如果有大佬看到了,还请给小弟说一下,不胜感激!看来还是要多学习多询问,后天有汇编课的时候要问问老师啦!

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 小米手机wifi下载速度慢怎么办 苹果8plus上网慢怎么办 小米5c死机了怎么办 苹果x自拍反方向怎么办 硅胶手机壳出油怎么办 指环扣松了怎么办图解 塑料放久了发粘怎么办 橡胶时间久了粘怎么办 胶的手机套变黄怎么办 手机壳硅胶变黄怎么办 硅胶手机壳大了怎么办 硅胶手机壳变大了怎么办 硅胶手机壳有点大怎么办 硅胶手机壳粘手怎么办 透明手机壳变黄怎么办? 耳机胶套经常掉怎么办 硅胶手机壳粘毛怎么办 耳机海绵套坏了怎么办 沙发垫海绵坏了怎么办 汽车坐海绵坏了怎么办 苹果手机边框有缝隙怎么办 孕期牙套子掉了怎么办 平果充电线不匹配怎么办 苹果六外壳掉漆怎么办 苹果平板充电没反应怎么办 苹果平板黑屏没反应怎么办 苹果平板卡机了怎么办 苹果7plus掉漆怎么办 皮的手机壳脏了怎么办 小米5x边边裂开怎么办 荣耀8的后盖摔了怎么办 hp打印机卡了纸怎么办 华为荣耀9进水了怎么办 小米5x屏幕脱胶怎么办 小米5x后盖松动怎么办 苹果手机没电了怎么办 荣耀9的后盖裂了怎么办 手机一直在开机画面怎么办华为 华为手机一直显示开机画面怎么办 华为p7手机开不了机怎么办 华为荣耀8弯了怎么办