微机原理上机实验报告
微机原理汇编语言上机实验报告

微机原理汇编语言上机实验报告-CAL-FENGHAI.-(YICAI)-Company One1第三次上机实验报告一.实验目的1.熟练掌握汇编语言程序设计的方法及上机步骤。
2.掌握算术运算指令的应用。
3.掌握子程序的设计方法。
4.掌握DOS功能的调用方法。
二.实验仪器586微机一台三.实验内容有一个首地址为A的N字数组,请编程序使该数组中的数按从大到小的次序排列。
编程要求及提示:[1] 参加排序的数据及个数由学生自己定义。
[2] 要将排序前的数组和排序后的数组在屏幕上显示出来。
四.给出实验内容对应的源程序及流程N = 50STACK SEGMENT STACK 'STACK'DW 100H DUP()TOP LABEL WORDSTACK ENDSDATA SEGMENTDATABUF DW NDB N DUP()ORIGINAL DB 13,10,13,10,'THE ORIGINAL DATA:$'ORDERED DB 13,10,10,13,'THE ORDERED DATA:$'DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART:MOV AX,DATAMOV DS,AXMOV ES,AXMOV AX,STACKMOV SS,AXLEA SP,TOP;随机数据MOV CX,DATABUFLEA SI,DATABUF+2MOV BL,12MOV AL,14L:MOV [SI],ALINC SIADD AL,BLLOOP LLEA DX ,ORIGINALMOV AH,9INT 21HCALL DISPAL;下面给数据排序程序MOV CX,DATABUFDEC CXLEA SI,DATABUF+2ADD SI,CX; SI指向数据区末地址L1:PUSH CXPUSH SIL2:MOV AL,[SI]CMP AL,[SI-1]JBE NOXCHGXCHG AL,[SI-1]MOV [SI],ALNOXCHG:DEC SILOOP L2POP SIPOP CXLOOP L1LEA DX,ORDEREDMOV AH,9INT 21HCALL DISPALEXITPROC:MOV AH,4CH;结束程序MOV AH,1INT 21HDISPAL PROC NEARPUSH AXPUSH BXPUSH CXPUSH DXPUSH DILEA DI,DATABUF+2MOV CX,NDISPAL2:MOV AL,[DI]SHR AL,1SHR AL,1SHR AL,1SHR AL,1CALL CHANG ;------------------------------------------------MOV AH,2MOV DL,ALINT 21HMOV AL,[DI]AND AL,0FHCALL CHANG;-------------------------------------------------MOV AH,2MOV DL,ALINT 21HMOV AH,2MOV DL,20HINT 21H ;为了让结果看得清楚,让显示的数用空格空开 INC DILOOP DISPAL2POP DIPOP DXPOP CXPOP BXPOP AXRETDISPAL ENDPCHANG PROC NEARCMP AL,10JNGE CHANG1ADD AL,7CHANG1:ADD AL,30HRETCHANG ENDPCODE ENDSEND START五.实验心得在实验过程中出现了类型不匹配的错误,归根结底还是对知识的掌握熟悉度不够;再者由于初次上机编写一个完整的汇编程序难免会出现这样或那样的问题,但在老师和同学的帮助下最终完成了这个程序的编写运行调试,收获颇丰。
微机原理实验报告参考

实验一汇编语言程序上机过程练习1.实验目的掌握汇编语言程序上机的步骤,掌握汇编语言程序编辑、汇编、连接、运行、调试的方法。
2.实验内容:输入老师提供的汇编语言源程序,完成汇编、连接、运行、调试过程。
3.实验步骤:(1)、上机环境的准备在资源管理器中,在d盘上新建自己的文件夹zhangsan(备注:请把zhangsan替换成你自己的文件夹名,用英文字母命名,并且名字长度不超过8个字符)。
把机器上的masm.exe和link.exe等文件拷到该文件夹内。
(2)、上机过程①切换工作路径:打开命令提示符窗口、转到d盘、切换我的文件夹为当前路径②把老师提供的源程序用记事本(或者EDIT)输入到机器内,保存为扩展名为.asm的文本文件。
③用汇编程序MASM对源程序进行汇编,如果源程序有错误则修改,直到汇编通过,生成扩展名为OBJ的二进制的目标文件。
④用连接程序LINK对上面生成的二进制目标文件进行连接,有错误则修改源程序,重新进行汇编、连接,直到连接成功生成扩展名为EXE的可执行文件。
⑤在DOS提示符下运行可执行文件。
屏幕上显示“Hello Word!”⑥用DEBUG对可执行文件进行调试。
4.附源程序:DATA SEGMENTMSG DB 'HELLO WORLD!$'DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXLEA DX,MSGMOV AH,09HINT 21HMOV AH,4CHINT 21HCODE ENDSEND START实验二汇编语言程序设计练习1.实验目的(1)掌握汇编语言程序设计的基本步骤,分析问题,确立算法,画出程序流程图。
说明流程图中各功能的含义和表示法。
分配工作单元和存储空间。
根据程序算法流程选择合适的指令编制汇编语言源程序。
(2)掌握顺序程序的设计基本方法和技巧。
(3)掌握分支程序设计的方法,重点掌握各种分支程序中形成和判断条件而产生的程序段的设计方法和技巧。
新版西电微机原理第二次上机实验报告-新版-精选.pdf

