•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

 

汇编语言指令与debug命令符的更多相关文章

  1. 汇编语言debug命令与指令机器码

    一.debug命令 二.标志信息 -r用这个指令,得到的信息右下角: NV UP EI PL NZ NA PO NC 这些符号代表的就是标志寄存器里常用标志位的值.这个是符号值对应表: 溢出标志OF( ...

  2. 【汇编语言】DOXBox 0.74 常用debug命令

    1.查看.修改寄存器(r命令) ①-r ②-r  ax(要修改的寄存器) -:m(输入想要改成什么值) 2.查看内存单元(d命令) ①-d 查看128个内存单元内容. ②-d 段地址:偏移地址 查看指 ...

  3. DEBUG命令详细说明

    启动DEBUG 1.打开Windows命令窗口 在Windows 95/98的环境中,打开命令窗口的步骤为:点击“开始”→“运行”,输入“command”命令: 在WindowsXP及WIN7的环境中 ...

  4. DOS debug 命令的详细用法

    DOS下的DEBUG命令的详细用法       2 推荐 名称 解释 格式 a (Assemble) 逐行汇编 a [address] c (Compare) 比较两内存块 c range addre ...

  5. debug命令简介

    debug命令不区分大小,debug的命令都是一个字母,后跟或不跟参数 1.debug [路径\文件] [参数] [参数]--[参数] debug相应程序 2. D(Dump) [地址] [范围] 显 ...

  6. TP5常用命令符操作

    ThinkPHP5常用命令符操作   1. 模块自动生成指令:   默认会读取应用目录application下面的build.php作为自动   生成的定义文件,如果你的定义文件位置不同,则需要使用 ...

  7. 汇编实验一 查看CPU和内存,用机器指令和汇编语言指令编程

    在装完DosBox环境之后,就可以用debug模式进行汇编指令的编程了. 实验内容:      首先用a指令进行数据的储存,然后用t命令进行调试. 可以发现ax,bx在不同的命令下发生了改变,cs的地 ...

  8. debug命令

    debug -r 查看寄存器-a 输入指令-t 执形命令 通用寄存器:AX=AH+ALBX=BH+BLCX=CH+CLDX=DH+DL 2Byte 16bitFFFF0-(2的16次方减1) debu ...

  9. DEBUG 命令用法

    (2)DEBUG 命令用法 进入 DEBUG ,用 D 命令查看数据段中 0100H——0200H 单元的内容 用 U 命令查看代码段中 0100H 开始的程序 用 R 命令查看并修改 IP 寄存器的 ...

随机推荐

  1. shell if

    shell中if做比较 比较两个字符串是否相等的办法是: if [ "$test"x = "test"x ]; then 这里的关键有几点: 1 使用单个等号 ...

  2. count(*)、count(val)和count(1)的解释

    一.关于count的一些谣言: 1.count(*)比count(val)更慢!项目组必须用count(val),不准用count(*),谁用扣谁钱! 2.count(*)用不到索引,count(va ...

  3. ActiveMQ 安装异常

    解决方式: 1.确认计算机主机名名称没有下划线: 2.如果是win7,停止ICS(运行-->services.msc找到Internet Connection Sharing (ICS)服务,改 ...

  4. bianwu | 数据行 | 填写意见

    protected void gv1_RowDataBound(object sender, GridViewRowEventArgs e) { //首先判断是否是数据行 if (e.Row.RowT ...

  5. git学习相关资料

    入门还是廖大师的博客. 搭建git服务器: http://blog.csdn.net/code_style/article/details/38764203

  6. ACM题目————最短路径问题

    Description 给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输出起点到终点的最短距离及其花费,如果最短距离有多条路线,则输出花费最少的. Input 输入n,m,点 ...

  7. cocos2dx win打包apk

    1.配置环境(未完) 2. eclipse 导入项目之后配置 Builder新建两个.一个是ndk目录下的 ndk-build.cmd  ,一个是自己写的build_native.bat 拷贝资源的 ...

  8. YTU 2987: 调整表中元素顺序(线性表)

    2987: 调整表中元素顺序(线性表) 时间限制: 1 Sec  内存限制: 2 MB 提交: 1  解决: 1 题目描述 若一个线性表L采用顺序存储结构存储,其中所有元素都为整数.设计一个算法,将所 ...

  9. c#之线程池优先级

    using System; using System.Threading; namespace ConsoleApplication1 { class Program { static void Ma ...

  10. Hibernate jar包详解

    Hibernate一共包括了23个jar包,令人眼花缭乱.本文将详细讲解Hibernate每个jar包的作用,便于你在应用中根据自己的需要进行取舍. 下载Hibernate,例如2.0.3稳定版本,解 ...