师大汇编实验报告含程序

合集下载

汇编语言程序设计实验报告

汇编语言程序设计实验报告

微机原理实验报告实验名称汇编语言程序设计一、实验目的1、掌握Lab6000p实验教学系统基本操作;2、掌握8088/8086汇编语言的基本语法结构;3、熟悉8088/8086汇编语言程序设计基本方法二、实验设备装有emu8086软件的PC机三、实验内容1、有一个10字节的数组,其值分别是80H,03H,5AH,FFH,97H,64H,BBH,7FH,0FH,D8H。

编程并显示结果:如果数组是无符号数,求出最大值,并显示;如果数组是有符号数,求出最大值,并显示。

2、将二进制数500H转换成二-十进制(BCD)码,并显示“500H的BCD是:”3、将二-十进制码(BCD)7693转换成ASCII码,并显示“BCD码7693的ASCII是:”4、两个长度均为100的内存块,先将内存块1全部写上88H,再将内存块1的内容移至内存块2。

在移动的过程中,显示移动次数1,2 ,3…0AH…64H(16进制-ASCII码并显示子程序)5、键盘输入一个小写字母(a~z),转换成大写字母显示:请输入一个小写字母(a~z):转换后的大写字母是:6、实现4字节无符号数加法程序,并显示结果,如99223344H +99223344H = xxxxxxxxH四、实验代码及结果实验代码见代码附录1.1程序运行结果图1 无符号最大值结果截图1.1 程序运行结果图2 有符号最大值截图2.0 程序运行结果图3 BCD码显示3.0 程序运行结果图4 ASCII码显示4.0 程序运行结果图5 移动次数显示5.0 程序运行结果图6 大小写转化6.0 程序运行结果图7 相加结果显示五、分析与总结。

【实验】汇编实验报告

【实验】汇编实验报告

【关键字】实验实验一汇编程序的汇编及运行1.实验目的和要求(1)熟悉汇编程序的汇编、连接、执行过程(2)生成LST文件,查看LST文件(3)生成OBJ文件,修改语法错误(4)生成EXE文件(5)执行2.实验环境IBM—PC机及其兼容机实验的软件环境是:操作系统:DOS 2.0以上;调试程序:;文本编程程序:EDIT.EXE、WPS.EXE;宏汇编程序:MASM.EXE(或ASM .EXE);连接装配程序:LINK .EXE;交叉引用程序:CREF.EXE(可有可无)。

3.实验内容及实验数据记录(1)将数据段输入,取名1.txt,保存在MASM文件夹下。

生成LST文件,(不必连接、运行)用EDIT查看1.LST文件。

试回答:DA1,DA2的偏移量分别是多少?COUNT的值为多少?DA TA SEGMENTORG 20HNUM1=8NUM2=NUM1+10HDA1 DB ‘IBM PC’DA2 DB 0AH, 0DHCOUNT EQU $-DA1DATA ENDSEND(2)输入有错误的文件,修改错误语句。

(MASM没有出现错误即可。

不必连接、运行。

)DA TA SEGMENTV AR1 DB 0, 25, ODH, 300V AR2 DB 12H, A4H, 6BHV AR3 DB ’ABCDEF’V AR4 DW 1234H, 5678HV AR5 DW 10H DUP(?)DATA ENDSCODE SEGMENTASSUME CS: CODE, DE: DA TABEING MOV AX, DA TAMOV DS, AXLEA SI, V AR5MOV BX, OFFSET V AR2MOV [SI], 0ABHMOV AX, V AR1+2MOV [BX], [SI]MOV V AR5+4, V AR4MOV AH, 4CHINT 21HCODE ENDSEND START(3)输入正确的程序,汇编、连接、运行STACKS SEGMENT STACKDW 128 DUP(?)STACKS ENDSDATAS SEGMENTSTRING DB ‘WELCOME!’, 13, 10, ‘$’DATAS ENDSCODES SEGMENTASSUME CS: CODES, DS: DATAS START:MOV AX, DA TASMOV DS, AXLEA DX, STRINGMOV AH, 9INT 21HMOV AH, 4CHINT 21HCODES ENDSEND START 1.算法描述及实验步骤1.(1)生成1.st文件(2)用EDIT查看文件2.修改后正确算法:DATA SEGMENTV AR1 DB 0, 25, 0DH, 30V AR2 DB 12H, 0A4H, 6BHV AR3 DB 'ABCDEF'V AR4 DW 1234H, 5678HV AR5 DW 10H DUP(?)DATA ENDSCODE SEGMENTASSUME CS: CODE, DS: DATA BEING: MOV AX, DATAMOV DS, AXLEA SI, V AR5MOV BX, OFFSET V AR2MOV byte ptr[SI], 0ABHMOV AL, V AR1+2MOV AX, [SI]MOV [BX], AXMOV AX, V AR4MOV V AR5+4, AXMOV AH, 4CHINT 21HCODE ENDSEND BEING5.调试过程1.程序没有错误,结果:2.程序运行出现错误:问题及改正:(1). 2.asm(2): error A2009: Symbol not defined: ODH 表示没有定义ODH;出错语句VAR1 DB 0, 25, ODH, 300,这里的 ODH应该为 16进制数的0DH。

汇编语言程序设计实验报告(1)

汇编语言程序设计实验报告(1)

实验一单指令功能测试实验一、实验目的1.会使用DEBUG软件;2.利用DEBUG单步执行功能测试指令的执行。

二、实验内容P129,14题三、实验要求:1. 在上机实验之前,首先做完作业;2. 设计如何验证指令执行的正确性操作,并在作业中描述;3. 周五上机验证,并给出上机结果。

若有出入,简要说明原因。

4. 实验报告当堂提交。

实验二完整的汇编语言程序设计实验一、实验目的1.掌握完整的汇编语言源程序的设计方法;2.掌握汇编语言源程序的执行过程。

二、实验内容设计一个程序,将所有的小写字母转换为大学字母,此程序不能改变除字母a~z外的任何其它字符。

三、实验要求(结果)1. 在上机实验之前,首先编写程序;2. 周一上机调试程序,并给出修改、运行正确的源程序;3. 分析错误原因;4. 实验报告当天提交。

实验三子程序设计实验一、实验目的1.掌握汇编语言源程序子程序设计方法;2.会使用CV软件工具。

二、实验内容编写子程序:判断三边能否构成三角形;编写主程序:输入三边,调用子程序判断,若能,则输出“Y”,否则输出“N”。