西电微机原理第二次上机实验报告学号:姓名:一、实验目的1.熟练掌握汇编语言程序设计的方法及上机步骤。
2.掌握算术运算中,十进制数调整指令的应用。
3.掌握子程序的设计方法。
4.掌握DOS功能的调用方法。
二、实验仪器586微机 1台三、实验内容编写求十进制数12678532与21736543之和的程序,并将和以十进制数的形式送屏幕显示。
编程要求与提示:[1] 两个加数均以压缩(组合)十进制数形式存放在ADD1和ADD2为首址的存贮器单元。
[2] 和以压缩十进制数的形式存入SUM以下单元。
[3] 将和送到屏幕显示部分功能的实现采用子程序的形式。
[4] 实验步骤如下:a. 用全屏幕编辑软件建立源程序。
b.用masm.exe汇编程序对源程序进行汇编,形成目标程序。
c. 用link.exe连接程序对目标程序进行连接形成可执行文件。
d. 用DEBUG对连接通过的可执行程序进行调试。
四、实验内容对应的源程序及流程源程序如下:STACK SEGMENT STACKDB 10H DUP(00)STACK ENDSDATA SEGMENTADD1 DB 12H,67H,85H,32HADD2 DB 21H,73H,65H,43HSUM DB 4H DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART:MOV AX, DATAMOV DS, AXMOV AX, DATAMOV ES, AXMOV AX,STACKMOV SS,AXLEA SI, ADD1[3]LEA BX, ADD2[3]LEA DI,SUM[3]MOV CX,4CLCL1:MOV AL,[SI]ADC AL,[BX]DAAMOV [DI],ALDEC SIDEC BXDEC DILOOP L1CALL DISPAL; ------------EXITPROC:MOV AH,4CH ;结束程序MOV AH,1INT 21H; ------------DISPAL PROC NEARPUSH AXPUSH BXPUSH CXPUSH DXPUSH DILEA DI,SUMMOV CX,4DISPAL2:MOV AL,[DI]SHR AL,1SHR AL,1SHR AL,1SHR AL,1MOV AH,2MOV DL,ALADD DL,30HINT 21HMOV AL,[DI]AND AL,0FHMOV AH,2MOV DL,ALADD DL,30HINT 21HINC DILOOP DISPAL2POP DIPOP DXPOP CXPOP BXPOP AXRETDISPAL ENDPCODE ENDSEND START运行结果如下:五、问题讨论1.在以十进制数形式参加运算的程序设计中,应注意那些问题。
微机原理上机个人总结

微机原理上机个人总结
在微机原理的上机实验中,我个人的总结如下:
1. 实验目的:通过实验了解微机原理的基本概念、组成结构和工作原理,掌握微机系统的组装与调试技术。
2. 实验内容:
- 组装微型计算机系统:了解计算机主机、外围设备的组成,学会安装和连接各种硬件设备。
- 硬件配置与调试:学会设置硬盘、光驱、显卡、内存等硬件资源,在 BIOS 中进行相应设置调整。
- 操作系统安装:了解不同操作系统的安装步骤和要求,并按照提示完成操作系统的安装。
- 系统调试与功能测试:学会使用调试工具对硬件进行测试和调试,确保计算机系统正常工作。
3. 实验收获:
- 掌握了微机系统组装与调试的基本技术,了解了硬件设备的安装、连接方法以及操作系统的安装过程。
- 熟悉了 BIOS 设置,包括启动顺序设置、硬件资源配置等。
- 学会了使用调试工具对计算机硬件进行故障排除和性能测试。
- 加深了对微机原理的理解和认识,对计算机硬件与操作系统之间的关系有了更深入的了解。
4. 实验心得:
- 实验过程中需要仔细阅读实验指导书,按照步骤进行操作,保证安装和连接的正确性。
- 遇到问题要及时和助教、同学讨论,互相帮助解决疑惑和困难。
- 实验后要及时总结和整理实验过程中遇到的问题和解决方法,加深对微机原理的理解。
通过这次上机实验,我对微机原理有了更深入的了解,也掌握了一些基本的硬件配置和调试技术,对于今后的学习和工作都会有很大的帮助。
微机原理上机实验(六+十)实验报告 74HC138译码器实验 16x16点阵显示实验

微机原理上机实验报告实验六:74HC138译码器实验实验十:LED 16x16点阵显示实验微机原理上机实验(六)实验报告实验六:74HC138译码器实验一、实验目的1、掌握74HC138译码器的工作原理,熟悉74HC138译码器的具体运用连接方法,了解74HC138是如何译码的。
2、认真预习本节实验内容,尝试自行编写程序,填写实验报告二、实验内容1、编写程序:使用8255的PC0、PC1、PC2控制74HC138的数据输入端,通过译码产生8选1个选通信号,轮流点亮8个LED指示灯。
2、运行程序,验证译码的正确性。
三、实验原理图四、实验步骤1、连线说明:F7区:A、B、C ——D3区:PC0、PC1、PC2F7区:G1、G2A、G2B ——C1区:VCC、GND、GNDF7区:JP63 ——F4区:JP18(LED指示灯)D3区:CS、A0、A1 ——A3区:CS1、A0、A12、调试程序,查看运行结果是否正确五、实验代码Con_8255 EQU 0273H ;8255控制口PC_8255 EQU 0272H ;8255 PC口_STACK SEGMENT STACK ;设置堆栈段DW 100 DUP(?)_STACK ENDSCODE SEGMENTSTART PROC NEARASSUME CS:CODE, SS:_STACKMOV DX,Con_8255MOV AL,80HOUT DX,AL ;8255初始化,PC口作输出用,向8255的控制口输入置位/复位控制字10000000B,PC0~PC7全部复位MOV DX,PC_8255MOV AL,0START1: OUT DX,AL 将00000000B输入8255的PC口CALL Delay 延时INC AL AL加一JMP START1 循环Delay PROC NEAR ;延时Delay1: XOR CX,CX ;CX清零LOOP $ 当前位置循环一次后推出RETDelay ENDPSTART ENDPCODE ENDSEND START六、实验思考题1.在应用系统中,74HC138通常用来产生片选信号,请读者考虑一下,应如何处理?将输入信号转换为三位无符号二进制数,将转换后的数据由低到高分别输入74HC138的A、B、C口,即可实现对最多8的模块的片选功能。
四川大学微机原理实验报告

微机原理实验报告学院:专业班级:姓名学号实验一汇编语言编程基础1.3汇编语言程序上机操作和调试训练一.功能说明运用8086汇编语言,编辑多字节非压缩型BCD数除法的简单程序,文件名取为*.ASM。
运用MASM﹒EXE文件进行汇编,修改程序中的各种语法错误,直至正确,形成*.OBJ文件。
运用LINK.EXE文件进行连接,形成*.EXE文件。
仔细阅读和体会DEBUG调试方法,掌握各种命令的使用方法。
运用DEBUG。
EXE文件进行调试,使用单步执行命令—T两次,观察寄存器中内容的变化,使用察看存储器数据段命令—D,观察存储器数据段内数值。
再使用连续执行命令—G,执行程序,检查结果是否正确,若不正确可使用DEBUG的设置断点,单步执行等功能发现错误所在并加以改正。
二.程序流程图三.程序代码修改后的程序代码如下:DATA SEGMENTA DB 9,6,8,7,5B DB 5C DB 5 DUP (0)N EQU 5DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATASTART: MOV AX,DATAMOV DS,AXMOV ES,AXCLDLEA SI,ALEA DI,CMOV CX,NMOV AH,0LP1: LODSBAADDIV BSTOSBLOOP LP1MOV CX,NLEA DI,CLP2: MOV DL,[DI]ADD DL,30HMOV AH,2INT 21HINC DILOOP LP2MOV AH,4CHINT 21HCODE ENDSEND START四.实验感想和收获通过这次试验,我对微机原理上级试验环境有了初步的认识,可以较为熟练地对汇编语言进行编译,汇编及连接,同时也学会了用DEBUG调试程序,收获很大。
在这次试验中我也遇到了一些困难。
在刚开始我发现自己无法打开MASM.EXE,计算机提示是由于版本不兼容。
我这才想起来我的操作系统是64位的,和该软件版本不兼容。
微机上机实验报告

