- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编语言实报告
实验1 查看CPU和内存,用机器指令和汇编指令编程1.预备知识:Debug的使用
2.实验任务(第45页)(1)已跟踪执行
(2)
(3)通过DEBUG中的D命令查看到主板的生产日期[以月、日、年,分隔符为/的格式]存储在内存ffff:0005~ffff:000C(共8个字节单元中)处。此生产日期不能被改变,因为其具有‘只读’属性。
通过向内存中的显存写入数据,使计算机根据写入的数据进行ASCII转换,并将转换后且可打印的字符输出到屏幕上。
实验2 用机器指令和汇编指令编程
预备知识:Debug的使用2.实验任务(第71页)(1)使用Debug,将下面的程序段写入内存,逐条执行,根据指令执行后的实际运行情况填空。从第一空开始依次如下:ax=5BEAax=5CCAbx=30F0bx=6022sp=FE 220FE 5CCAsp=FC 220FC 6022sp=FE 6022sp=100H 5CCAsp=FE 220FE 30F0sp=FC 220FC 2F32
说明:此题可能因机子软、硬件环境不同而导致答案不一致!
(2)仔细观察图3.19的实验过程,然后分析:为什么2000:0~2000:f中的内容会发生改变?
答:因为用T指令进行调试时,会产生中断。而为了保护现场,CPU则先将标志寄存器进栈、再把当前CS的值进栈,最后将IP的值进栈。
实验三 汇编语言程序的调试与运行
将下面的程序保存为t1.asm文件,生成可执行文件t1.exe;
assume cs:codesg
codesg segment
mov ax,2000h
mov ss,ax
mov sp,0
add sp,4
pop ax
pop bx
push ax
push bx
pop ax
pop bx
mov ax,4c00h
int 21h
codesg ends
end
用Debug跟踪t1.exe的执行过程,写出每一步执行后相关寄存器中的内容
PSP的前两个字节是CD 20,用Debug加载t1.exe,查看PSP的内容
程序段前缀PSP格式:
偏移
字节数
说 明
0000
02
中断20H
0002
02
以节计算的内存大小(利用这个可看出是否感染引导型病毒)
0004
01
保留
0005
05
至DOS的长调用
000A
02
INT 22H 入口 IP
000C
02
INT 22H 入口 CS
000E
02
INT 23H 入口 IP
0010
02
INT 23H 入口 CS
0012
02
INT 24H 入口 IP
0014
02
INT 24H 入口 CS
0016
02
父进程的PSP段值(可测知是否被跟踪)
0018
14
存放20个SOFT号
002C
02
环境块段地址(从中可获知执行的程序名)
002E
04
存放用户栈地址指针
0032
1E
保留
0050
03
DOS调用 ( INT 21H / RETF )
0053
02
保留
0055
07
扩展的FCB头
005C
10
格式化的FCB1
006C
10
格式化的FCB2
007C
04
保留
0080
80
命令行参数长度(不包含总为最后的0D)及参数也是程序运行期间缺省的DTA
实验四 [bx]和loop指令的联合使用
编程:向内存0:200~0:23F依次传送数据0~63
assume cs:code
code segment
mov ax,0020h
mov ds,ax
mov bx,0
mov dl,0
mov cx,40h
s: mov [bx],dl
inc bx
inc dl
loop s
mov ax,4c00h
int 21h
code ends
end
编程:向内存0:200~0:23F依次传送数据0~63,程序中只能使用9条指令(包括程序的2条返回语句)
assume cs:code
code segment
mov ax,0020h
mov ds,ax
mov bl,0
mov cx,64
s: mov [bx],bl
inc bl
loop s
mov ax,4c00h
int 21h
code ends
end
下面程序的功能是将“mov ax,4c00h”之前的指令复制到内存0:200处,补全程序。上机调试,跟踪运行结果。
assume cs:code
code segment
mov ax,code //或者是cs
mov ds,ax
mov ax,0020h
您可能关注的文档
最近下载
- 艾滋、梅毒、乙肝母婴传播预防演示课件.pptx VIP
- 2023年秋冀教版数学二年级上册第1单元:观察物体(教学课件).pptx VIP
- 二年级上册语文词语表2024版(拼音版).pdf VIP
- 甘肃事业单位历年综合公共基础知识真题.pdf
- 人教版数学二年级上册1.1 认识厘米 作业.docx
- 新人教版七年级数学上册第一二单元测试卷.docx VIP
- 《G移动互联电子商务系统》部署运维手册.doc VIP
- 电影赏析《肖申克的救赎》.pptx VIP
- 物业公司各层级工资构成及评定标准.pdf VIP
- 2023年新疆昌吉州玛纳斯县兵团一四九团(东阜城镇)(社区工作人员100题含答案)高频难、易错考点模拟卷.docx VIP
文档评论(0)