共判断10次。

三、实验要求同实验二。

实验四 宏汇编程序设计实验一、实验目的1.掌握宏汇编程序编程技术及宏调用的方法;2. 了解浮点CPU 编程方法及特点。

二、实验内容求(1+2+3+4+5+6+7+8+9)⨯LC π21的和。

三、实验要求1. 利用重复宏定义实现1、2、3⋯9数据的定义;2. 编写程序,上机验证结果的正确性。

3. 其它要求同前。

实验五 多模块程序设计实验一、实验目的1.掌握汇编段的属性的含义;2. 掌握利用LINK 将多模块连接起来的方法;3.掌握利用库文件将多模块连接起来的方法。

二、实验内容将字符串反序。

具体要求:1. 子模块:完成反序。

2. 主模块:输入字符串,调用子模块,显示反序后字符串。

3. 用 LINK 或库文件的方法实现多模块连接。

4. 其他要求同前。

实验六 混合程序的开发实验一、实验目的1.了解混合调用中的参数设置;2. 掌握混合调用的方法;二、实验内容求(1+2+3+4+5+6+7+8+9)⨯LC π21的和,并将和显示在屏幕上;具体要求:1. 用汇编语言完成子程序LC π21的编程;2. 通过C++完成实验内容的要求。

《汇编语言程序设计》实验报告(一)

《汇编语言程序设计》实验报告(一)
MESS1 DB 'MATCH!’,13,10,’$'
MESS2 DB 'NO MATCH!’,13,10,’$'
DATA ENDS
对以上源程序重新汇编、连接、运行,结果输出为:MATCH!
七、实验总结
通过这次上机实践,我对汇编程序和连接程序的使用开始有一点了解。但刚开始还是很不顺的,总是出现找不到文件,后来经过同学的指导,终于知道自己的错误,原来是路径错误。所以还需要勤加练习,多多实践。
四、实验材料、工具、或软件
多媒体计算机、WINDOWS XP系统或纯DOS系统、MASM6.11以上版本或汇编语言程序设计实验集成环境。
五、实验要求
1. 编写一程序,要求比较两个字符串STRING1和STRING2所含字符是否相同,若相同则显示‘MATCH’,若不相同则显示‘NO MATCH’。用串比较功能来完成程序所要求的功能。
2.完成课堂例题,并用DEBUG运行,观察结果。
六、试验内容与步骤:(附上必要的调试过程及运行结果截图,可加附页)
试编写一程序,要求比较两个字符串STRING1和STRING2所含字符是否相同,若相同则显示‘MATCH’,若不相同则显示‘NO MATCH’。用串比较功能来完成程序所要求的功能。上机步骤如下:
《汇编语言程序设计》实验报告(一)
姓名
学号
系别
班级
指导教师
实验日期
课程名称
《汇编语言程序设计》
同组实验者
一、实验名称:实验一汇编程序和连接程序的使用
二、实验目的:
1. 熟悉汇编语言的上机环境;
2. 学习EDIT,MASM,LINK程序的使用;3. 掌握建立、汇、链接、运行汇编语言程序的过程。

合肥师范学院计算机科学与技术系汇编语言实验报告

合肥师范学院计算机科学与技术系汇编语言实验报告

实验一汇编语言的源程序的输入一实验目的1.初步了解汇编语言源程序的书写格式和要求。

2.学会使用EDIT、MASM、LINK、DEBUG等软件工具。

3.熟练掌握在计算机上编辑、汇编、连接及运行汇编语言程序的方法。

二实验环境微型计算机一台DOS或WINDOWS操作系统,MASM开发套件。

三实验要求为运行汇编语言程序至少要在磁盘上建立以下文件:(1)编辑程序,如EDIT.EXE,用来编辑汇编源程序(2)汇编程序,如MASM.EXE,将汇编源程序汇编生成目标代码文件。

(3)连接程序,如LINK.EXE,连接目标代码程序和库函数代码生成可执行程序文件。

(4)调试程序,如DEBUG.EXE。

四实验内容上机编辑、汇编、连接、运行下列汇编源程序:assume cs:codecode segments1: db 'Good,better,best,','$'s2: db 'Never let it rest,','$'s3: db 'Till good is better,','$'s4: db 'And better,best.','$'s: dw offset s1,offset s2,offset s3,offset s4row: db 2,4,6,8start: mov ax,csmov ds,axmov bx,offset smov si,offset rowmov cx,4ok: mov bh,0mov dh,[si]mov dl,0mov ah,2int 10hmov dx,[bx]mov ah,9int 21hadd bx,2inc siloop okmov ax,4c00hint 21hcode endsend start五实验步骤一、将edit、masm、link等程序拷贝在C盘根目录下鼠标左键单击开,运行,键入command命令,进入DOS方式。

汇编语言实验报告

汇编语言实验报告

《汇编语言实验报告》姓名:刘坤学号:109074153班级:软件101班实验一汇编运行环境及方法、简单程序设计一、程序说明本程序用来比较两个字符串string1和string2所含的字符是否相同。

若相同则显示‘Match’,否则显示‘Nomatch’。

在程序的数据段先定义两个字符串string1和string2,再定义两个字符串mess1和mess2,分别代表‘Match’和‘Nomatch’。

再代码段比较字符串string1和string2,通过比较判断是否相同。

若相同则显示‘Match’,否则显示‘Nomatch’二、源程序datarea segmentstring1db'Move the cursor backward.'string2db'Move The cursor backward.'mess1db'match.',10,13,'$'mess2db'no match.',10,13,'$'datarea endsprogment segmentmain proc farassume cs:prognam,ds:datarea,es:datareastart:push dssub ax,axpush axmov ax,datareamov ds,axmov es,axlea si,string1lea di,string2cldmov cx,25repz cmpsbjz matchlea dx,mess2jmp short dispmatch:lea dx,mess1disp:mov ah,09int21hretmain endpprognam endsend start三、调试说明和调试结果在EDIT中建立ASM文件,再用汇编程序对源程序汇编产生目标文件Obj,再用连接程序产生执行文件EXE。

师大汇编实验报告含程序参考模板

师大汇编实验报告含程序参考模板

湖南师范大学汇编实验报告姓名:年级:专业:计算机科学与技术学号:任课教师:陈兆仁开课时间:2012~2013学年第一学期实验一DOS常用命令及8086指令使用实验目的:通过实验掌握下列知识:1、DOS命令: DIR,DEL,RENAME,FORMAT,COPY。

