计算机组成原理汇编语言程序设计实验报告.docVIP

计算机组成原理汇编语言程序设计实验报告.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机组成原理汇编语言程序设计实验报告

计算机组成原理与汇编语言程序设计实验报告 实验一 实验内容:查看CPU和内存,用机器指令和汇编指令编程。 实验任务: (1)了解并熟悉WINDOW中DEBUG工具.DEBUG的命令及功能如下: *r【register】命令用于查看、改变寄存器的内容; r r ax *d【不懂为什么叫D】查看内存的内容; d [段地址]:[偏移地址],段地址可以用CS,DS,SS,ES代替 *e 【edit】改写内存的内容 e [段地址]:[偏移地址] {依次填入要赋值的数字,每个字节检用空格间隔开} *a 【asm,,嘿嘿,我自己猜的,】以汇编的形式向内存写入东西 a [段地址]:[偏移地址]如果没有指定,一开始是CS:IP,其他的时上一次修改的末尾。 *u 【英文不好,不懂,,估计是un-ooxx反汇编吧】将内存中的机器码以汇编指令显示出来 格式和a命令一样 *t 【真不懂】执行CS:IP指向的命令 (2)用A、E命令向2000:0内存中写入以下命令,并执行 mov ax,1 add ax,ax jmp 2000:0003 计算机组成原理与汇编语言程序设计实验报告 实验二 实验内容:用机器指令和汇编指令编程 实验任务: (1)预备知识: 了解DEBUG是如何执行D命令的 在E,A,U命令中使用段寄存器 mov ss,ax mov sp,100 (2)使用DEBUG执行一段程序 -a 13B4:0100 mov ax,ffff 13B4:0103 mov ds,ax 13B4:0105 mov ax,2200 13B4:0108 mov ss,ax 13B4:010A mov sp,0100 13B4:010D mov ax,[0] 13B4:0110 add ax,[2] 13B4:0114 mov bx,[4] 13B4:0118 add bx,[6] 13B4:011C push ax 13B4:011D push bx 13B4:011E pop ax 13B4:011F pop bx 13B4:0120 push [4] 13B4:0124 push [6] 13B4:0128 计算机组成原理与汇编语言程序设计实验报告 实验三 实验内容:编程、编译、链接、跟踪 实验任务: 编译一个简单的汇编程序 assume cs:code code segment mov ax,1000h mov ss,ax mov sp,0100h mov ax,1001h mov ds,ax ;swap(ds:[0],ds[2]) push ds:[0] push ds:[2] pop ds:[0] pop ds:[2] mov ax,4c00h int 21h code ends end 编译: masm.exe code.txt link.exe code.obj pause 运行: debug.exe code.exe pause 计算机组成原理与汇编语言程序设计实验报告 实验四 实验内容:【BX】和LOOP的使用 实验任务: 编程,向内存0:200 ~0:23F一次存入数据0 ~63 assume cs:code code segment mov ax,0h mov ds,ax mov bx,200h ;start from 0:200 mov cx,64h ;loop for 64h times mov ax,0h ;0h to 63h lp: mov [bx],ax inc ax; add the number inc bx, ;move the address loop lp mov ax,4c00h int 21h code ends end 编程,向内存0:200 ~0:23F一次存入数据0 ~63,程序中只能9条指令 下面的程序师将“MOV AX,40CCH‘之前的指令复制到内存中去, assume cs:code code segment mov ax,cs mov ds,ax mov ax,0020h mov es,ax mov bx,0 mov cx,16h s: mov al,[bx] mov es:[bx],al inc bx loop s mov ax,4c00h int 21h code ends end -d cs:0 16 142D:0000 8C C8 8E D8 B8 20 00 8E-C0 BB 00 00 B9 16 00 8A ..... .......... 142D:0010 07 26 88 07 43

文档评论(0)

jiqinyu2015 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档