ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:512.89KB ,
资源ID:3622894      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3622894.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(微机实验.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

微机实验.docx

1、微机实验微机原理实验报告(一)班级:自动化35姓名:杨 帅学号:2130504121说明:运行平台:windows XP 32位 虚拟机DOS下调试工具:debug 系列指令代码编写:Notepad+(有语法高亮)Q1. 设有两个8个字节长的BCD码数据bcd1和bcd2。bcd1数以1000H为首地址在内存中顺序存放;bcd2数以2000H为首地址在内存中顺序存放。要求将其相加后的结果按顺序存放在以2000H为首地址的内存区中。实验思路: 可以使用LOOP循环实现加法,使用BX进行寻址和存储移位的控制。实验代码:Data segmentorg 1000Hbcd1 DB 01H,03H,05H

2、,07H,09H,0BH,0DH,0FHorg 2000Hbcd2 DB 00H,02H,04H,06H,08H,0AH,0CH,0EHData endscode segment assume CS:code,DS:Datastart: MOV AX, Data MOV DS, AX MOV CX, 8 MOV BX, 0H CLC ;let CF=0L1: MOV AL, BX+1000H ADD AL, BX+2000H DAA ;fadd adjust MOV BX+2000H, AL INC BX LOOP L1 MOV AH, 4CH INT 21Hcode endsend star

3、t实验结果:(图仅为部分步骤)Q2. 设从2000H为首地址的内存中存放着10个带符号的字节数据,编程找出其中最大的数,并存入2000H单元中。实验思路: 用dl存储当前最大的值,并不断循环替换。实验代码:data segmentbcd db 01h,02h,03h,04h,05h,06h,07h,08h,09h,00hdata endscode segment assume cs:code,ds:datastart: mov ax, data mov ds, ax mov ax, code mov cs, ax ;mov ds:2000h, bcd ;move bcd to 2000h ad

4、dress mov si, 2000h mov cx, 10 ;number of byte mov dl, 00h ;minumum numberL1: lodsb ;load a number to AL cmp al, dl jng L2 ;aldl, move al to dlL2: loop L1 mov ds:2000h, dl mov ah, 4ch int 21hcode endsend start实验结果: 运行前的初始状态 可以看到运行到最后一步之后,DL = 09H,即数据中最大的一个。Q3. 试编写程序,统计出某数组相邻两数之间符号变化的次数。实验思路:实验代码:DAT

5、A SEGMENT ARRAY DB 1,-1,2,-2,3,-3,4,-4,5,-5 NUM DB 0DATA ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATASTART: MOV AX, DATA MOV DS, AX LEA SI, ARRAY MOV AL, SI ;get the 1st byte MOV BL, 0 ;clear MOV CX, 9 ;10-1AGAIN: INC SI XOR AL, SI JNS NEXT ;SF=0,same sign INC BLNEXT: MOV AL, SI LOOP AGAIN MOV NUM, BL M

6、OV AH, 4CH INT 21HCODE ENDSEND START实验结果:可以看到,运行结束之后,BL = 09H,即数组正负变化的次数。Q4. 试编制一程序用乘法指令实现32位二进制数和16位的相乘。实验思路:实验代码:.MODEL SMALL.8086.DATA N1 DW 1234H ;32位数的高位 N2 DW 5678H ;32位数的低位 N3 DW 1212H ;16位数字 M1 DW 0 M2 DW 0 M3 DW 0.CODE.STARTUP MOV AX, N2 MUL N3 ;AL和N3相乘 MOV M3, AX MOV M2, DX MOV AX, N3 MUL

7、N1 ;将N1与N3相乘 ADD M2, AX ;将乘积的低16位加上之前乘积的高16位 ADC M1, DX ;高16位加0.EXIT END实验结果:Q5. 设有两个等字长,字节型字符串,试编写汇编程序比较它们是否完全相等,若是,则将字符Y送入AL,否则将N送入AL。实验思路:实验代码:DATA SEGMENTSTR1 DB XIANJIAOTONGDAXUE,$STR2 DB SHANGHAIJIAODAXUE,$DATA ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATASTART: MOV AX, DATA MOV DS, AX MOV AX, DS M

8、OV ES, AX ;prepare for CMPSB LEA SI, STR1 LEA DI, STR2 MOV CX, 17 ;number of characters REPZ CMPSB STR1, STR2 JNZ NOTZ MOV AL, Y JMP RETURNNOTZ: MOV AL, NRETURN: MOV AH, 4CH INT 21HCODE ENDSEND START实验结果: 可以看到,执行INT 21H指令之后,AL = 4EH,即字符N的ASCII值。心得体会:这次实验中遇到了很多的困难,比如程序出错时不知道该如何下手修改和调试,整个过程我几乎用的都是dos下的debug命令来进行调试的,也是因为没有找到更佳方便的工具和IDE。不过辛苦之后完成了实验还是很开心的。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1