2、8086指令: MOV,ADD,ADC,SUB,SBB,DAA,XCHG3、DEBUG命令: A,D,E,F,H,R,T,U。

4、BCD码,ASCII码及用16进制数表示二进制码的方法。

5、8086寄存器: AX,BX,CX,DX,F,IP。

内容及步骤:一、DOS常用命令练习:1、将新盘插到 A驱动器中,用DIR命令查看盘上文件。

2、用命令 COPY BUG 复制一个文件。

3、用命令 RENAME BUG BG 将BUG 文件改为BG。

4、用命令 DEL BG 将文件BG删除。

在操作时要注意提示信息,并按提示操作。

二、DEBUG 命令使用:1、打 DEBUG 进入 DEBUG 控制,显示提示苻 '_ '。

2、用命令 F 100 10F 'A' 将'A'的ASCII码填入内存。

3、用命令 D 100 10F 观察内存中的16进制码及屏幕右边的ASCII 字符。

4、用命令 F 110 11F 41 重复上二项实验,观察结果并比较。

5、用命令 E 100 30 31 32 …… 3F将30H-3FH写入地址为100开始的内存单元中,再用D命令观察结果,看键入的16进制数是什么字符的ASCII码?6、用H命令检查下列各组16进制数加减结果并和你的手算结果比较:(1)34H,22H (2)56H,78H (3)A5,79H (4)1284H,5678H(5)A758,347FH7、用R 命令检查各寄存器内容,特别注意AX,BX,CX,DX,IP及标志位中ZF,CF8、用R命令将AX,BX内容改写为1050H及23A8H。

汇编实验报告(详细版)

汇编实验报告(详细版)

计算机组成与汇编语言(实验报告)内容: 实验一、六、七、八院系专业:计算机学院计算机科学与技术姓名:xxxxxxxxx学号:*******xxxxx完成时间:2012年12月1日计算机组成与汇编语言实验报告printf("输入的二进制数不正确!!");break;}}}if(a[15]=='1')s++;for(i=1;i<16;i++){if(a[15-i]=='1')s+=(1<<i);}printf("二进制: ");puts(a);printf("对应的十进制为: ");printf("%d\n",s);}程序1运行结果:实验情况与体会:运行过程中出现过不能判断是否输错的情况以及权位判断有误等情况,经过思考和修改后修改正确,说明理解好二进制与十进制之间的转换过程很重要。

编程过程中主要碰到的问题是,不够十六位的时候要在前面补零。

转换方法主要是除二求余的方法。

注:篇幅不够,可以另外附页。

计算机组成与汇编语言实验报告姓名xxxx 学号2011004xxxx 计分专业软件工程班级xxxxx 实验日期2012年 12 月 1日实验名称实验六分支结构程序设计实验目的●熟悉有符号定点数的表示。

●掌握原码、补码、反码之间的相互转换程序设计。

实验内容说明:该程序中X=23,Y=45,他们之差的绝对值为22,用16进制表示为0016H,即图中显示的结果2.调试程序2:DATA SEGMENTADD AL, 07HLP4: ADD AL, 30H ;将低四位转化为相应的ASCII码并以字符形式输MOV DL, ALMOV AH, 2INT 21HMOV AH, 4CHINT 21HCODE ENDSEND START上机运行该程序并检查运行结果是否正确。

上机实验过程:说明:求出三个数里面的最大数73;3. 编写程序1:编程实现从键盘输入一位数字,判断其奇偶性,并在屏幕上输出一个标志,若为奇数,则输出1,否则输出0。

川师汇编实验报告(含截图)

川师汇编实验报告(含截图)

《汇编程序设计》实验报告班级姓名院系学号指导教师计算机科学学院目录:一、实验一Debug命令的使用 (3)1.(内容)Debug程序的调入和退出 (3)2.(步骤)Debug常用调试命令的使用 (3)3.(扩展)MOV指令、XCHG指令、XLAT指令的调试 (5)二、实验二基本汇编指令的使用 (7)1.(内容)实验内容 (7)2.(步骤) (13)3.(扩展) (15)三、实验三DOS环境下的汇编语言编程环境使用 (18)1. 判断是否是闰年 (18)四、实验四内存操作数及寻址方法 (18)1.内存操作数及各种寻址方式使用 (18)2.求累加和程序: (20)3.多字节加法程序。

(22)五、实验五数据串传送和查表程序 (25)1.利用查表方法把DX的内容(十六进制数)转换成ASCII码 (25)2.数据串搬家程序: (28)3.段寄存器概念及字符串传送指令练习 (30)六、实验六屏幕字符显示程序 (33)七、实验七二进制加、减法编程实验 (33)1.实验内容 (33)2.实验步骤 (34)八、实验八十进制数的BCD加、减法编程实验 (36)1.实验内容 (36)2.实验步骤 (38)九、实验九二进制乘、除法编程实验(设计性实验) (41)1.实验的内容 (41)2.实验步骤 (43)十、实验十逻辑运算编程实验(验证性实验) (45)1.实验内容 (45)2.实验步骤 (45)十一、实验十一移位操作编程实验(设计性实验) (47)十二、实验十二ASCII码表示的十进制数、二进制数和BCD的互换编程实验 (47)十三、实验十三循环程序设计 (47)1.实验内容 (47)2.实验步骤 (50)十四、实验十四分支程序设计 (53)1.实验内容 (53)2.实验步骤 (55)十五、实验十五子程序设计 (57)1.实验内容 (57)一、实验一Debug命令的使用1.(内容)Debug程序的调入和退出2.(步骤)Debug常用调试命令的使用-A137B:0100 mov ax,20137B:0103 mov bx,ax137B:0105 add ax,bx137B:0107 mov [2000],ax137B:010A-T=0100AX=0020 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=137B ES=137B SS=137B CS=137B IP=0103 NV UP EI PL NZ NA PO NC 137B:0103 89C3 MOV BX,AX-T=0103AX=0020 BX=0020 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=137B ES=137B SS=137B CS=137B IP=0105 NV UP EI PL NZ NA PO NC 137B:0105 01D8 ADD AX,BX-TAX=0040 BX=0020 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=137B ES=137B SS=137B CS=137B IP=0107 NV UP EI PL NZ NA PO NC 137B:0107 A30020 MOV [2000],AXDS:2000=000-TAX=0040 BX=0020 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=137B ES=137B SS=137B CS=137B IP=010A NV UP EI PL NZ NA PO NC137B:010A 0000 ADD [BX+SI],AL DS:0020=FF-D 2000 L2137B:2000 40 00修改0100处的指令mov ax,20 将AX的初始值改为10,并重新运行-A 0100137B:0100 mov ax, 10137B:0103最后一条指令执行的结果如下:AX=0020 BX=0010 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=137B ES=137B SS=137B CS=137B IP=010A NV UP EI PL NZ NA PO NC 137B:010A 0000 ADD [BX+SI],AL DS:0010=DF查看2000单元的值为0020H-D 2000 l2137B:2000 20 00修改2000单元的值,由20h改为30h 并重新显示-E 2000137B:2000 20.30-D 2000 l2137B:2000 30 003.(扩展)MOV指令、XCHG指令、XLAT指令的调试(1)MOV指令的调试程序段:MOV AL, 55HMOV AH, ALMOV BX, 1000HMOV BYTE PTR[BX], 66HMOV WORD PTR[BX+2], 77HMOV [BX+4], AX(2)XCHG指令的调试程序段:MOV AX, 0203HMOV BX, 0405HXCHG AX, BXXCHG BL, BH(3).XLAT指令的调试用E命令从DS:200地址开始输入数据10H、20H、30H、40H、50H用A命令输入以下程序段:MOV BX, 200 ;将数据的首地址送给BXMOV AL, 4用MOV ;将要查找的数据的偏移地址送给ALXLAT查看结果寄存器AL中的值,以及从DS:200开始的存储单元的值。