微机上机实验报告摘要本次实验是关于微机上机操作的,通过本次实验,我们熟悉了微机的操作系统以及基本的指令。
首先,我们学习了DOS系统的基本操作,并实践了一些常用指令,如目录操作、文件操作以及格式化等。
接着,我们学习了Windows操作系统的基本操作,并运用它编辑文档、运行程序和调整系统设置。
最后,我们学习了基本的网站浏览和搜索技巧,以及如何下载和安装小型软件。
实验过程一、DOS系统操作1. 启动计算机并进入DOS系统按下计算机电源按钮后,经过自检、读取硬盘的一系列过程后,进入DOS系统。
此时会显示C:\>,表示DOS已启动。
2. DOS系统的常用指令1)查看目录内容dir:显示当前目录下的文件和子目录。
2)进入目录cd 目录名:进入指定的目录。
cd..:返回上一级目录。
3)创建目录md 文件夹名:在当前目录下创建一个新的目录。
4)删除目录rd 文件夹名:删除指定的目录。
5)复制文件copy 源文件名目标文件名:将源文件复制到目标文件。
6)移动文件move 源文件名目标文件名:将源文件移动到目标文件。
7)删除文件del 文件名:删除指定的文件。
8)格式化磁盘format 盘符:格式化指定的磁盘。
3. 实践操作在DOS中,我们创建了一个名为“test”的目录,并在其中创建了一些新文件。
接着,我们使用copy指令将“test”的内容复制到另一个目录中。
二、Windows系统操作1. Windows系统的常用操作1)查看计算机状态右键单击“我的电脑”图标,选择“属性”,可以查看计算机的基本信息,如操作系统版本、处理器类型、内存大小等。
2)打开“控制面板”在Windows系统中,我们可以使用“控制面板”来进行一些系统设置。
可以使用“开始”菜单中的“控制面板”或是在任意文件夹中输入“control”来打开“控制面板”。
3)编辑文档使用Windows系统自带的“记事本”程序可以轻松地编辑文档,还可以使用“字体”、“颜色”等功能对文本进行格式化设置。
微机原理上机报告

《微机原理》上机实验报告1.比较AL,BL,CL中带符号数的大小,将最小的数放于AL中(用JG转换)。
1)流程图2)代码:data segmentd1 db 33hd2 db 23hd3 db 84hdata endscode segmentassume cs:code,ds:data start:mov ax,datamov ds,axmov al,d1mov bl,d2mov cl,d3cmp bl,aljg bbbxchg bl,albbb: cmp cl,almov ah,4chint 21hcode endsend start2.比较buffer开始10个数中最大的偶数,将其存入AL中。
1)流程图2)代码:data segmentbruffer db 54h,48h,26h,46h,37h,49h,62h,55h,79h,16h data endscode segmentassume cs:code,ds:databegin:mov ax,datamov ds,axlea si,bruffermov cx,9mov al,[si]test al,01hjnz nextinc siag: test byte ptr[si],01h ; byte和ptr中间有空格 jnz nextcmp al,[si]jnc nextmov al,[si]next: inc sidec cxjnz agtest al,80h ;测试低位的正负值jz llmov ah,0ffh ;负值用补码表示ll: mov ah,0 ;为正值高位赋0mov ah,4chint 21hcode endsend begin3.将两个32位数相乘。
12)代码:data segmentd1 dd 12345678hd2 dd 87654321hd3 dw ?,?,?,? ;dw不能用“?”data endscode segmentassume cs:code,ds:datastart: mov ax,datamov ds,axmov bx,d3lea si,d1lea di,d2mov ax,[si]mul word ptr[di]mov [bx],axmov [bx+2],dxmov ax,[si+2]mul word ptr[di]add [bx+2],axadc [bx+4],dxadc word ptr[bx+6],00hmov ax,[si]mul word ptr[di+2]add [bx+2],axadc [bx+4],dxadc word ptr[bx+6],00hmov ax,[si+2]mul word ptr[di+2]add [bx+4],axadc [bx+6],dxadc word ptr[bx+8],00hmov ah,4chint 21hcode endsend start4.将(DX,AX)中32位无符号数左移四位,低四位用0填补,高四位存入CH的低四位中。
微机原理上机实验报告

微机原理上机实验报告实验一基本输入/输出实验:本实验使8255端口A工作在方式0并作为输入口,端口B工作在方式0并作为输出口。
用一组开关信号接入端口A,端口B输出线接至一组数据灯上,然后通过对8255芯片编程来实现输入/输出功能。
8255基本输入/输出实验参考接线图如图所示。
流程图:操作步骤:按图示连好线路,在TDPIT中输入如下程序,编译、连接、运行。
DATA SEGMENTCS0 EQU 300OHMY8255_A EQU CS0+00HMY8255_B EQU CS0+01HMY8255_C EQU CS0+02HMY8255_MODE EQU CS0+03HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV DX,3003HMOV AL,10000010BOUT DX,ALTEST_IT:MOV DX,3001HIN AL,DXMOV DX,3000HOUT DX,ALJMP TEST_ITCODE ENDSEND START实验现象:闭合开关,对应控制灯泡发光。
实验二流水线指示灯显示实验:首先分别将A口和B口写入7FH和FEH,然后分别将该数右移和左移一位,在送到端口上,这样循环下去,从而实现流水灯的显示。
8255流水灯显示实验参考接线图如图所示。
流程图:操作步骤:按图示连好线路,在TDPIT中输入如下程序,编译、连接、运行。
DATA SEGMENTCSO EQU 3000HA EQU CSO+0000HB EQU CSO+0001HC EQU CSO+0002HM EQU CSO+0003HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXXOR AX,AXMOV AL,10000000BMOV DX,MOUT DX,AL;MOV DX,B;IN AL,DXL1:MOV AL,00001000BMOV DX,AOUT DX,ALMOV AL,00000001BMOV DX,BOUT DX,ALMOV CX,00FFHC1: MOV BX,CXMOV CX,0FFFFHD1:LOOP D1MOV CX,BXLOOP C1MOV AL,00000100BMOV DX,AOUT DX,ALMOV AL,00000010BMOV DX,BOUT DX,ALMOV CX,00FFHC2: MOV BX,CXMOV CX,0FFFFHD2:LOOP D2MOV CX,BXLOOP C2MOV AL,00000010BMOV DX,AOUT DX,ALMOV AL,00000100BMOV DX,BOUT DX,ALMOV CX,00FFHC3: MOV BX,CXMOV CX,0FFFFHD3:LOOP D3MOV CX,BXLOOP C3MOV AL,00000001BMOV DX,AOUT DX,ALMOV AL,00001000BMOV DX,BOUT DX,ALMOV CX,00FFHC4: MOV BX,CXMOV CX,0FFFFHD4:LOOP D4MOV CX,BXLOOP C4JMP L1MOV AX,4C00HINT 21HCODE ENDSEND START实验现象:灯泡如流水般从左至右依次流动发光,并始终保持在同一时间只有一个灯亮着。
微机原理汇编语言的上机过程 实验报告

