汇编 DEBUG 实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、实验目的、
学习查看CPU及存储器命令
二、实验设备及环境
主流PC
Win7_x64
DOSBox Status Window
DEBUG.EXE
三、实验内容及步骤(截图并对图示进行必要的文字说明)
(1) 使用Debug,将下面的程序段写入内存,逐条执行,观察每条指令执行后,CPU 中相关寄存器中内容的变化。
机器码汇编指令
b8 20 4e mov ax,4E20H
05 16 14 add ax,1416H
bb 00 20 mov bx,2000H
01 d8 add ax,bx
89 c3 mov bx,ax
01 d8 add ax,bx
b8 1a 00 mov ax,001AH
bb 26 00 mov bx,0026H
00 d8 add al,bl
00 dc add ah,bl
00 c7 add bh,al
b4 00 mov ah,0
00 d8 add al,bl
04 9c add al,9ch
命令: 作用: 结果: mov ax,4e20 将4e20h存入ax, ax=4e20h add ax,1416 将ax+1416h存入ax,a x=6236h mov bx,2000 将2000h存如bx, bx=2000h add ax,bx 将ax+bx的值存入ax, ax=8236h
mov bx,ax 将ax的值存入bx, bx=8236h
add ax,bx 将ax+bx的值存入ax,ax溢出, ax=046ch
mov ax,001a 将001ah存入ax, ax=001ah
mov bx,0026 将0026h存入bx, bx=0026h
add al,bl 将al+bl的值存入al, ah=00h,al=40h,ax=0040h
add ah,bl 将ah+bl的值存入ah, ah=26h,al=40h,ax=2640h
add bh,al 将bh+al的值存入bh, bh=40h,bl=26h,bx=4026h
mov ah,0 将0000h存入ah, ah=00h,al=40h,ax=0040h,
add al,bl 将al+bl的值存入al, ah=00h,al=66h,ax=0066h
add al,9ch 将al+9ch的值存入al, ah=00h,al=02h,ax=0002h,
(2) 将下面3条指令写入从2000:0开始的内存单元中,利用这3条指令计算2的8次方。
mov ax,1
add ax,ax
jmp 2000:0003
最终结果: 2h^8=100h
(3) 查看内存中的内容
PC机主板上的ROM中写有一个生产日期,在内存FFF00H~FFFFFH的某几个单元中,请找到这个生产日期并试图改变它。
(4) 向内存从B8100H开始的单元中填写数据,如:
-e B810:0000 01 01 02 02 03 03 04 04
四、实验小结
1、了解了 ADD MOV JMP 命令的用处。
2、学会了使用DEBUG编写简单的计算程序。
3、无法修改原因可能是因为 BIOS出厂日期为ROM为只读不可写内容。
4、学会了向某个内存地址写入数据。