汇编实验报告

汇编实验报告

实验三:汇编语言程序设计2——分支程序、循环程序设计1、实验目的掌握分支程序、循环程序设计基本方法2、实验内容分支程序设计:(二选一)1、编写程序,键入学生成绩(百分制),按A、B、C、D显示在屏幕上。

2、编写一程序,比较两个字符串所含字符是否相等,如果相等,在屏幕上显示“Y”,反之显示“N”。

循环程序设计:(二选一)1、设有一段文字,编写一段程序查找字母a出现的次数,并显示在屏幕上。

2、编写程序,求出100以内既能被2整除又能被3整除的数,存入定义好的数组中。

3、实验报告要求(1)给出源程序,并加上适当注释。

(2)给出流程图,并有适当的文字说明。

(3)结果抓图编写一程序,比较两个字符串所含字符是否相等,如果相等,在屏幕上显示“Y”,反之显示“N”。

DATAS SEGMENTSTRING1 DB '12345'STRING2 DB '12345'YSTR DB 'Y$'NSTR DB 'N$'DATAS ENDSCODES SEGMENTMAIN PROC FARSTART:PUSH DSSUB AX,AXPUSH AXMOV AX,DATASMOV DS,AXMOV ES,AXCALL DOCHACKRETMAIN ENDPDOCHACK PROC NEARLEA DI,STRING1LEA SI,STRING2MOV CX,5REPZ CMPSBJCXZ CS_PRINTJMP CNS_PRINT CNS_PRINT:LEA DX,NSTRCALL DOPRINTRETCS_PRINT:LEA DX,YSTRCALL DOPRINTRETDOPRINT PROC NEARMOV AH,9INT 21HRETDOPRINT ENDPCODES ENDSEND START设有一段文字,编写一段程序查找字母a出现的次数,并显示在屏幕上。

汇编实验报告

汇编实验报告

汇编实验报告一、实验目的本次汇编实验的主要目的是深入理解计算机底层的工作原理,掌握汇编语言的基本语法和编程技巧,能够运用汇编语言编写简单的程序来实现特定的功能。

通过实践操作,提高对计算机体系结构的认识,培养解决实际问题的能力。

二、实验环境本次实验使用的操作系统为 Windows 10,汇编语言编译器为MASM 615。

三、实验内容(一)数据传送与算术运算1、编写程序实现将两个 16 位的整数相加,并将结果存储在指定的内存单元中。

2、实现数据在不同寄存器和内存单元之间的传送。

(二)逻辑运算与移位操作1、对给定的两个字节数据进行逻辑与、或、异或操作,并观察结果。

2、进行移位操作,包括左移和右移,理解移位对数据的影响。

(三)循环与分支结构1、利用循环结构计算 1 到 100 的整数之和。

2、根据给定的条件,使用分支结构实现不同的操作。

(四)子程序调用1、编写一个子程序,实现两个数的乘法运算。

2、在主程序中调用该子程序,并输出结果。

四、实验步骤(一)数据传送与算术运算1、打开 MASM 编译器,新建一个汇编源文件。

2、使用`MOV` 指令进行数据传送,将两个整数分别存储在寄存器`AX` 和`BX` 中。

3、使用`ADD` 指令将两个数相加,结果存储在`CX` 寄存器中。

4、最后,使用`MOV` 指令将结果存储到指定的内存单元。

(二)逻辑运算与移位操作1、在源文件中定义两个字节变量,并初始化其值。

2、使用逻辑运算指令(如`AND`、`OR`、`XOR`)对这两个变量进行操作。

3、使用移位指令(如`SHL`、`SHR`)对变量进行移位,并观察结果。

(三)循环与分支结构1、对于循环结构,使用`LOOP` 指令实现从 1 到 100 的累加。

2、在分支结构中,根据给定的条件(如比较两个数的大小),使用`JZ`、`JL` 等指令执行不同的分支操作。

(四)子程序调用1、定义一个子程序,使用参数传递的方式接收两个数,并进行乘法运算。

汇编实验报告一实验总结

汇编实验报告一实验总结

汇编实验报告一实验总结
实验报告一:汇编实验总结
实验目的:通过汇编实验,掌握汇编语言的基本语法和编程技巧,加深对计算
机底层工作原理的理解。

实验过程:在实验中,我们首先学习了汇编语言的基本语法和指令格式,包括
寄存器的使用、内存地址的访问、算术运算和逻辑运算等。

随后,我们进行了
一系列的编程练习,包括编写简单的程序来实现加法、乘法、比较大小等功能。

在实验的最后阶段,我们还学习了如何调用系统中断来实现输入输出操作。

实验结果:通过本次实验,我们深入了解了汇编语言的编程技巧和应用场景。

我们不仅掌握了汇编语言的基本语法,还学会了如何编写简单的汇编程序来实
现一些基本的功能。

同时,通过实验,我们对计算机底层的工作原理有了更深
入的理解,对计算机系统的运行机制有了更清晰的认识。

