汇编语言初学习

目录

  1. 为什么写这篇文章
  2. Debug中的几个命令
  3. 我认识的几个寄存器
  4. hello world!
  5. 细节
  6. 心理活动

为什么写这篇文章

最近开始学习汇编语言,看的是王爽老师的《汇编语言》。感觉教程通俗易懂,并且这个学期刚好在学计组和操作系统,上手很快,但有些点很容易忘记,故作此文章,记录一些知识点和心路历程。本人才学疏浅,如有错误请指正。

Debug中的几个命令

  1. 查看寄存器信息 -r
  2. 修改寄存器内容 -r +寄存器名字
  3. 查看内存信息-d 段地址:偏移地址 (结尾偏移地址)
  4. 修改内存单元内容 -e 地址 + (数据+数据+数据…)/(数据 空格下一个)
  5. 查看汇编指令 -u 地址
  6. 执行cs:ip指向的命令 -t
  7. 向内存写入汇编指令 -a 地址+汇编指令
  8. 退出debug -q
  9. 执行程序到代码段CS:偏移地址 -g 偏移地址
  10. 直接执行完loop循环/程序中最后一步-p

我认识的几个寄存器

通用寄存器: ax bx cx(记录程序长度) dx
段寄存器:cs(当前指令的段地址) ds(内存单元的段地址) ss(栈顶元素的段地址)
指针寄存器: ip(当前指令的偏移量) sp(栈顶元素的偏移量)

Hello world!

第一个汇编程序hello.asm
总的过程为 编程->编译(masm)->连接(link)->加载->运行
在这里插入图片描述
在dos中用masm和link命令进行编译连接,hello.asm我放在D:\hb文件夹即挂载在C盘的文件夹
运行masm和link命令后,只需输入hello一直回车就可以生成hello.exe文件,如下图
在这里插入图片描述
也可以用简化的方式进行编译和连接,只要在命令后加分号;
在这里插入图片描述
之后直接键入hello就可以运行程序了。

细节

待补充。。。。

心理活动

一开始做第一章实验时因为win10里没有debug命令,所以在虚拟机用xp做。学习汇编初给我感觉就是很爽,有反馈。每次输入一行命令都能成功的得到结果,不会出现莫名其妙的错误。想起之前学习android时,装个android studio都费了老大劲,写个程序也莫名其妙出错就难受。而学习汇编能给我正反馈,让我有学下去的动力,很舒服啊。
之后严同学告诉我下个dosbox就可以在win10下debug了,我试了下,的确可以,但和虚拟机下的xp相比,分辨率有点问题,尤其是dosbox行数较少,alt+enter全屏后分辨率也不对,而且一开始要挂载目录,然后操作一下,有点麻烦。于是百度了下,解决了。
打开dosbox所在1目录,找到DOSBox 0.74 Options.bat,用记事本打开,找到下面几个参数并修改。

fullresolution=1920x1080
windowresolution=1280x800
output=opengl

保存再打开dosbox就会发现分辨率变了,可以根据自己的需要修改分辨率。
其次同样在DOSBox 0.74 Options.bat中找到[autoexec]
在下面加入几行代码

MOUNT C D:\hb
C:

其中hb是我放exe的地方,如下图。
在这里插入图片描述
保存后退出。再打开dosbox会发现已经输入上述代码了,直接输入debug就进入debug了。
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值