汇编语言指令与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

时间: 2024-10-13 18:10:37

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

汇编语言入门:debug调试工具

对于大学生来说,基本都需要学习高级编程语言,相信大多数理工类大学生都知道c++.c语言.Java语言等高级语言,也知道机器语言这个最低级的语言,但是却有很多都不知道汇编语言,或许听过这个名字,却不知道用途等.现在我就来给大家讲解一下汇编语言以及入门.我也是刚学习汇编语言,大家可以跟着我一起学习.汇编语言与高级语言不同,它是面向机器的语言,最接近于机器语言.学习汇编语言,必须要了解计算机中机器指令.数据.符合的表示形式和存储格式以及机器指令程序的运行方式等.汇编语言的实践性很强,必须要边学习边动手

汇编相关(ASCII码字符表 DEBUG命令 BIOS功能调用表 DOS功能调用表 汇编语言错误信息表)

汇编相关 一些关于汇编的常用东西,包括: ASCII码字符表 DEBUG命令 BIOS功能调用表 DOS功能调用表 汇编语言错误信息表 ASCII码字符表 DEBUG命令 BIOS功能调用表 DOS功能调用表 汇编语言错误信息表

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

1.查看.修改寄存器(r命令) ①-r ②-r  ax(要修改的寄存器) -:m(输入想要改成什么值) 2.查看内存单元(d命令) ①-d 查看128个内存单元内容. ②-d 段地址:偏移地址 查看指定地址128个内存单元的内容. ③-d 段地址:偏移地址1  偏移地址2 查看指定地址1 到 指定地址2 内存单元的内容. ④-d 段地址:偏移地址  Lm 查看指定地址 开始的m个长度的内存单元内容. 3.修改内存单元(e命令) ①-e   段地址:偏移地址  m n q r (修改的值之间用 

DEBUG命令详细说明

启动DEBUG 1.打开Windows命令窗口 在Windows 95/98的环境中,打开命令窗口的步骤为:点击“开始”→“运行”,输入“command”命令: 在WindowsXP及WIN7的环境中,打开命令窗口的步骤为:点击“开始”→“运行”,输入“cmd”命令: 2.启动DEBUG 在命令窗口中启动DEBUG,启动命令一般为:DEBUG  [文件名] [参数表].其中:文件名指定被调试的文件,其包括名和后缀,参数表是被调试文件运行时所需要的参数.被调试的文件可以是系统中的任何文件,但通常它

Debug命令

R:查看.改变CPU寄存器的内容. r 查看寄存器内容. r [寄存器名字]: value  改变寄存器内容. D:查看内存中的内容. d 段地址:偏移地址,接着使用d命令可列出后续的内容. d 段地址:起始偏移地址 结尾偏移地址 E 改写内存中的内容. e 起始地址 数据 数据 数据 ... e 起始地址  使用提问方式逐个修改内存中的内容. U 查看我们写入的或者内存中原有的机器码锁对应的汇编指令. u 段地址:偏移地址 T执行一条或者多条指令. A 以汇编指令的形式在内存中写入机器指令.

debug命令简介

debug命令不区分大小,debug的命令都是一个字母,后跟或不跟参数 1.debug [路径\文件] [参数] [参数]--[参数] debug相应程序 2. D(Dump) [地址] [范围] 显示主存单元的内容 3.E(Enter) [地址] [数据表] 用数据表中的数据修改从[地址]出开始主存内容,无数据表则只显示内容 4.F(Fill) 范围 数据表 用数据表中的数据填充指定范围的主存.数据不足,则重复填充 5.R(Register) [寄存器] 不指定寄存器,则显示寄存器状态:指定寄

TP5常用命令符操作

ThinkPHP5常用命令符操作 1. 模块自动生成指令: 默认会读取应用目录application下面的build.php作为自动 生成的定义文件,如果你的定义文件位置不同,则需要使用 --config 参数指定如下: php think build (--config build.php) 2. 快速生成类库文件 1) 快速生成控制器类 执行下面的指令可以生成 index模块的 Blog控制器类库文件 php think make:controller index/Blog 2) 快速生成模

Linux 虚拟机安装后的配置和一些命令符笔记

一.安装后的配置 1.设在终端的字体为等宽字体 比如:DejaVu Sans Mono 2.将当前的普通用户加入到sudo用户组adduser en sudochmod +w /etc/sudoersmousepad /etc/sudoers 3.编辑source.list 加入国内的源两个选一个##163 源deb http://mirrors.163.com/debian/ jessie main non-free contribdeb http://mirrors.163.com/debi

在命令符模式下编译并执行Java程序

对于Java初学者,建议使用纯文本文件来编写Java程序,并在命令符模式下使用工具程序编译和执行Java程序.使用javac工具编译.java,使用java工具执行.class.(推荐sublime编辑器) 怎么在命令符模式下编译并执行Java程序?弄了好久查了不少资料终于解决.记录下来,便于总结.分享.查阅. 首先根据自己计算机的操作系统下载和安装sun公司的JDK,http://www.oracle.com/technetwork/cn/java /javase/downloads/inde