实验总结:本次汇编实验让我们深入了解了汇编语言的基本知识和编程技巧,
为我们今后的学习和工作打下了坚实的基础。

通过实验,我们不仅学会了如何
使用汇编语言编写程序,还对计算机系统的底层工作原理有了更深入的理解。

希望在今后的学习和工作中,我们能够继续深入研究汇编语言,不断提高自己
的编程水平,为计算机科学技术的发展贡献自己的力量。

汇编语言顺序程序设计实验报告

汇编语言顺序程序设计实验报告

实验名称:汇编语言顺序程序设计实验报告实验目的:通过本次实验,学生能够掌握使用汇编语言编写顺序程序的基本方法,理解汇编语言的基本结构和运行机制。

实验内容:1. 汇编语言基础知识1.1 汇编语言的概念1.2 汇编语言的特点1.3 汇编语言的应用领域2. 汇编语言程序设计2.1 程序设计的基本流程2.2 程序设计的基本步骤2.3 汇编语言程序设计的规范与技巧3. 实验步骤3.1 确定实验题目和要求3.2 分析实验任务,设计程序流程图3.3 编写汇编程序3.4 调试程序,确保程序正确运行3.5 编写实验报告4. 实验报告要求4.1 实验题目4.2 实验目的4.3 实验内容和步骤4.4 程序设计思路和实现方法4.5 实验结果分析和讨论4.6 实验心得体会实验过程:1. 确定实验题目和要求本次实验的题目为“汇编语言顺序程序设计”,要求学生使用汇编语言编写一个顺序程序,实现指定的功能要求。

2. 分析实验任务,设计程序流程图在开始编写汇编程序之前,我们首先要明确实验的功能需求,然后设计程序的流程图,规划程序的整体结构。

3. 编写汇编程序在设计好程序流程后,根据汇编语言的语法规则,编写相应的程序代码,并确保程序的逻辑正确,语法无误。

4. 调试程序,确保程序正确运行编写完成程序后,需要对程序进行调试,逐步检查程序运行过程中的各个环节,发现并修复可能存在的错误。

5. 编写实验报告我们需要撰写本次实验的实验报告,详细记录实验的整体过程,包括程序设计思路、程序实现方法、实验结果分析和讨论,以及实验心得体会。

实验结果分析和讨论:经过本次实验,我们掌握了汇编语言顺序程序设计的基本方法和技巧,了解了汇编语言程序设计的规范和要求。

在实验过程中,我们遇到了一些问题和困难,但通过不懈的努力和团队合作,最终成功完成了实验任务,并取得了令人满意的成绩。

实验心得体会:通过本次实验,我们深刻认识到汇编语言在计算机领域中的重要性和应用价值,同时也意识到汇编语言程序设计的复杂性和技术挑战。

汇编语言编程实验报告

汇编语言编程实验报告

汇编语言编程实验报告汇编语言程序设计实验报告(一)汇编语言程序设计实验报告(一)一、预备知识汇编语言程序设计是一门实践性很强的课程。

编写程序、上机调试、运行程序是进一步学习和掌握汇编语言程序设计的必要手段。

二、实验目的1、掌握实验运行汇编语言所用的计算机机型2、熟悉常用编辑程序(行编辑程序EDLIN、全屏幕编辑程序QE及其它用于文件编辑的应用程序。

)3、掌握汇编程序ASM、宏汇编程序MASM1.0以上。

4、LINK连接程序5、DEBUG调试程序三、汇编语言源程序上机操作过程2、编辑源文件根据给定的任务,可编写程序。

如果经过检查认为所编程序无错时,就可在计算机上通过编辑程序建立源程序文件了。

一般在编辑过程中总会有错误产生,因此还要进行人工检查、修改以致重新编辑,直到所编辑的源程序无误为止,然后以一个源程序文件(ASM文件)存盘。

将包含QE文件的工作磁盘插入驱动器A:。

进入QEA\QE进入全屏幕后可以开始编程。

文件名取为Myprog。

asm;Ddisplystring (09H)CODESEGMENTPUBLICASSUME CS:CODE,DS:CODEORG 100HSTART:JMP BEGINMSG DB‘Hi ! This ia a dollar sign terminated string.’,’$’BEGIN:MOV AX,CS ;set up to display messageMOV DS,AXMOV DX,OFFSET,SG ;set up to display messageMOV AH,09H;display string function requestINT 21H ;call DOSMOV AH ,4CH ;terminate propram funct requestINT 21H ;Call DOSCODE ENDS;end of code segmentEND START;strat is the entry point输入完毕后,按ALT---X,存盘返回DOS3、汇编源程序文件(ASM,MASM)由编辑程序所建立的ASM文件只是个文本文件,计算机无法执行。

汇编实验一实验报告

汇编实验一实验报告

汇编实验一实验报告一、实验目的1.了解汇编语言的基本概念和基本语法。

2.掌握常见汇编指令的使用方法。

二、实验器材1.计算机一台。

2.汇编语言开发环境。

三、实验原理和方法1.汇编语言是低级程序语言,是计算机可以直接识别并执行的语言。

2.汇编语言采用助记符表示计算机指令,并且每一条汇编指令都对应一条机器指令。

四、实验过程及结果1.编写一个汇编程序,实现将两个数相加并输出结果的功能。

2.打开汇编语言开发环境,创建一个新的源文件。

3.在源文件中编写汇编程序,并保存。

4.汇编程序的伪指令section .data用于定义数据段,section .text用于定义代码段。

5.使用汇编指令mov将要相加的两个数赋值给寄存器,使用汇编指令add将两个数相加,并将结果保存到一个寄存器中。

6.使用汇编指令mov将结果从寄存器中取出,并输出到屏幕。

7.编译和运行汇编程序,查看结果是否正确。

五、实验结果分析经过编译和运行,实验程序顺利执行,结果正确输出。

通过这个实验,加深了对汇编语言的理解和掌握。

六、实验总结通过本次实验,我了解了汇编语言的基本概念和基本语法,并掌握了常见汇编指令的使用方法。

在实验过程中,我遇到了一些问题,如如何正确使用汇编指令以及如何调试程序等,但在同学和老师的帮助下,我顺利完成了实验,并且收获了很多。

通过这次实验,我深刻认识到汇编语言是一种非常底层的语言,需要对计算机底层原理有一定的了解,才能编写出正确的汇编程序。