微机原理技术与接口实验报告学院:专业:班级:姓名:学号:汇编语言程序的上机过程实验目的通过简单地操作了解汇编语言程序的基本内容,体会汇编语言的运行,为以后的实验打下一定的基础。
实验原理及操作步骤一、上机环境❖要运行调试汇编语言程序,至少需要以下程序文件:▪编辑程序:或其他文本编辑工具软件,用于编辑源程序。
▪汇编程序:MASM.EXE,用于汇编源程序,得到目标程序。
▪连接程序:LINK.EXE,用于连接目标程序,得到可执行程序。
▪调试程序:DEBUG.EXE,用于调试可执行程序。
二、上机过程❖汇编语言程序上机操作包括:编辑、汇编、连接和调试几个阶段。
1.编辑源程序❖用文本编辑软件创建、编辑汇编源程序。
常用编辑工具有:、记事本、Word等。
❖无论采用何种编辑工具,生成的文件必须是纯文本文件,所有字符为半角,且文件扩展名为.asm(文件名不分大小写,由1~8个字符组成)。
2.汇编❖用汇编工具对上述源程序文件(.asm)进行汇编,产生目标文件(.obj)等文件。
❖汇编程序的主要功能是:检查源程序的语法,给出错误信息;产生目标程序文件;展开宏指令。
❖汇编过程如下:❖在DOS状态下,输入命令:MASM MYFILE.ASM(回车),即启动了汇编程序。
❖此命令执行后,会出现下面的3行信息,依次按回车键(即选择默认值)即可建立3个输出文件,其扩展名分别为:.OBJ(目标文件),.LST(列表文件)和.CRF(交叉引用文件)。
Object Filename [MYFILE.OBJ]:Source Listing [Nul.LST]:Cross Reference [Nul.CRF]:依次按回车键,进行选择后,汇编程序就对汇编源程序进行汇编。
如果汇编过程中发现有语法错误,则屏幕上会显示出错语言的位置和出错的类型。
此时,需要进行修改,然后再进行汇编。
❖如此进行,直至汇编无错误,得到目标文件为止。
3.连接❖汇编产生的目标文件(.obj)并不是可执行的程序,还要用连接程序把它转换为可执行的EXE文件。
微机原理第四次上机实验报告_PB

微机原理第四次上机实验报告学号:PB12203254 姓名:**潇上机时间:每周五晚上【一、实验目的和要求】:1,熟练掌握分支程序的两种结构形式:即相当于高级语言中的IF_THEN_ELSE语句和CASE语句。
2,熟练掌握使用条件转移指令实现分支程序设计的基本方法。
3,熟练掌握使用跳转表方法实现CASE结构的分支程序的设计。
【二、实验内容和过程】程序1:编写一个程序将一个数组中正数和负数分成两个数组并分别屏幕显示正数和负数的个数。
(一)程序的算法:1,首先是待处理数组的创建:我们通过21H号中断调用的0A号功能调用输入数字串,存于BUFF字符串区(设定为0A号调用的键入缓冲区),这里只负责将键入的以回车符(0DH)结尾的字符串读入数据段,不检查输入是否合法。
但是,我们通过输出提示告知用户键入的数字之间应该使用空格符(20H)来分隔。
实际上,我们在处理数字的时候就是以空格符(当然,还包括尾后输入的回车符)作为一个数字的字符串形式结束的标志(回车符还标识所有数字处理完毕)。
另一方面,我们计划给每个数字分配一个字的储存空间,故我们支持的数字范围为-32768~32767,这同样有键入提示字符串提示。
2,数字处理阶段:----预备处理阶段:初始化用来作为指针和数据暂存的寄存器(DI指向保存正数的数组NUM1,SI指向保存负数对应补码的数组NUM2,BX指向键入缓存区BUFF,数据暂存的CX清0,将要用来读数和处理的AX清0),计数器清零(L1,L2清0,他们分别记录存入NUM1和存入NUM2的元素的个数)。
----正式处理阶段:(a)开始:我们通过BX指向BUFF,通过MOV AL,[BI]j将一个字节读入AL。
(b)判断,是否为回车符(0DH):TURE,所有数字处理完毕,跳转到输出阶段;FALSE,继续执行接下来的指令。
(c)判断,是否为回车(20H):TURE,尚未开始下一个数字的输入,回跳(a)重新读入下一个字节的内容;FALSE,继续执行接下来的指令。
微机原理上机实验(一)实验报告数据传输传送实验

