•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. 【python cookbook】【字符串与文本】8.编写多行模式的正则表达式

    问题:用正则表达式对一段文本块做匹配,但是希望在进行匹配时能够跨越多行 解决方案: 1.正则表达式添加对换行符的支持: 2.re.compile()函数一个有用的标记-re.DOTALL使得正则表达式 ...

  2. seo之google rich-snippets丰富网页摘要结构化数据(微数据)实例代码

    seo之google rich-snippets丰富网页摘要结构化数据(微数据)实例代码 网页摘要是搜索引擎搜索结果下的几行字,用户能通过网页摘要迅速了解到网页的大概内容,传统的摘要是纯文字摘要,而结 ...

  3. ServiceStack.Redis常用操作 - 事务、并发锁_转

    一.事务 使用IRedisClient执行事务示例: using (IRedisClient RClient = prcm.GetClient()) { RClient.Add("key&q ...

  4. jar包里查找指定的class文件,排查是否存在或重复,工具软件:Java Class Finder

    jar包里查找指定的class文件,排查是否存在或重复,工具软件:Java Class Finder 1,下载工具地址:www.idesksoft.com/classfinder.html,如图: 2 ...

  5. PHP程序中删除字符串最后一个字符的三种方法

    常见的语法格式: foreach ($arr as $key => $value) {$arr_str = $arr['x_id'] . ',' . $arr_str;} 假设字符数组 $arr ...

  6. HDU 3487:Play with Chain(Splay)

    http://acm.hdu.edu.cn/showproblem.php?pid=3487 题意:有两种操作:1.Flip l r ,把 l 到 r 这段区间 reverse.2.Cut a b c ...

  7. C# 插件

    1.EsFrameWork框架 http://www.oraycn.com/ESFramework_download.aspx

  8. php开启openssl的方法,openssl安装

    php开启openssl的方法,openssl安装 2014年10月10日 8312次浏览 什么是openssl? 关于openssl,我说的不如百度百科齐全,还是看看百度百科的解释吧!http:// ...

  9. 通达OA 指纹考勤机接口 源代码

    通达oa2011已经支持 指纹考勤机  但只限中控iclock660 这款2000大洋的型号 通过本文的开发接口,可以与任意一款指纹机集成, 需求指纹机管理软件能实时保存数据 我这里用的是 中控u16 ...

  10. ACM题目————Subsequence

    Description A sequence of N positive integers (10 < N < 100 000), each of them less than or eq ...