同时,我也意识到汇编语言虽然复杂,但它的执行效率非常高,可以在一些特定场景下发挥出很大的作用。

总而言之,本次实验让我对汇编语言有了更深入的了解,也提高了我的编程能力。

希望在以后的学习中能够深入学习汇编语言,并能够熟练地使用它。

四川师范大学《汇编语言》实验报告(实验八九十)

四川师范大学《汇编语言》实验报告(实验八九十)

mov cl,4 mov dh,2 next1: rol bl,cl mov dl,bl and dl,0fh add dl,30h mov ah,2 int 21h dec dh jnz next1 mov ah,1 int 21h mov ah,4ch int 21h code ends end start 心得 写汇编程序也可以像 C 语言、C++那样,把每个问题分解为不同的小部分,一步步地实现, 才能完成全部。
;此处输入代码段代码 MOV AH,4CH INT 21H CODES ENDS END START 心得: 意识到一个小小的循环显示在汇编语言里不像 C、C++这些语言那么简单,必须经过 堆栈来完成,每一步也必须谨小慎微,不然得不出最终结果。
实验十
实验目的
分支程序设计实验
掌握分支程序设计方法 掌握汇编语言程序上机过程和调试方法 实验内容 参考程序流程图编写程序,完成以下功能: 已知 10 个学生的成绩,分别统计低于 60 分、60-69 分、70-79 分、80-89 分、高于 90 分的人数,并分别存放到 s5、s6、s7、s8 及 s9 单元中。 实验报告 实验目的、内容、步骤 附页写出完整源程序,上机调试运行结果 步骤: DATAS SEGMENT ;此处输入数据段代码 DATAS ENDS STACKS SEGMENT ;此处输入堆栈段代码 STACKS ENDS data segment score db 56,69,84,82,73,88,99,63,100,80 cn equ $-score s5 db ? s6 db ? s7 db ? s8 db ? s9 db ? s10 db ?
START: MOV AX,DATAS MOV DS,AX MOV AH,02H MOV DL,10H MOV BL,16D E: MOV CX,16D L: INT 21H PUSH DX MOV AH,02H MOV DL,0 MOV AH,02H INT 21H MOV DL,0 INT 21H POP DX INC 21H POP DX INC DL LOOP L PUSH DX MOV AH,02H MOV DL,0DH MOV AH,02H INT 21H MOV DL,0AH INT 21H POP DX DEC BL CMP BL,0 JNE E JE EXIT EXIT: MOV AX,4C00H INT 21H

川师汇编实验报告

川师汇编实验报告

实验编号: 1 四川师大《汇编语言》实验报告2016年 9月 17 日计算机科学学院 2015 级3班实验名称DEBUG程序的调用
姓名:邓小卫学号:2015110309 指导老师:__吴贞东__ 实验成绩:
一.实验目的及要求
DEBUG程序的调用
汇编及反汇编命令A、U 的使用练习
显示及修改内存单元命令D、E 的使用练习
显示或修改寄存器命令R 的使用练习
单步及连续执行命令T、G 的使用练习
退出命令Q 的使用练习
二.实验内容
DEBUG程序的调用
汇编及反汇编命令A、U 的使用练习
显示及修改内存单元命令D、E 的使用练习
显示或修改寄存器命令R 的使用练习
单步及连续执行命令T、G 的使用练习
退出命令Q 的使用练习
三.实验主要流程、基本操作或核心代码、算法片段(该部分如不够填写,请另加附页)
四.实验结果的分析与评价(该部分如不够填写,请另加附页)
通过了此次的实验,对于陌生的debug命令有了一定的了解,能够使用部分debug指令完成实验要求。

对于指令T、G还较为陌生,需要进一步的理解和练习。

注:实验成绩等级分为(90-100分)优,(80-89分)良,(70-79分)中,(60-69分)及格,(59分)不及格。

汇编实验报告

汇编实验报告

实验一(1)熟悉汇编语言程序调试环境及顺序程序设计一、实验目的及要求:1.学习及掌握汇编语言源程序的书写格式和要求,明确程序中各段的功能和相互之间的关系。

2.学会使用EDIT、MASM、LINK、DEBUG等软件工具。

3.熟练掌握在计算机上建立、汇编、连接、调试及运行程序的方法。

二、熟悉汇编语言程序调试环境1.汇编语言源程序的建立本例中给出的程序是要求从内存中存放的10个无符号字节整数数组中找出最小数,将其值保存在AL寄存器中。

设定源程序的文件名为ABC。

DATA SEGMENTBUF DB 23H,16H,08H,20H,64H,8AH,91H,35H,2BH,7FHCN EQU $-BUFDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: PUSH DSXOR AX,AXPUSH AXMOV AX,DATAMOV DS,AXMOV BX,OFFSET BUFMOV CX,CNDEC CXMOV AL,[BX]INC BXLP: CMP AL,[BX]JBE NEXTMOV AL,[BX]NEXT: INC BXDEC CXJNZ LPMOV AH,4CHINT 21HCODE ENDSEND START键入以下命令:C:\>EDIT ABC.ASM此时屏幕的显示状态如图1所示。

图1 用EDIT编辑ABC.ASM程序窗口程序输入完毕后一定要将源程序文件存入盘中,以便进行汇编及连接,也可以再次调出源程序进行修改。

2.将源程序文件汇编成目标程序文件一般情况下,MASM汇编程序的主要功能有以下3点:(1)检查源程序中存在的语法错误,并给出错误信息。

(2)源程序经汇编后没有错误,则产生目标程序文件,扩展名为.OBJ。

(3)若程序中使用了宏指令,则汇编程序将展开宏指令。

源程序建立以后,在DOS状态下,采用宏汇编程序MASM对源程序文件进行汇编,其操作过程如图2所示。

汇编实验报告,(例文)

汇编实验报告,(例文)