微机原理上机实验(一)实验报告主题:数据传送一、实验目的熟悉星研集成环境软件的使用方法。
熟悉Borland公司的TASM编译器熟悉8086汇编指令,能自己编写简单的程序,掌握数据传输的方法。
二、实验内容1、熟悉星研集成环境软件。
2、编写程序,实现数据段的传送、校验。
三、实验代码_STACK SEGMENT STACKDW 100 DUP()_STACK ENDSDATA SEGMENTDATA ENDSCODE SEGMENTSTART PROC NEARASSUME CS:CODE, DS:DATA, SS:_STACKMOV AX, DATA ;将数据段的地址存入AX寄存器。
AX=004DHMOV DS,AX ;对DS段寄存器赋值。
DS=004DHMOV ES,AX ;对ES段寄存器赋值。
ES=004DHNOP ;空指令MOV CX,100H ;把100H送到CX寄存器。
CX=0100HMOV SI,3000H ;把3000H送到SI寄存器。
SI=3000HMOV DI,6000H ;把6000H送到DI寄存器。
DI=6000HCALL Move ;调用Move子程序MOV CX,100H ;把100H送到CX寄存器。
CX=0100HMOV SI,3000H ;把3000H送到SI寄存器。
SI=3000HMOV DI,6000H ;把6000H送到DI寄存器。
DI=6000HCLD ;将DF标志位置0。
设置SI、DI为递增移动,DF=0 REPE CMPSB ;比较[SI]和[DI],CX减1,ZF=0或CX=0跳出;若ZF=0或CX=0不成立,则继续比较。
SI和DI持续递增1JNE ERROR ;若ZF=0,跳到ERROR子程序TRUE: JMP $ ;跳到目前地址ERROR: JMP $ ;跳到目前地址Move PROC NEAR ;Move子程序CLD ;将DF标志位置0。
设置SI、DI为递增移动。
微机原理上机报告

实验一:EMU8086软件安装与使用一、实验目的通过本实验学习EMU8086软件的安装与使用。
二、实验设备PC微机一台,Emu8086仿真软件三、实验任务1. 安装Emu8086仿真软件。
2. 利用Emu8086仿真软件编程。
四、实验原理Emu8086仿真软件就是在Windows下的一种仿真软件,它可以仿真模拟8086的程序运行,并且可以直观地观察CPU寄存器的变化情况。
Emu8086 - Microprocessor Emulator结合了一个先进的原始编辑器、组译器、反组译器、具除错功能的软件模拟工具(虚拟PC),还有一个循序渐进的指导工具。
这对刚开始学组合语言的人会是一个很有用的工具。
它会在模拟器中一步一步的编译程序码并执行,视觉化的工作环境让它更容易使用。
你可以在程序执行当中检视暂存器、旗标以及记忆体。
模拟器会在虚拟PC 中执行程序,这可以隔绝你的程序,避免它去存取实际硬体,像硬碟、记忆体,而在虚拟机器上执行组合程序,这可以让除错变得更加容易。
这个软件完全相容於Intel 的下一代处理器,包括了Pentium II、Pentium 4,而相信Pentium 5 也会继续支援8086 的。
这种现象让8086 程序码的可携性相当高,它可以同时在老机器以及现代的电脑是执行,8086 的另一个优势是它的指令比较小且相当容易学习。
五、实验内容1. 安装Emu8086仿真软件,熟悉菜单栏,工具栏的每个选项的作用,按照操作流程完成程序的编译、链接,并对编辑窗口中所编写的简单汇编程序进行仿真调试,最后能够输出正确结果。
2. 编写简单程序,实现字符串的显示,显示内容为“姓名(换行)、学号”。
六、实验过程及结果1.EMU8086安装。
图1-1-1 Emu8086的安装图1-1-2 Emu8086的安装图1-1-3 Emu8086的安装图1-1-4 Emu8086的安装图1-1-5 Emu8086的安装图1-1-6 Emu8086的安装2. EMU8086使用,安装完毕,得到窗口如下图1-1:图1-2 Emu进入主界面3. 操作流程(1)file->new->empty workplace,编辑程序,如下图1-2:图1-3 Emu8086的安装(2) file->save,保存程序(**.asm格式),完成程序的编辑.(3) assmbler->compile,完成程序的编译和链接,如下图1-3:4. emulator->show emulator,开始仿真调试,如下图1-4:图1-5 Emu程序仿真调试界面5. 左键点击run运行程序,结果如图1-5:图1-6 Emu程序仿真调试结果界面七、实验感想这是微机原理的第一次上机,我熟悉了用emu8086的使用方法,通过这个模拟仿真软件初步了解了计算机的原理。
微机上机实验报告

微机上机实验报告微机上机实验报告引言:微机上机实验是计算机科学与技术专业的一门重要课程,通过实践操作,学生可以更好地理解和掌握计算机的基本原理和操作技能。
本文将对我在微机上机实验中的学习和实践经验进行总结和分享。
一、实验目的与背景微机上机实验的主要目的是让学生熟悉计算机硬件和软件的基本操作,并通过实际操作来加深对计算机原理的理解。
通过实验,学生可以掌握计算机的开机、关机、操作系统的安装与配置、常用软件的使用等基本技能。
二、实验过程1. 开机与关机在实验室中,我们首先学习了计算机的开机与关机操作。
通过按下电源按钮,计算机开始自检,然后进入操作系统。
关机时,我们需要先关闭所有正在运行的程序,然后选择关机选项。
2. 操作系统的安装与配置在实验中,我们学习了操作系统的安装与配置。
我们使用了Windows操作系统,并按照实验指导书的步骤进行了安装和配置。
通过这个过程,我们了解了操作系统的基本组成和功能。
3. 常用软件的使用在实验中,我们还学习了一些常用软件的使用方法,如办公软件、浏览器和图像处理软件等。
通过实际操作,我们熟悉了这些软件的功能和使用技巧,提高了我们的实际应用能力。
三、实验心得与体会通过微机上机实验,我对计算机的基本原理和操作技能有了更深入的了解。
在实验过程中,我遇到了一些问题,但通过自己的努力和老师的指导,我成功地解决了这些问题。
这个过程让我更加相信,只要付出努力,就一定能够克服困难,取得成功。
在实验中,我还发现了一些需要改进的地方。
首先,我需要更加熟悉操作系统的各项功能和配置方法,以便更好地操作计算机。
其次,我需要更加注重实践操作,通过不断地实践,提高自己的实际应用能力。
最后,我还需要加强对计算机硬件的学习,了解计算机的内部结构和工作原理,以便更好地理解和应用计算机技术。
总结:通过微机上机实验,我对计算机的基本原理和操作技能有了更深入的了解。
在实验中,我不仅学习了计算机的开机与关机操作,还学会了操作系统的安装与配置、常用软件的使用等基本技能。
32位微机原理上机实验报告:基本IO接口电路设计实验

