《福州大学汇编语言实验报告.docx》由会员分享,可在线阅读,更多相关《福州大学汇编语言实验报告.docx(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、学号:221100134姓名:徐友鑫学号:221100135姓名:蔡谨谦计算机组成原理与汇编语言程序设计试验报告试验 1(1) 使用 Debug,将上面的程序段写入内存,逐条执行,观看每条指令执行后,CPU 中相关存放器内容的变化。提示:可用E 命令和A 命令以两种方式将指令写入内存。留意用T 命令执行时,CS:IP 的指向。(2) 将下面 3 条指令写入从2023:0 开头的内存单元中,利用这3 条指令计算 2 的 8 次方。mov ax,1 add ax,axjmp 2023:0003(3)查看内存中内容。PC机 主 板 上 的 ROM中 写 有 一 个 生 产 日 期 , 在 内 存FF
2、F00HFFFFFH 的某几个单元中,请找到这个生产日期并试图转变它。提示,假设读者对试验的结果感到疑心,请认真阅读第一章中的1.15 节。日期无法修改4向内存从B8100H开头的单元中填写数据,如:e B810:0000 01 01 02 02 03 03 04 04请读者先填写不同的数据,观看产生的现象;再转变填写的地址,观 察产生的现象。提示,假设读者对试验的结果感到疑心,请认真阅读第1 章中的 1.15节。试验 21使用 Debug,将上面的程序段写入内存,逐条执行,依据指令执行后的实际运行状况填空。movmovax,ffffds,axmov movax,2200ss,axmovsp,
3、0100movax,0;ax=5BEAaddax,2;ax=5CCAmovbx,4;bx=30F0addbx,6;bx=6021push ax ;sp=OOFE;修改的内存单元的地址是1001DH 内容为0100 push bx ;sp=00FC;修改的内存单元的地址是1001EH 内容为00FE pop ax;sp=00FE;ax=6021pop bx;sp=0100;bx=5CCApush 4 ;sp=OOFE;修改的内存单元的地址是10024H 内容为0100push 6 ;sp=OOFC;修改的内存单元的地址是10028H 内容为00FE(2)认真观看 3.19 中的试验过程,然后分析
4、:为什么2023:02023:f 中的内容会发生转变?可能要再做试验才能觉察其中的规律。假设你在这里就正确答复了这个,那么要恭喜你,由于你有很好的悟性。大多数的学习者对这 个问题还是比较迷惑的,不过不要紧,由于随着课程的进展,这个问 题的答案将渐渐变得显而易见。由于mov ax,2023mov ss,ax mov sp,10 mov ax,3123 push axmov ax,3366 push ax由于随着程序的运行,存放器中的内容被修改了,像20 00 就是 ax 存放器中内容,08 01 是 ip 中的内容,39 0b 是cs 中的内容。试验 3试验内容:编程、编译、连接、跟踪试验任务:
5、(1) 将下面的程序保存为 t1.asm 文件,将其生成可执行文件t1.exe.assumecs:codesg codesgsegmentmovax,2023H movss,ax movsp,0addsp,10popaxpopbxpushaxpushbxpopaxpopbxmovax,4c00H int21Hcodesg ends end(2) 用 Debug 跟踪 t1.exe 的执行过程,写出每一步执行后,相关存放器中的内容和栈顶的内容。(3) PSP 的头两个字节是CD20,用 Debug 加载 t1.exe,查看 PSP 的内容。试验 4试验内容:bx和 loop 的使用试验任务:1编
6、程,向内存 0:2000:23F 依次传送数据 0633FH assume cs:codecode segment mov ax,0h mov ds,ax mov bx,200h mov cx,64 mov dl,0hs:mov ds:bx,dl add dl,1inc bx loopsmov ax,4c00h int 21hcode ends end(2) 编程,向内存 0:2000:23F 依次传送数据 0633FH,程序中只能使用 9 条指令,9条指令中包括“movax,4c00h”和“int21h”。 assume cs:codecode segment mov ax,0020h mov ds,ax mov bx,0 mov cx,64s:mov bx,bl inc bx loopsmov ax,4c00h int 21hcode endsend(3) 下面的程序的功能是将“movax,4c00h”之前的指令复制到内存 0:200 处,补全程序。上机调试,跟踪运行结果。assumecs:code codesegmentmovax,csmovds,ax movax,0020h moves,axmovbx,0 movcx,16s:movmoval,bxes:bx,alinc bxloop smovax,4c00hcodeintends21hend