• 汇编语言指令与debug命令符


    •MOV与ADD指令

    汇编指令

    控制CPU完成的操作

    形式化语法描述

    mov ax, 18

    将18送入AX

    (AX)=18

    mov   ah, 78

    将78送入AH

    (AH)=78

    add ax, 8

    将AX中的数值加8

    (AX)=(AX)+8

    mov ax, bx

    将BX中数据送入AX

    (AX)=(BX)

    add   ax, bx

    将AX、BX内容相加,结果存入AX

    (AX)=(AX)+(BX)

                                   •说明:汇编指令不区分大小写;两个操作数必须位数一致。

    •Debug命令
    ▫R命令:查看、改变CPU寄存器的内容
    ▫D命令:以16进制形式显示一块内存区域的内容
     
    ▫E命令:改写内存中的内容
    ▫A命令:以汇编指令的格式在内存中写入一条机器指令
     
    ▫U命令:将内存中的机器指令翻译为汇编指令
    ▫T命令:执行一条机器指令
     
    ▫G命令:执行到指定位置(断点),如“g cs:0012”;
    ▫P命令:执行子程序调用、循环、中断、重复字符串操作等指令,停止于下条指令。
     
    ▫Q命令:退出Debug
    •说明:
    ▫在Debug中输入或显示的数据都是十六进制形式;
    ▫Debug命令是单个字母,命令和参数的大小写可混合输入;
    ▫当命令出现语法错误时,将在出错位置显示 “^Error”;
    ▫使用T命令执行一条指令前,一定要确保其有效。无效指令可能导致处理器死锁、Debug无法响应、甚至系统重新引导。
     
                                                 
                                                                        MOV/ADD/SUB指令(1/2)
                                                                         •功能:传送、累加、累减。
                                                                         •格式:两个操作数。

    操作数1

    操作数2

    示例

    寄存器

    立即数

    mov ax, 1000H

    段寄存器

    寄存器

    mov ds, ax

    寄存器

    寄存器

    add bx,   ax

    寄存器

    内存单元

    sub   cx,   [0]

    内存单元

    寄存器

    mov   [0], al

    寄存器

    段寄存器

    mov   bx,   ds

    内存单元

    段寄存器

    mov [0],   ds

    段寄存器

    内存单元

    mov ds, [0]

    ……

    ……

    ……

    •INC指令(inc)
    ▫格式:inc 操作数   
    ▫功能:将操作数的值加1
    ▫说明:操作数可以是寄存器,也可以是内存单元
     
    •DEC指令(dec)
    ▫格式:dec 操作数
    ▫功能:将操作数的值减1
    ▫说明:操作数可以是寄存器,也可以是内存单元
     
    •使用LOOP指令实现循环功能的要点
    ▫在CX中存放循环次数;
    ▫LOOP指令中的标号所标识地址要在指令前面;
    ▫要循环执行的程序段写在标号和LOOP指令中间;
     
    •LOOP循环程序框架

            mov cx,循环次数

      s:   循环执行的程序段

      ……

            loop s

     
  • 相关阅读:
    ubuntun16.04不支持intel的最新网卡,升级到17.10后解决
    python网络爬虫之使用scrapy下载文件
    Django之QuerySet 创建对象
    一起来学linux:磁盘与文件系统:
    python自动化运维九:Playbook
    一起来学linux:FTP服务器搭建
    Learning Scrapy 中文版翻译 第二章
    python自动化运维八:Ansible
    linux c编程:make编译一
    【原创】大叔经验分享(27)linux服务器升级glibc故障恢复
  • 原文地址:https://www.cnblogs.com/acm1314/p/4560622.html
Copyright © 2020-2023  润新知