汇编实验报告,(例文)《汇编语言程序设计》实验报告2021年11月★★FGL实验一:汇编语言运行环境及方法、简单程序设计I:实验要求:1、绘制程序流程图2、结合你的调试过程,整理其中用到的debug命令的使用方法和效果截图,并解释每一步骤的结论3、调试中遇到的问题及解决方法 II:具体实验过程:a.程序流程图1、开始输入源程序根据实验步骤进行汇编比较string1与string2输出NO输出Match结束b.调试过程及debug命令使用方法·-u命令反汇编:·-g0b·-d0:查看数据段内容·-g:执行完程序显示结果根据数据段显示的数据内容可知,在;两字符串分别为"Movethecursorbackward."和"Movethecursordackward.",因而可根据debug命令中的-e将第二个字符串中的d修改为b则可使结果显示为MATCH!具体步骤如下:如下图所示,对内存中1436:0029的存储单元进行-e29命令修改的前后数据的显示,可看到已经将d修改为b,从而-g命令运行的结果是Match.(注:-a 和-f命令亦可修改数据区内容但使用时有一定的区别)·-q命令退出debug调试:·-t命令的单步调试:(该过程中IP不断变化着)实验二:用DEBUG编程:使用堆栈段将AX和BX的内容进行交换等I:实验要求:1、任务1的指令序列2、整理本次试验中用到的debug命令的使用方法及效果截图II:实验目的:1、熟练掌握DEBUG的常用命令,学会用DEBUG调试程序。

2、掌握数据在内存中的存放方式和内存操作数的几种寻址方式。

3、掌握简单指令的执行过程。

III:实验内容:任务一、设堆栈指针SP=2021H,AX=3000H,BX=5000H;请编一程序段将AX 和BX的内容进行交换。

请用堆栈作为两寄存器交换内容的中间存储单元,用DEBUG调试程序进行汇编与调试。

汇编语言实验报告样例

汇编语言实验报告样例

指导教师叶茂盛成绩
江西师范大学计算机信息工程学院学生实验报告专业:_ _ 姓名_:_ _学号:__ __日期:_2014.3—2014.6 __
课程名称汇编语言实验室名称4313
实验名称Debug的使用(一)
指导教师周新、成绩
实验目的:
1、熟悉Debug环境。

2、掌握常用Debug命令的基本操作。

3、实验原理和内容:
●用Debug的R命令查看、改变CPU寄存器的内容;
●用Debug的D命令查看内存中的内容;
●用Debug的E命令改写内存中的内容;
●用Debug的U命令将内存中的机器指令翻译成汇编指令;
●用Debug的T命令执行一条机器指令;
●用Debug的A命令以汇编指令的格式在内存中写入一条机器指令
4、运行结果:实验步骤程序及运行结果(或实验数据记录及分析)
江西师范大学计算机信息工程学院学生实验报告
专业:_ _ 姓名_:_ _学号:__ __日期:_2014.3—2014.6 __
江西师范大学计算机信息工程学院学生实验报告
专业:_ _ 姓名_:_ _学号:__ __日期:_2014.3—2014.6 __
江西师范大学计算机信息工程学院学生实验报告
专业:_ _ 姓名_:_ _学号:__ __日期:_2014.3—2014.6 __。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

湖南师范大学汇编实验报告姓名:年级:专业:计算机科学与技术学号:任课教师:陈兆仁开课时间:2012~2013学年第一学期实验一DOS常用命令及8086指令使用实验目的:通过实验掌握下列知识:1、DOS命令: DIR,DEL,RENAME,FORMAT,COPY。

2、8086指令: MOV,ADD,ADC,SUB,SBB,DAA,XCHG3、DEBUG命令: A,D,E,F,H,R,T,U。

4、BCD码,ASCII码及用16进制数表示二进制码的方法。

5、8086寄存器: AX,BX,CX,DX,F,IP。

内容及步骤:一、DOS常用命令练习:1、将新盘插到 A驱动器中,用DIR命令查看盘上文件。

2、用命令 COPY BUG 复制一个文件。

3、用命令 RENAME BUG BG 将BUG 文件改为BG。

4、用命令 DEL BG 将文件BG删除。

在操作时要注意提示信息,并按提示操作。

二、DEBUG 命令使用:1、打 DEBUG 进入 DEBUG 控制,显示提示苻 '_ '。

2、用命令 F 100 10F 'A' 将'A'的ASCII码填入内存。

3、用命令 D 100 10F 观察内存中的16进制码及屏幕右边的ASCII 字符。

4、用命令 F 110 11F 41 重复上二项实验,观察结果并比较。

5、用命令 E 100 30 31 32 …… 3F将30H-3FH写入地址为100开始的内存单元中,再用D命令观察结果,看键入的16进制数是什么字符的ASCII码?6、用H命令检查下列各组16进制数加减结果并和你的手算结果比较:(1)34H,22H (2)56H,78H (3)A5,79H (4)1284H,5678H(5)A758,347FH7、用R 命令检查各寄存器内容,特别注意AX,BX,CX,DX,IP及标志位中ZF,CF8、用R命令将AX,BX内容改写为1050H及23A8H。

三、8086常用指令练习1、传送指令1)用A命令在内存100H处键入下列内容:MOV AX,1234MOV BX,5678XCHG AX,BXMOV AH,35MOV AL,48MOV DX,75ABXCHG AX,DX2)用U命令检查键入的程序并记录,特别注意左边的机器码。

3)用T命令逐条运行这些指令,每运行一行检查并记录有关寄存器及IP的变化情况。

并注意标志位有无变化。

2、加减法指令:1)用A命令在内存100H处键入下列内容:MOV AH,34MOV AL,22ADD AL,AHSUB AL,78MOV CX,1284MOV DX,5678ADD CX,DXSUB CX,AXSUB CX,CX2)用U命令检查键入的程序及对应的机器码。

3)用T命令逐条运行这些指令,检查并记录有关寄存器及ZF情况。

思考:这次运行还是打入T,行不行?怎么办?用R命令检查一下IP的内容。

注意T命令与IP的关系。

3、带进位加减法:1)用A命令在内存200H处键入下列内容,并用U命令检查:MOV AH,12MOV AL,84MOV CH,56MOV CL,78ADD AL,CLADC AH,CHMOV DH,A7MOV DL,58SUB DL,7FSBB DH,342)用T命令逐条运行这些指令,检查并记录有寄存器及CF内容。

3)上面这段程序若改用16位操作指令达到同样结果,怎么改?试修改并运行之。

DSEG SEGMENTDAT1 DW 200HDTT1 DW 220HDSEG ENDSESEG SEGMENTSUM DW 2 DUP(?)ADC DW 2 DUP(?)SUB DW 2 DUP(?)SBB DW 2 DUP(?)ASSUME CS:CSEG,DS:DSEG,ES:ESEGSTART:mov ax,DSEGMov ds,axMov ax,esegMov es,AXLEA SI,SUMLEA SI, ADCLEA SI, SUBLEA SI, SBBMov ax,DAT1ADD ax,DAT2Mov es:[si],axMov ax,DAT1ADC ax,DAT2Mov es:[si],axMov ax,DAT1SUB ax,DAT2Mov es:[si],axMov ax,DAT1SBB ax,DAT2Mov es:[si],ax CSEG ENDSEND START 4、BCD码加减法1)内容:MOV AL,58ADD AL,25DAA2)要求:用A 命令键入,U命令检查,T命令逐条运行并记录有关寄存器及AF内容。

