- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编实验报告—山东大学
实验一 熟悉汇编环境及调试命令
内容和要求:
(1)选取教科书中典型例题(完整程序),用编辑软件在PC机中形成汇编源程序*.ASM文件,然后编译、连接,生成目标文件和可执行文件。
(2)用DEBUG程序进行调试,熟悉动态调试环境和常用命令。
目的:
掌握用编辑软件编辑程序文本的方法;在DOS环境下,熟练掌握用MASM5.0宏汇编程序对ASM文件进行编译、连接等操作步骤;熟悉并掌握用DEBUG调试程序。
实验程序
DATAS SEGMENT
one db 20 dup(32),1,WELCOME YOU!,7,13,10
count equ $-one
DATAS ENDS
STACKS SEGMENT stackstack
stap db 256 dup(?)
top equ this word
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
mov ax, seg stacks;此处输入代码段代码
mov ss,ax
mov sp,offset top
mov si,offset one
mov cx,count
next: mov dl,[si]
mov ah,2
int 21h
inc si
loop next
MOV AH,4CH
INT 21H
CODES ENDS
END START
结果
Debug调试:
输入a,进行逐行汇编,输入c, 比较两内存块,输入d,内存信息以16进制显示;输入e,修改内存指定的字节;输入f,可以预置一段内存; 输入g,执行程序;输入h,制算术运算;输入i,从指定端口地址输入;输入l,读盘;输入m,内存块传送;输入n,置文件名;输入o,从指定端口地址输出;输入q,结束DEBUG调试;输入r,显示和修改寄存器;输入s,查找字节串;输入t,跟踪执行;输入u,反汇编;输入w,存盘操作。
实验总结:
通过实验,了解了程序书写,熟悉了MASM环境,编译和运行的方法,对汇编有了初步认识。
掌握了Debug调试方法,对程序修改有很大帮助,通过练习,熟悉了各调试指令。
实验二 多位十进制数相加求和显示
内容和要求:
将两个多位十进制数(如四位)相加,要求被加数、加数以ASCII码形式按顺序存放在以DATA1和DATA2为首的5个内存单元中(低位在前)。要求:将相加结果仍以常用十进制数形式显示在屏幕上。
目的:
学习数据传送、加法运算及十进制数(BCD码)运算调整指令的用法;熟悉在PC机上建立、汇编、连接、调试和运行汇编语言程序过程,练习分析程序,会查错。
实验程序:
DATA1 SEGMENT
buf db 10
db 0
db 10 dup(0)
sum dw ?
buff db 10
db 0
db 10 dup(0)
sum1 dw ?
tw1 db please input the first num:,$
tw2 db please input the second num:,$
tw3 db sum:,$ ;此处输入数据段代码
DATA1 ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATA1,ss:stacks
START:
MOV AX,DATA1
MOV DS,AX
mov ax,stacks
mov ss,ax
pushf
;显示输入a
mov ah,9
mov dx,offset tw1
int 21h
;输入buf
;mov dx,seg buf
;mov ds,dx
mov dx,offset buf
mov ah,0ah
int 21h
;换行
mov ah,2
mov dl,10
int 21h
;换行
mov ah,2
mov dl,10
int 21h
;提示输入b
mov ah,9
mov dx,offset tw2
int 21h
;输入buf
;mov dx,seg buf
;mov ds,dx
mov dx,offset buff
mov ah,0ah
int
文档评论(0)