汇编实验.docx

上传人:b****3 文档编号:27018382 上传时间:2023-06-25 格式:DOCX 页数:22 大小:542.19KB
下载 相关 举报
汇编实验.docx_第1页
第1页 / 共22页
汇编实验.docx_第2页
第2页 / 共22页
汇编实验.docx_第3页
第3页 / 共22页
汇编实验.docx_第4页
第4页 / 共22页
汇编实验.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

汇编实验.docx

《汇编实验.docx》由会员分享,可在线阅读,更多相关《汇编实验.docx(22页珍藏版)》请在冰豆网上搜索。

汇编实验.docx

汇编实验

实验1调试程序DEBUG的使用

一、DEBUG命令的使用

2、用DEBUG调试程序的学习

1.装载HELLO.EXE

2.利用R、U、D、T、G命令调试程序

思考题

不可以随意在DEBUG提示符“-”后不带参数发出命令G;

从CS:

IP指向的指令开始执行程序,直到程序结束或遇到INT 3

从CS:

IP指向的指令开始执行程序,直到遇到断点。

实验2指令系统及程序格式

1.传送指令

用A命令在内存100H处键入下列内容;用U命令检查键入的程序,特别注意左边的机器码

用T命令逐条运行这些指令,每运行一行检查并记录有关寄存器及IP的变化情况。

并注意标志位有无变化。

2.加减法指令:

思考题:

这次运行还是用T调试行不行?

如何单步运行上述小程序?

用R命令检查一下IP的内容。

注意T命令与IP的关系。

可行;T=2009;

3.带进位加减法:

用A命令在内存300H处键入下列内容,并用U命令,T命令检查

上面这段程序若改用16位操作指令达到同样结果,怎么改?

试修改并运行之

4.BCD码加减法

5、内存操作数及各种寻址方式使用:

6、DEBUG环境下汇编运行程序方法

思考题:

可否随意在DEBUG提示符“-”后不带参数发出命令G?

什么情况下使用命令G时,可不用“=”给出执行的首地址?

不可以随意在DEBUG提示符“-”后不带参数发出命令G;

从CS:

IP指向的指令开始执行程序,直到程序结束或遇到INT 3

从CS:

IP指向的指令开始执行程序,直到遇到断点。

实验3选择结构程序设计

1.编写实验内容要求的两个程序;

(1)      显示AL中两位十六进制数程序:

 

datasegment

dataends

stacksegment

db256dup(?

stackends

codesegment

assumecs:

code,ds:

data,ss:

stack

start:

movax,data

movds,ax

movax,stack

movss,ax

moval,0c5h

calldisp_al

moval,065h

calldisp_al

movah,04ch

int21h

;disp_al子程序将寄存器AL中的数值以十六进制显示出来

disp_al:

movdh,al

movbx,2;bx用于循环,一个字节最多可以显示成两个字符,所以循环次数是2次

movcl,4;首先显示高4位,在下次循环进再显示低4位

shral,cl

again:

andal,0fh

cmpal,9

jahex

addal,'0';如果小于9,加上字符'0'将数字转换字符

jmpdisp

hex:

subal,10;如果大于9,先减去10,再加上字符'A',就可以将数字转换成相应的'A'~'F'

addal,'A'

disp:

;利用中断显示字符

movdl,al

movah,02h

int21h

moval,dh

decbx

testbx,bx

jnzagain

ret

codeends

endstart

(2)显示键入字符程序 

datasegment

DB0

dataends

codesegment

assumecs:

code,ds:

data

mainprocfar

pushds

subax,ax

pushax

movax,data

movds,ax

next:

movah,07

int21h

cmpal,0dh

jEend_d

cmpal,'0'

JGEDY0;>=0

JMPNEXT;<'0'...30H

DY0:

CMPAL,'9'

JLEIS_09

CMPAL,'A'

JGEDY_A;DAYUA

JMPNEXT;<'A'...41H

DY_A:

CMPAL,'Z'

JLEIS_AZ

CMPAL,'a'

JGEDY_xA;DAYUxA

JMPNEXT;<'a'...61H

DY_xA:

CMPAL,'z'

JLEIS_AZ

JMPNEXT

;......................

IS_AZ:

MOVAH,02

MOVDL,'c'

INT21H

JMPNEXT

IS_09:

MOVAH,2

MOVDL,AL

INT21H

JMPNEXT

end_d:

ret

mainendp

codeends

endmain

2.对其进行汇编及连接,产生.EXE文件

3.对.EXE文件进行调试运

DISPHEX.EXE

 

DISPKEY.EXE

对DSPKEY.EXE键入不同的字符,分别进行调试

在DOS的模拟环境下运行这两个.EXE文件

 

实验4循环结构程序设计

1.编写实验内容要求的程序;

编写一循环程序,测量一字符串长度,并用16进制数显示之。

JMPSTART

DB'Thisisaprogramtomeasurethelengthofastring。

'

DB0D,0A

DB'thelengthofthestringis:

$'

START:

MOVAH,9

MOVDX,102

INT21

MOVBX,101

MOVAL,'$'

MOVDH,FF

LOP:

INCBX

INCDH

CMPAL,[BX]

JNZLOP

MOVCH,2

MOVCL,4

LOP1:

ROLDH,CL

MOVDL,DH

ANDDL,0F

ADDDL,30

CMPDL,3A

JCJ

ADDDL,7

J:

MOVAH,2

INT21

DECCH

JNZLOP1

INT20

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1