PASSION之ASSEMBLY(二)

汇编指令调试工具(DEBUG)

这里选用xp系统的Debug指令进行调试汇编指令。

  • debug,在cmd命令中键入debug进行debug工具模式
  • t ,执行CS:IP指向的地址的汇编指令
  • r 寄存器名 进行修改寄存器的值,r ax 回车,输入你想修改的值
    r后面不加寄存器的名称则表示查看寄存器中的值

  • d 查看内存。段地址:偏移地址

  • e 段地址:偏移地址,进行修改内存中值,字符用”“.

  • a 段地址:偏移地址,可以直接输入汇编指令

    • u 默认将CS:IP指向的开始地址进行翻译成汇编指令。也可以进行段地址:偏移地址的查询

Register

cpu能直接操作的数据来源从寄存器和内存中来,而寄存器在cpu内部,通过内部总线和运算器和控制相连。那么,cpu访问register的速度优于memory。顾名思义,展示存放数据的地方。寄存器对cpu外部器件的控制显得尤为重要,而且寄存器是某些汇编命令取数的基础。对于汇编语言的实质似乎就是,设置特定寄存器的值,执行命令使外部数据进入cpu内部的指定的寄存器(一般为通用寄存器如:AX,BX,CX,DX等)或者是内部计算出来的寄存器中数据回传到内存(统一编址的内存)。计算机进行运作或者逻辑的操作的中间结果一般是直接存放到寄存器中。当然,汇编的很多命令中隐含的是寄存器的设置。比如:段寄存器:DS(数据段寄存器配合偏移地址),CS(代码段寄存器配置IP寄存器偏移地址),SS(堆栈段寄存器配合SP寄存器偏移地址),这些段寄存器都是用来与内存进行交互的寄存器,这样CPU就大致的将二进制分为:代码段,数据段,堆栈段。于是这也是汇编语言编程的主要书写结构。

主要汇编命令

  • mov register register
  • mov register immediate number(这里是立即数寻址)
  • mov memory register
  • mov memory memory 和 mov memory immediate number有误
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值