西北工业大学明德学院实验报告实验项目微机原理及应用班级 121204姓名田家豪王辰硕学号 ****** ******指导老师伍明高时间 2015-4-14实验题目基本I/O接口电路设计实验实验目的(1) 掌握基本I/O接口电路的设计方法。
(2) 熟练汇编语言I/O端口操作指令的使用。
实验内容利用三态缓冲器74LS245、锁存器74LS374设计微机总线和外部设备的数据通道,实现微机对外部输入数据的读取和对输出数据的输出。
用开关及LED显示单元的开关和数据灯作为输入和输出显示设备,将读到开关的数据显示在数据灯上。
实验原理1.输入接口设计输入接口一般用三态缓冲器实现,外部设备输入数据通过三态缓冲器,通过数据总线传送给微机系统。
74LS245是一种8通道双向的三态缓冲器。
DIR引脚控制缓冲器数据方向,DIR为1表示数据由A[7:0]至B[7:0],DIR为0表示数据由B[7:0]至A[7:0]。
G引脚为缓冲器的片选信号,低电平有效。
2.输出接口设计输出接口一般用锁存器实现,从总线送出的数据可以暂存在锁存器中。
74LS374是一种8通道上沿触发锁存器。
D[7:0]为输入数据线,Q[7:0]为输出数据线。
CLK引脚为锁存控制信号,上升沿有效。
当上升沿到时,输出数据线锁存输入数据线上的数据。
OE引脚为锁存器的片选信号,低电平有效。
3.输入输出接口设计用74LS245和74LS374可以组成一个输入输出接口电路,既实现数据的输入又实现数据的输出,输入输出可以占用同一个端口。
是输入还是输出用总线读写信号来区分。
总线读信号IOR 和片选信号CS相“或”来控制输入接口74LS245的使能信号G。
总线写信号IOW和片选信号CS 相“或”来控制输出接口74LS374的锁存信号CLK。
实验系统中基本输入输出单元就实现了两组这种的电路。
实验说明及步骤本实验实现的是将开关K[7:0]的数据通过输入数据通道读入CPU的寄存器,然后再通过输出数据通道将该数据输出到数据灯显示,该程序循环运行,直到按动键盘上任意按键再退出程序。
微机原理上机实验(六+十)实验报告 74HC138译码器实验 16x16点阵显示实验

微机原理上机实验报告实验六:74HC138译码器实验实验十:LED 16x16点阵显示实验微机原理上机实验(六)实验报告实验六:74HC138译码器实验一、实验目的1、掌握74HC138译码器的工作原理,熟悉74HC138译码器的具体运用连接方法,了解74HC138是如何译码的。
2、认真预习本节实验内容,尝试自行编写程序,填写实验报告二、实验内容1、编写程序:使用8255的PC0、PC1、PC2控制74HC138的数据输入端,通过译码产生8选1个选通信号,轮流点亮8个LED指示灯。
2、运行程序,验证译码的正确性。
三、实验原理图四、实验步骤1、连线说明:F7区:A、B、C ——D3区:PC0、PC1、PC2F7区:G1、G2A、G2B ——C1区:VCC、GND、GNDF7区:JP63 ——F4区:JP18(LED指示灯)D3区:CS、A0、A1 ——A3区:CS1、A0、A12、调试程序,查看运行结果是否正确五、实验代码Con_8255 EQU 0273H ;8255控制口PC_8255 EQU 0272H ;8255 PC口_STACK SEGMENT STACK ;设置堆栈段DW 100 DUP(?)_STACK ENDSCODE SEGMENTSTART PROC NEARASSUME CS:CODE, SS:_STACKMOV DX,Con_8255MOV AL,80HOUT DX,AL ;8255初始化,PC口作输出用,向8255的控制口输入置位/复位控制字10000000B,PC0~PC7全部复位MOV DX,PC_8255MOV AL,0START1: OUT DX,AL 将00000000B输入8255的PC口CALL Delay 延时INC AL AL加一JMP START1 循环Delay PROC NEAR ;延时Delay1: XOR CX,CX ;CX清零LOOP $ 当前位置循环一次后推出RETDelay ENDPSTART ENDPCODE ENDSEND START六、实验思考题1.在应用系统中,74HC138通常用来产生片选信号,请读者考虑一下,应如何处理?将输入信号转换为三位无符号二进制数,将转换后的数据由低到高分别输入74HC138的A、B、C口,即可实现对最多8的模块的片选功能。
微机原理实验报告

〔软、硬件实验〕
实验名称:[《微机原理》软、硬件实验]
专业班级:[ ]
学生姓名:[ ]
学号:[ ]
指导教师:[ ]
完成时间:[2022.05.26 ]
目录
第一次上机试验1
实验一1
存储器读写实验1
一、实验内容1
二、实验目的1
三、硬件电路(系统中已连接好)1
四、实验程序清单1
五、实验步骤1
六、实验源程序1
七、实验结果及分析2
实验二错误!未定义书签。
8253A定时/计数器实验2
一、实验原理2
二、实验目的2
三、实验线路连接2
四、实验程序清单2
五、实验步骤2
六、实验源程序2
七、实验结果及分析错误!未定义书签。
第二次上机试验错误!未定义书签。
实验三2
8255A可编程并行口实验2
一、实验原理2
二、实验线路连接2
三、实验软件清单3
四、实验步骤3
五、实验源程序3
六、实验结果及分析3
实验四错误!未定义书签。
8259单级中断控制器实验3
一、实验内容3
二、实验线路连接4
三、实验软件清单4
四、实验步骤4
五、实验结果及分析4。
微机原理汇编语言的上机过程 实验报告

微机原理技术与接口实验报告学院:专业:班级:姓名:学号:汇编语言程序的上机过程实验目的通过简单地操作了解汇编语言程序的基本内容,体会汇编语言的运行,为以后的实验打下一定的基础。
实验原理及操作步骤一、上机环境要运行调试汇编语言程序,至少需要以下程序文件:▪编辑程序:或其他文本编辑工具软件,用于编辑源程序。
▪汇编程序:MASM.EXE,用于汇编源程序,得到目标程序。
▪连接程序:LINK.EXE,用于连接目标程序,得到可执行程序。
▪调试程序:DEBUG.EXE,用于调试可执行程序。
二、上机过程汇编语言程序上机操作包括:编辑、汇编、连接和调试几个阶段。
1.编辑源程序用文本编辑软件创建、编辑汇编源程序。
常用编辑工具有:、记事本、Word等。
无论采用何种编辑工具,生成的文件必须是纯文本文件,所有字符为半角,且文件扩展名为.asm(文件名不分大小写,由1~8个字符组成)。
2.汇编用汇编工具对上述源程序文件(.asm)进行汇编,产生目标文件(.obj)等文件。
汇编程序的主要功能是:检查源程序的语法,给出错误信息;产生目标程序文件;展开宏指令。
汇编过程如下:在DOS状态下,输入命令:MASM MYFILE.ASM(回车),即启动了汇编程序。
此命令执行后,会出现下面的3行信息,依次按回车键(即选择默认值)即可建立3个输出文件,其扩展名分别为:.OBJ(目标文件),.LST(列表文件)和.CRF(交叉引用文件)。
Object Filename [MYFILE.OBJ]:Source Listing [Nul.LST]:Cross Reference [Nul.CRF]:依次按回车键,进行选择后,汇编程序就对汇编源程序进行汇编。
如果汇编过程中发现有语法错误,则屏幕上会显示出错语言的位置和出错的类型。
此时,需要进行修改,然后再进行汇编。
如此进行,直至汇编无错误,得到目标文件为止。
3.连接汇编产生的目标文件(.obj)并不是可执行的程序,还要用连接程序把它转换为可执行的EXE文件。
微机原理上机实验报告2

