汇编语言实验报告_搭建开发环境

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《汇编语言》实验报告

得分:

2、添加添加Irvine32.inc等所在的目录到include files中;

3. 将masm32中的ml.exe和ml.err拷贝到VC的Microsoft Visual Studio\VC98\Bin目录中

二、创建与配置project:

2.编辑教材85页不带输出的程序

代码如下:

.386

.model flat,stdcall

.stack 4096

ExitProcess PROTO, dwExitCode:DWORD DumpRegs PROTO

.data

Rval SDWORD ?

Xval SDWORD 26

Yval SDWORD 30

Zval SDWORD 40

.code

main PROC

mov al,+127

add al,1

mov al,-128

sub al,1

call DumpRegs

INVOKE ExitProcess,0

main ENDP

END main

结果:

3.输出各寄存器的值。

DumpRegs PROTO

程序最后加入调用DumpRegs过程的语句

call DumpRegs

输出结果如下:

4.单步执行的方式调试该程序,查看每步结果,并解释每步结果,并写成注释。(特别注意对标志位的影响)

1、按F10进行调试、alt+F5调出寄存器的变化信息框。

程序及标志位解读如下:

.386

.model flat,stdcall

.stack 4096

ExitProcess PROTO, dwExitCode:DWORD

DumpRegs PROTO

.data

Rval SDWORD ?

Xval SDWORD 26

Yval SDWORD 30

Zval SDWORD 40

.code

main PROC

mov ax,1000h //ax 4096 ;bx 57344;

inc ax //ax 4097;bx 57344(实现自增)

dec ax////ax 4096;bx 57344(实现自减)

mov eax,Xval //把Xval复制给eax

neg eax //ax 26;bx 57344(取反令ax=-26)

mov ebx,Zvalv //ax 65510 ;bx 40 ;cx(把Zval的40赋给ebx)add eax,ebx // ax 14 ;bx 40 (求和eax=ebx+eax=14)mov Rval,eax//把eax复制给Rval

mov cx,1 //ax=14;bx=40;cx=1

sub cx,1

mov ax,0FFFFh

inc ax//ax 65535;bx=10;cx=0;

mov cx,0

sub cx,1

mov ax,7FFFh

add ax,2 //ax 32767 bx=40 cx =65535

mov al,0FFh//ax 32769

add al,1 //ax 33023

add al,1 //ax 32768

mov al,-128 //ax 32895

sub al,1 //ax 32896

call DumpRegs //ax 32895

INVOKE ExitProcess,0 //结束退出程序main ENDP

END main

. .. .

..w..

相关文档
最新文档