实验报告要求:1、16进制数加减法手算结果及实验结果2、8086常用指令练习部分的逐条运行记录,思考结果及自编程序运行记录 (列出自编程序)。

附:DEBUG 使用:1、打 DEBUG 进入 DEBUG,显示提示苻 '_ '。

2、退出DEBUG命令:Q3、显示内存命令:D 起始地址结束地址4、修改内存命令:E 起始地址,连续修改打空格键。

打回车键退出E命令。

5、检查寄存器命令:R标志位显示1 0CF CY NCZF ZR NZSF NG PLAF AC NAOF OV NVPF PE PODF DN UPIF EI DI6、修改寄存器命令:R 寄存器名7、小汇编命令:A 起始地址,不输入指令打回车键退出A命令。

8、反汇编命令:U 起始地址结束地址9、文件命名命令:N 盘号:文件名10、读文件命令:L 内存地址11、写文件命令:W 内存地址10、读扇区命令:L 内存地址盘号(0--A:,1--B:) 扇区号扇区数11、写扇区命令:W 内存地址盘号扇区号扇区数12、运行命令:G=起始地址结束(断点)地址13、单步命令:T=起始地址运行指令数,进入子程序内部。

14、单步命令:P=起始地址运行指令数,不进入子程序内部。

15、内存搬家命令:M 起始地址结束地址目的地址实验二内存操作数及寻址方法实验目的:通过实验掌握下列知识:1、DEBUG命令:G,N,W,L及Q。

2、8086系统中数据在内存中的存放方式和内存操作数的几种寻址方式。

3、8086指令:INC,DEC,LOOP,INT 3,INT 20H,寄存器SI,DI。

4、8086汇编语言伪操作:BYTE PTR,WORD PTR。

5、求累加和程序和多字节加减法程序。

实验内容和步骤:一、内存操作数及各种寻址方式使用:内容:MOV AX,1234MOV [1000],AXMOV BX,1002MOV BYTE PTR[BX],20MOV DL,39INC BXMOV [BX],DLDEC DLMOV SI,3MOV [BX+SI],DLMOV [BX+SI+1],DLMOV WORD PTR[BX+SI+2],2846步骤:1)用A命令键入上述程序,并用T命令逐条运行。

2)每运行一条有关内存操作数的指令,要用D命令检查并记录有关内存单元的内容并注明是什么寻址方式。

注意D命令显示结果中右边的ASCII字符及双字节数存放法。

思考:有关指令中BYTE PTR及WORD PTR伪操作不加行不行?试一试。

二、求累加和程序:程序:MOV BX,1000MOV CX,10SUB AX,AXLOP: ADD AL,[BX]ADC AH,0INC BXJ: LOOP LOPINT3步骤:1)用A命令将程序键入到100H开始的内存中,在键入时记下标号LOP和J的实际地址,在键入LOOP指令时LOP用实际地址值代替。

2)用命令N AA将此程序命名为文件AA(文件名可任取)。

3)用R命令将BX:CX改为程序长度值(即最后一条指令后面的地址减去开始地址)4)用命令W 100将此程序存到AA命名的磁盘文件中。

5)用命令Q退出DEBUG。

6)用命令DEBUG AA再次调入DEBUG和文件AA,可用U命令检查调入程若调入DEBUG时忘了加AA文件名,可用N命令和L命令将文件调入。

7)用E命令在内存地址100H处键入16个数字8)用命令G=100 J(J用实际地址代替),使程序运行并停在断点J上,检查AX,BX的值是否符合你的预计值。

9)用T命令运行一步,观察程序方向(IP值)和CX值是否与你的估计一样,若不一样,检查程序是否有错。

10)重复G J与T,再检查AX是否正确。

11)用G命令使程序运行到结束,检查AX值是否正确三、多字节加法程序。

程序:MOV DI,1000MOV CX,8MOV SI,2000CLCLOP: MOV AL,[SI]ADC [DI],ALINC SIINC DILOOP LOPINT 20步骤:1)用命令键入此程序2)用E命令在1000H开始处键入一个8字节被加数,在2000H开始处键入一个8字节加数,均为低字节在前面。

3)。

用G命令运行此程序,并用D命令检查其结果(存放在哪里?),是否正确?4)将INT 20H指令改为INT 3,有何区别?若这条指令不加,行不行?试一试。

四。

自编程序:用16位减法指令编一个32位(4字节)数减法程序,两个源数及结果存放地址同上题。

调试并做记录。

MOV AX, DS:1000H ;被减数低16位SUB AX, DS:1004H ;减去减数的低16位MOV DS:1008H, AX ;保存相减结果的低16位MOV AX, DS:1002H ;被减数高16位SBB AX, DS:1006H ;“带借位”减去减数的高16位MOV DS:100AH, AX实验报告要求:1、各项实验结果记录。

2、自编程序原稿及调试后修正稿,写出原稿错在那里。

实验三汇编语言程序上机过程实验目的:1、掌握常用工具软件 PE,MASM和LINK的使用。

2、伪指令: SEGMENT,ENDS,ASSUME,END,OFFSET,DUP。

3、利用的 1号功能实现键盘输入的方法。

4、了解.EXE文件和.COM文件的区别及用INT 21H 4C号功能返回系统的方法。

程序:data segmentmessage db 'This is a sample program of keyboard and disply'db 0dh,0ah,'Please strike the key!',0dh,0ah,'$' data endsstack segment para stack 'stack'db 50 dup(?)stack endscode segmentassume cs:code,ds:data,ss:stackstart: mov ax,datamov ds,axmov dx,offset messagemov ah,9int 21hagain: mov ah,1int 21hcmp al,1bhje exitcmp al,61hjc ndcmp al,7ahja ndand al,11011111bnd: mov dl,almov ah,2int 21hjmp againexit: mov ah,4chint 21hcode endsend start实验步骤:1、用用文字编辑工具(记事本或EDIT)将源程序输入,其扩展名为.ASM。

相关文档
最新文档