组成实验报告.docx
- 文档编号:24796319
- 上传时间:2023-06-01
- 格式:DOCX
- 页数:11
- 大小:16.41KB
组成实验报告.docx
《组成实验报告.docx》由会员分享,可在线阅读,更多相关《组成实验报告.docx(11页珍藏版)》请在冰豆网上搜索。
组成实验报告
上海理工大学光电信息与计算机工程学院
《计算机组成》实验报告
专 业计算机科学与技术
姓名 陈晓阳
学 号
年 级2015级
指导教师邬春学
成绩:
教师签字:
实验一汇编实验一4
实验二汇编实验二7
实验三汇编实验三12
实验一汇编实验一
一、实验目的
1)掌握汇编的基本语法
二、实验环境
MicrosoftWindows7MasmV2.2
三、实验内容
编程计算表达式x=axb+c-d/(e+f)
其中x、a、b、c、d、e、f均为双字节整数。
地址分别为X、A1、B1、C1、D1、E1、F1
四、实验代码及截图
1)
datasegment
;inputdatasegmentcodehere
A1DB2
B1DB1
C1DB3
D1DB4
E1DB1
F1DB4
X1DB
dataends
stacksegment
;inputstacksegmentcodehere
stackends
codesegment
assumecs:
code,ds:
data,ss:
stack
start:
movax,data
movds,ax
;inputcodesegmentcodehere
movAL,A1
MULBL
ADDAL,C1
SUBAL,D1
MOVBL,E1
ADDBL,F1
DIVBL
MOVX1,AL
movah,4ch
int21h
codeends
endstart
1)
实验二汇编实验二
一、实验目的
学习间接寻址、数组和转移指令的用法
二、实验环境
MicrosoftWindows7MasmV2.2
三、实验内容
1)一个由3个元素组成的整数数组,已经存放在主存的连续存储单元中,数组的起始地址为AS。
设AS{10h,20h,30h}。
编程实现:
将数组AS中的元素向右循环移动一个位置,例如移位后变成{30h,10h,20h}。
编程实现:
将AS中最大元素和最小元素分别存于Max和Min中。
2)将字符串source中的内容复制到target中,并显示输出。
四、实验代码及截图
1)
datasegment
ASDW10H,20H,30H;inputdatasegmentcodehere
MAXDW0
MINDW0;数据初始
dataends
stacksegment
;inputstacksegmentcodehere
stackends
codesegment
assumecs:
code,ds:
data,ss:
stack
start:
movax,data
movds,ax;将data给ds
movcx,0;cx赋初始值0
movsi,offsetas;将data偏移地址存到si
movax,[si];data内容给ax
addsi,2;si加2
Li:
movbx,[si]
mov[si],ax
movax,bx
addsi,2
addcx,1
cmpcx,2
JNZLi
subsi,6
mov[si],ax;将30移位到第一位
movax,[si]
movMIN,ax
movMAX,ax;初始化MIN,MAX
addsi,2
movbx,[si]
cmpbx,ax
JLL1;bx movMAX,bx;如果bx>=ax,把bx值存入MAX addsi,2;si后移一个数据 movdx,[si] cmpbx,dx JGL4 movMAX,dx;如果bx>dx则执行L4,否则将dx存入MAX L1: addsi,2 movbx,[si] cmpbx,ax JLL2;bx movMAX,bx L4: cmpax,dx JGL5 L5: movMIN,dx;将dx存入MIN L2: movbx,[si] subsi,2 movax,[si] cmpbx,ax JGL3;bx大于ax则跳转L3,否则将bx存入MIN movMIN,bx L3: movMIN,ax;此时ax为10,将其存入MIN movah,4ch int21h codeends endstart 2) datasegment sourcedb'Helloworld$' dataends data1segment targetdb30dup() data1ends stacksegment ;inputstacksegmentcodehere stackends codesegment assumecs: code,ds: data,ss: stack start: movax,data movds,ax;data存入ds movax,data1 moves,ax;data1存入es leasi,source;source地址存到si leadi,target;target地址存到di movcx,2 std;DF=1 repmovsb;将si中字符串复制到di中 leadx,target movah,9 int21h;输出复制得到的字符串 movah,4ch int21h codeends endstart 1) 2) 实验三汇编实验三 一、实验目的 1)学习逻辑运算指令和移位指令的用法 二、实验环境 MicrosoftWindows7MasmV2.2 三、实验内容 1)将一个指定字符串进行异或加密,每个单字符的密钥(0-255)保存在数组Key中。 程序运行过程: 显示明文,显示所产生的密文,显示解密后的明文。 例如key={125,248,16,8,26} 2)将一个指定字符串进行循环移位加密。 每个单字符的密钥(-7~7)保存在数组Key中。 程序运行过程: 显示明文,显示所产生的密文,显示解密后的明文.例如key={-2,2,1,0,-1},其中负数表示循环左移,正数表示循环右移,0不变,数字表示移动的位数 四、实验代码及截图 1)datasegment stringdb'Hello$';明文 keydb125,248,16,8,26;密钥 msg1db'mingwen: $' msg2db'miwen: $' dataends stacksegment ;inputstacksegmentcodehere stackends codesegment assumecs: code,ds: data,ss: stack start: movax,data movds,ax leadx,msg1 movah,09h int21h leadx,string movah,09h int21h;输出加密前明文 movcx,5 loop1: movbx,cx moval,string[bx-1] xoral,key[bx-1] movstring[bx-1],al looploop1;明文加密 leadx,msg2 movah,09h int21h leadx,string movah,09h int21h;输出加密后的密文 movcx,5 loop2: movbx,cx moval,string[bx-1] xoral,key[bx-1] movstring[bx-1],al looploop2;解密密文 leadx,msg1 movah,09h int21h leadx,string movah,09h int21h;输出解密的明文 movah,4ch int21h codeends endstart 2)datasegment stringdb'Hello$';待加密明文 keydb-2,2,1,0,-1;密钥 msg1db'mingwen: $' msg2db'miwen: $' dataends stacksegment ;inputstacksegmentcodehere stackends codesegment assumecs: code,ds: data,ss: stack start: movax,data movds,ax leadx,msg1 movah,09h int21h leadx,string movah,09h int21h;输出加密前的明文 movcx,5 moval,0 loop1: movbx,cx pushcx;对cx压栈 movcl,key[bx-1] cmpcl,al jlt1;若密钥小于0则跳转到tl rolstring[bx-1],cl;密钥不小于0则左循环移位 jmps1;跳至sl t1: negcl;若密钥小于0,则取补,变为正数进行操作 rorstring[bx-1],cl;右循环移位 s1: popcx;弹栈 looploop1 leadx,msg2 movah,09h int21h leadx,string movah,09h int21h;输出加密后的密文 movcx,5 moval,0 loop2: movbx,cx pushcx;压栈 movcl,key[bx-1] cmpcl,al;比较密钥与0的大小 jgt2;若密钥大于0则执行t2 negcl;密钥不大于0则对cl取补 rolstring[bx-1],cl;对密文左循环移位 jmps2 t2: rorstring[bx-1],cl;密钥大于0,对密文右循环移位 s2: popcx;弹栈 looploop2 leadx,msg1 movah,09h int21h leadx,string movah,09h int21h;输出解密后的明文 movah,4ch int21h codeends endstart 1) 2)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 组成 实验 报告