201406微机原理上机实验报告实验二班级:物联网1班姓名:邓笑游学号: 01210261y11 成绩:实验2.汇编语言上机的一般过程实验一、实验目的1、了解汇编源程序的结构2、了解基本伪指令的作用3、掌握MASM的作用和使用方法二、预习要点1、汇编语言语句的结构2、汇编语言源程序的结构3、MASM工具的使用方法三、实验项目以z=x+y为例编制汇编源程序到产生.EXE文件的一般过程四、实验设备环境PC机1台,DOSBOX,MASM、LINK、工具。
五、实验方法1、建立z=x+y汇编语言的工作平台2、使用MASM对源程序进行汇编3、未产生.OBJ文件,分析错误的原因并修改记录。
六、实验要求举例通过MASM说明常见的语法错误和产生错误的原因和修改方法。
实验2的报告1.建立z=x+y 的工作平台 DOSBOX 下(在DOSBox 中添加MASM.EXE LINK.EXE 和Z=X+Y 的源程序G1.ASM )2.建立第一次上机的源程序Z=X+Y (2=1+1)3.对源程序进行编译(汇编)产生目标(二进制)文件的方法。
DOSBox 下,将masm.exe 拖入DOSBox.exe ,按会话方式对源程序G1.asm 汇编源程序正确(无致命错误 0 Severest Errors )时会出现编译正确的信息并产生同名1.obj 目标文件。
4.制造错误并另存为G2.ASM 后重新汇编(MASM G2; 为快速汇编命令,不能缺少“;”。
即不用会话直接)看产生错误的信息。
修改错误重新存盘汇编。
执行MASM.EXE 文件。
屏幕显示文件的版本,并出现编译会话框。
输入文件名1,一直回车,完成会话。
用快速汇编产生编译结果的截图,指出了3行语句的错误类型(致命错误-警告错误)和错误的原因。
5.对g1.obj链接(link.exe)产生可执行g1.exe文件6.用DEBUG调入要调试的g1.exe文件,用U命令查看。
数据段的X单元在机器中用单元的有效地址表示,即[0000H]单元7.画出本程序的现场本程序的原始现场一次执行到程序最后一天有效指令的方法F是MOV AH,4CH的IP(000FH)的缩写本程序的结果现场8.实验收获1)源程序的结构由模版和实际段内内容构成2)masm工具的作用:检查程序结构、显示语句的语法错误种类和类型,产生程序的现场(数据现场和代码)3)了解了会话masm、link和快速masm、link的方法4)了解了D、G命令5)了解了源程序上机运行调试的一般方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微机原理上机实验报告姓名:***学号:********实验一 Debug程序的使用一、实验目的1.学习使用DEBUG调试命令。
2.学习用DEBU G调试简单程序。
3.通过程序验证码制及其对标志位的影响。
4.通过调试熟悉和掌握个寄存器的作用与特点。
二、实验内容用DEBUG调试简单程序。
三、实验仪器微机一台四、实验步骤1.由DOS进入DEBUG调试环境。
(1)C:>DEBUG将调试程序装入内存注意:当机器控制权由DOS成功地转移给调试程序后,将显示“-”号,它是DEBUG 的状态提示符,表示可以接受调试子命令了。
(2)-R 显示CPU中各寄存器当前初始内容,请记录下列各项:AX=0000 BX=0000 CX=0000 DX=0000 BP=0000 SI=0000 DI=0000 DS=13B2 ES=13B2 SS=13B2 SP=FFEE CS=13B2 IP=0100 FLAG寄存器中的8个标志位状态值是:OF DF IF SF ZF AF PF CF0 0 1 0 0 0 0 0 DEBUG用符号给出标志寄存器中8个标志位的当前状态,其含义如下表所示。
标志位含义‘1’的对应符号‘0’的对应符号OF溢出OV有NV无DF方向DN递减UP递增IF中断EI允许DI禁止SF符号NG负PL正ZF全零ZR零NZ非零AF辅助进位AC有NA无PF奇偶性PE偶PO奇CF进位CY有NC无2.用DEBUG调试简单程序例1 -A CS:0106MOV AX,1234MOV BX,2345MOV CX,0ADD AX,BXMOV CX,AXINT 20运行程序(注:执行程序时IP应指向要执行的指令,需要修改时-RIP当前值输入需要值该处为0106当然也可以在T或G命令中指出程序起始地址)-R 显示各寄存器当前内容及首条指令-T 3 跟踪执行三条赋值传送指令,观察寄存器及标志位变化-T 2跟踪执行相加及送和数指令,观察寄存器及标志位变化-G 执行软件中断指令INT 20,机器将显示“程序正常终止”的信息,并显示“-”,表明仍处在DEBUG的调试控制状态下,注意未用T命令,因为我们不想进入到20H 中断处理程序中去,P命令也可实现相同操作实验现象记录:观察每条指令执行后各相关寄存器值及标志位状态例2 -A CS:116MOV AX,[0124]MOV BX ,[0126]ADD AX,BXMOV [0128],AXINT 20DW 2222DW 8888DW 0设置断点分段运行程序-G=CS:116 11D 从指定入口运行程序,至断点11D停,可见两个数已取至AX,BX,但还没有求和-G122 从上一断点运行至新断点停,已完成求和并存入指定结果单元-G 完成程序观看内存内容-DCS:116 12A 显示本程序小段目标代码和数据单元内容-UCS:116 12A 反汇编指定范围的内存内容-实验现象记录:通过反汇编,记录程序执行前指定范围的内存内容,并记录每条指令执行后各相关寄存器值及指定范围的内存内容)例3 -A CS:0192MOV DX,19BMOV AH,9INT 21INT 20DB ‘HELLO,WORLD! $’-P 命令单步执行实验现象记录:观察每条指令执行后各寄存器的变化,记录DX,AX的变化。
思考:根据程序输入情况,考虑‘HELLO,WORLD!$’在内存中的ASCⅡ码和地址范围-D 0194 01a7ASCⅡ码为:48 45 4c 4c 4f 20 57 4f 52 4c 44 21 ;例4 自己设计一段小程序验证补码的加法、进位、溢出的概念;参考程序(可对数据进行修改):-A CS:0100MOV AL,74ADD AL,70MOV AL,7AADD AL,94MOV AL,43ADC AL,65INT 20-P命令单步执行实验现象记录:记录每条指令执行后AX及标志位变化例51.使用R命令,实现AX=0108,BX=F1AA-R AX -R BXAX 0000 BX 0000:0108 :F1AA2.编辑下列程序-A CS:0100MOV AL,05MOV BL,09MUL BLAAMINT 20-P 命令执行单步执行实验现象记录:记录每条指令执行后,AX、BX以及标志位的变化。
例6 执行下列程序,用P命令或T命令跟踪-A CS:0100MOV AX,0200MOV DX,1E4FCALL AX ;调用子程序MOV DX,167CADD DH,DLMOV [0300],DXINT 20;********下面是子程序段********-A CS:0200aPUSH AXMOV AX, 010BPOP AXRET实验现象记录:1)跟踪执行程序,观察在子程序调用过程中IP 0103 SP FFEE 堆栈区域内容BA4F1E 0106 FFEE FFD00108 FFEE BA7C16 2)程序运行完毕后DS:[0300]中的内容为00003)如果去掉POP AX,程序执行后DS:[0300]中内容为4F6D实验二. 汇编语言上机环境及基本步骤一、实验目的:1.掌握编写汇编源程序的基本格式。
2.熟悉汇编语言上机环境。
3.掌握汇编源程序的编辑和修改,熟悉EDIT或记事本的使用方法。
4.掌握汇编源程序编译、连接成可执行文件的过程,熟悉MASM,LINK的使用方法。
二、实验内容:在屏幕上显示并打印字符串“This is a sample program.”三、实验仪器微机一台实验现象记录:记录调试过程中出现的问题及修改措施,并记录程序执行结果。
五、实验源程序DATA SEGMENTDA1 DB 'This is a simple program.'DB 0DH,0AH,' $'DATA ENDSSTACK SEGMENTST1 DB 100 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKSTART:MOV AX, STACKMOV SS, AXMOV AX, DATAMOV DS, AXMOV AH, 9MOV DX, OFFSET DA1INT 21HMOV AH,4CHINT 21HCODE ENDSEND START内容三、顺序程序设计一、实验目的1)掌握使用指令编程及调试的方法;2)掌握指令对状态标志位的影响及其测试方法;3)学会运用顺序程序解决实际问题的方法。
二、实验设备PC机一台三、实验内容及步骤1.(1)题目计算X+Y=Z,将结果Z存入某存贮单元。
本实验程序是2个16位,即32位运算,利用累加器AX,先求低16位和,并存入低地址存贮单元,后求高16位和,再存入高地址存贮单元。
由于低位和可能向高位有进位,因而高位相加语句须用ADC指令,则低位相加有进位时CF=l,高位字相加时,同时加上CF中的1。
参考程序如下:STACK SEGMENTDW 64 DUP(?)STACK ENDSDATA SEGMENTXL DW ? ;请在此处给X低位赋值XH DW ? ;请在此处给X高位赋值YL DW ? ;请在此处给Y低位赋值YH DW ? ;请在此处给Y高位赋值ZL DW ?ZH DW ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV AX,XLADD AX,YLMOV ZL,AXMOV AX,XHADC AX,YHMOV ZH,AXINT 03HCODE ENDSEND START(2)实验步骤1)输入实验程序并检查无误,经汇编、连接后生成EXE文件。
2)用DEBUG的U命令查看MOV AX,XXXX(DATA))语句,即得到数据段基址DS:XXXX,用E命令E XXXX:0000给XL,XH,YL,YH赋值存入十六进制数A0 65 15 00和9E B7 21 00。
3)用G命令运行以上程序。
4)用D XXXX:0008 显示计算结果:3E 1D 37 005) 反复试几组数,考查程序的正确性。
2.写出计算y=a*b+c-18的程序,其中a、b、c分别为3个带符号的8位二进制数。
写出上机过程,观察现象,记录结果PAGE 55,60CC EQU 18STACK SEGMENT STACKDW 256 DUP(?)TOP LABEL WORDSTACK ENDSDATA SEGMENTDAT1 DB 34HDAT2 DB 56HDAT3 DB OE7HDATY DW?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK START:MOV AX,DATA;MOV DS,AXMOV AX,STACK;MOV SS,AXMOV SP,OFFSET TOP;MOV AL,DAT1;MOV BL,DAT2;IMUL BL;MOV BX,AX;MOV AL,DAT3;CBW;ADD AX,BX;SUB AX,CCMOV DATY,AXMOV AH,4CHINT 21HCODE ENDSEND START内容四、分支程序设计一、实验目的1)学习分支程序的设计与调试方法;2)掌握分支程序的指令和基本结构。
二、实验设备PC机一台三、实验内容及步骤1.求某数X的绝对值,并送回原处程序参考课本写出上机过程,观察现象及记录结果STACK SEGMENT STACKDW 256 DUP(?)TOP LABEL WORDSTACK ENDSDATA SEGMENTXADR DW 3456H,8192HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKSTART:MOV AX,DATAMOV DS,AXMOV AX,STACKMOV SS,AXMOV SP,OFFSET TOPMOV AX,XADRAND AX,AXJNS DONENEG AXMOV XADR,AXDONE: MOV AH,4CHINT 21HCODE ENDSEND START2.写出将一位十六进制数转换成对应的ASXII码的程序(只考虑大写字母)。
程序参考课本写出上机过程,观察现象及记录结果STACK SEGMENTDW 256 DUP(?)TOP LABEL WORDSTACK ENDSDATA SEGMENTN DB 12DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AX,DATAMOV DS,AXMOV AX,STACKMOV SS,AXMOV SP,OFFSET TOPMOV AL,NCMP AL,09JBE D1CMP AL,15JA G1ADD AL,07D1: ADD AL,30HDONE: MOV AH,4CHINT 21HG1: MOV AL,0FFHJMP SHORT DONECODE ENDSEND START内容五循环程序设计一、实验目的1)学习循环程序的设计与调试方法;2)掌握循环程序的基本结构。