汇编语言实验(第一次)debug调试及基本指令使用

您所在的位置:网站首页 汇编语言程序设计的四个主要步骤 汇编语言实验(第一次)debug调试及基本指令使用

汇编语言实验(第一次)debug调试及基本指令使用

2023-10-14 16:42| 来源: 网络整理| 查看: 265

文章目录 基本指令知识实验一(1/2)开始实验一(1/2)加强实验一(2/2)开始实验一(2/2)加强实验报告

基本指令知识

参照《汇编语言》(by王爽)学习整理。 1.“-R”用于查看当前寄存器中的数据内容。这里只需要掌握AX、BX、CX、DX、CS(程序段寄存器),IP(指令指针寄存器)。 该指令可用于更改寄存器内容. 在这里插入图片描述 2.“-D”命令用于查看内存中内容。 格式:-d cs:ip。列出从指定内存单元开始的128个内存单元内容。 在这里插入图片描述 3.“-e”命令 (1)-e 起始地址 数据1 数据2 数据3…。更改内存内容 (2)-e 起始地址 。在.后修改内容。 4.“-U”命令 u cs:ip。将起始地址开始的内存单元中的命令翻译成汇编命令 5.“-t”命令 逐条执行命令

实验一(1/2)开始

在这里插入图片描述 t指令 在这里插入图片描述 注意 (1)t+数值N,连续执行接下来的N条指令。 (2)t=数值,跳转到段内某条指令。 (3)t【=地址】【值】地址:跳转到,值:执行几条指令。 G指令 连续执行:G 开始:结束。 存盘操作提前在f盘中有一个ff.*的文件。 在这里插入图片描述 INC指令 :对操作数加一。

实验一(1/2)加强

在这里插入图片描述 汇编语言七种寻址方式: 1.立即寻址方式 操作数直接包含在指令中,紧跟在操作码之后的寻址方式称为立即寻址方式,把该操作数称为立即数。 MOV AL, 6 2.寄存器寻址方式 操作数直接包含在寄存器中,由指令指定寄存器号的寻址方式。 MOV BX, AX 3.直接寻址方式 操作数的有效地址直接包含在指令中的寻址方式。有效地址存放在代码段的指令操作码之后,但操作数本身在存储器中,所以必须先求出操作数的物理地址。这种寻址方式常用于存取简单变量。 MOV AL, [78H] 4.相对寻址 目标地址=PC当前值+跳转指令字节数+rel,仅在转移指令中使用 5.变址寻址 以DPTR或PC作为基址,累加器A为变址,并将两者内容相加形成的16位地址作为操作数地址 MOVC A, @A+DPTR ;执行后(A)=((A)+(DPTR)) 6.位寻址 操作数是内部RAM 20H2FH单元中的位(007FH)或者SFR中具有位地址的某一位 MOV C, 20H ;将20H位的值传送给进位位CY,20H为位地址 7.寄存器间接寻址 以寄存器中的内容为地址,以该地址中的内容为操作数。MCS-51规定R0或R1为间接寻址寄存器 MOV A, @R0 ;执行后A=((R0))

不能用立即数进行寄存器寻址。 在这里插入图片描述 在这里插入图片描述

实验一(2/2)开始

在这里插入图片描述 在这里插入图片描述 知识点: (1)ds段指针寄存器,不能有mov直接赋值。需要某个寄存器做中转。 (2)ss,sp是栈顶指针寄存器。前者是段寄存器,后者是段内段指针寄存器。ss不可直接赋值,需要中转。sp则不需要。 (3)pop:ip=ip+2;push:ip=ip-2;栈顶地址小。栈底地址大。 (4)8086CPU没有栈越界的检查。 (5)push、pop指令的使用如下: 在这里插入图片描述 (6)push、pop出栈入栈顺序: 在这里插入图片描述 (7)sp起始位置: 在这里插入图片描述 (8)数据段、代码段、栈段寄存器使用: 在这里插入图片描述 (9)修改ss指令执行后,其后的修改sp指令紧接着执行。无需“-t”命令。 在这里插入图片描述(10)写第一个汇编程序: 在这里插入图片描述 在这里插入图片描述伪指令: 汇编语言程序中有两种指令:汇编指令、伪指令。汇编指令有对应机器码,可以被编译成机器码。伪指令不会被编译成机器指令,不会被CPU执行。伪指令由编译器执行。 三种伪指令: 1. XXX segment …XXX ends:必须用到,用于定义一个段。 2. end:汇编程序结束的标记。不要与上一点的ends混淆。 3. assume:含义是假设。假设某一段寄存器和某一用segment…ends定义的段相关联。例:assume cs:codesg。将cs段寄存器和名为codesg的段相关联。

汇编语言程序结构: 在这里插入图片描述 假设>>>程序段>>>汇编程序结束 程序返回: 在这里插入图片描述 实验正文: 在这里插入图片描述 在这里插入图片描述

DATA SEGMENT DD1 DB 35H,78H,85H DD2 DB ? DATA ENDS CODE SEGMENT MAIN PROC FAR ASSUME CS:CODE,DS:DATA START:PUSH DS SUB AX,AX PUSH AX MOV AX,DATA MOV DS,AX MOV AL,DD1 CMP AL,DD1+1 JA AAA1 MOV AL,DD1+1 AAA1:CMP AL,DD1+2 JA AAA2 MOV AL,DD1+2 AAA2:MOV DD2,AL RET MAIN ENDP CODE ENDS END START

步骤:

MASM TEST.ASMLINK TEST.OBJTEST 在这里插入图片描述 实验一(2/2)加强

待更新

实验报告

在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3