![](https://img-blog.csdnimg.cn/20210524212157658.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
汇编指令
争取有时间写一些汇编的
谢永奇1
这个作者很懒,什么都没留下…
展开
-
DOSBox调试时g命令卡死了
使用DOSBox使用debug的g命令进行调试程序时出现了下面图中卡死的情况:我发现两种情况会出现以下情况:(1)在汇编程序末尾没有返回系统的汇编指令,这种情况只需要在代码段最末尾加上:mov ax,4c00hint 21h然后重新编译运行即可(2)还有是在不恰当的时候使用了g命令导致卡死,这种情况需要先关闭DOSBox,然后重新打开DOSBox就可以了这两种情况是我有遇到过的,可能还有一些其他原因但还没遇到过...原创 2020-10-06 22:10:02 · 8372 阅读 · 1 评论 -
检测点6.1(王爽-汇编语言)
(1)下面的程序实现依次用内存0:0~0:15单元中的内容改写程序中的数据,完成程序:assume cs:codesgcodesg segment dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987hstart: mov ax,0 mov ds,ax ;初始化数据段地址指向段地址0的位置 mov bx,0 mov cx,8 ;寄存器是16位结构的,刚好8个字型数据所以循环8次 s: mov ax,[bx] ;----原创 2020-10-06 16:50:44 · 1938 阅读 · 3 评论 -
Win10 64位系统运行汇编程序(使用masm与dosbox)
这里包括了dosbox的程序和masm工具,只能两步就可以直接使用了dosbox下载链接提取码:dosb1、设置挂载的文件夹,后期写的汇编程序可以放到那个文件夹下来编译运行(1)打开dosbox\DOSBox-0.74文件夹(2)用记事本打开 DOSBox 0.74 Options.bat 文件,拉到文件底(3)修改挂载的文件夹,如图位置2、添加masm工具(用于编译和链接的)把dosbox文件夹下的文件拷贝到你上面挂载的文件夹中去然后就可以打开DOSBox 来进行汇编文件的编原创 2020-10-05 20:15:38 · 3182 阅读 · 6 评论 -
浅谈汇编中的ds,cs与ip,ss与sp寄存器
ds,cs,ss都是汇编中的段寄存器而ip状态与控制寄存器,sp为索引寄存器,cs与ip搭配使用,ss与sp搭配使用;虽然ds,cs,ss都是段寄存器但是他们的作用却大不相同,(基于8086CPU)(1)ds (Data Segment) 数据段寄存器当我们想读取一个指定的内存单元上的数据时,我们可以通过把数据所在的内存段地址放入到ds寄存器中去,然后读取或者写入数据时就可以通过该ds寄存器内的段地址偏移得到我们的数据,或者偏移后写入数据例如,我们现在想读取1000:0这个地址上的数据并且往100原创 2020-10-05 15:45:49 · 14241 阅读 · 1 评论 -
如何执行一条汇编指令
在电脑中执行一条指令主要又三个步骤:(1)在指定地址上写入一条汇编指令(2)使cs寄存器与ip寄存器指向指令所在的地址(3)开始执行(1)在指定地址写入一条汇编指令:终端上常用的命令有: R命令:查看寄存器内容:直接输入r //例: r 修改寄存器内容:r + 寄存器名称 //例:r ax ------> 修改ax寄存器中的数据,回车后输入内容 D命令:查看当前内存中的内容:直接输入d 然后回车 查看指定内存的内容:d + 指定地址原创 2020-10-05 13:10:25 · 2338 阅读 · 0 评论 -
汇编CPU运行流程
以下是来自b站小甲鱼汇编讲解中个人对CPU运行流程的理解,因为看到很多人说对CPU流程图突然就懵了不理解,所以说一下自己的怎样理解的:首先我们先要知道mov和jmp指令的格式:(1)mov:是数据传送指令,也是最基本的编程指令, 用于将一个数据从源地址传送到目标地址(寄存器间的数据传送本质上也是一样的) 传递数据到寄存器:mov ax,0000 //把0000传送到ax寄存器去 寄存器间传递数据:mov ax,bx //把bx中的值传送到ax去(注:mov在数据与寄存原创 2020-10-04 16:38:40 · 1315 阅读 · 1 评论