实验一:一、实验目的:1. 学习汇编语言源程序的编辑、汇编、连接、运行全过程。
2. 了解汇编程序、连接程序、DOS系统装入和返回功能。
掌握MASM、LINK的应用。
3. 掌握汇编语言程序结构,熟悉汇编语言的一些常用语法规则,初步掌握汇编语言的开发过程。
4. 掌握DOS系统功能调用的基本方法。
二、实验原理通过调用(INT 21H)表中的01h号功能号从键盘输入一个字符并回显到视频显示器上三、实验内容及算法流程、源程序清单实验内容:编写程序,从键盘输入一个字符并回显到视频显示器上。
源程序清单:实验1.asm实验1.obj实验1.execode segmentassume cs:codestart: mov ah,1int 21hmov ah,4chint 21hcode endsend start实验二:编写程序,显示一个字符Q一、实验目的1、学习汇编语言源程序的编辑、汇编、连接、运行全过程。
2、了解汇编程序、连接程序、DOS系统装入和返回功能。
掌握MASM、LINK的应用。
3、掌握汇编语言程序结构,熟悉汇编语言的一些常用语法规则,初步掌握汇编语言的开发过程。
4、掌握DOS系统功能调用的基本方法。
二、实验原理通过调用(INT 21H)表中的02h号功能显示输出一个字符Y。
三、实验内容及算法流程(流程框图)、源程序清单(要求在重要语句后写出注释)实验内容: 编写程序,显示输出一个字符Q。
源程序清单:实验2.asm实验2.obj实验2.execode segmentassume cs:codestart:mov ah,02mov dl,'Q'int 21hmov ah,4chint 21hcode endsend start实验三:编写程序,在屏幕上显示输出“I love DOTA”一、实验目的1、学习汇编语言源程序的编辑、汇编、连接、运行全过程。
2、了解汇编程序、连接程序、DOS系统装入和返回功能。
掌握MASM、LINK的应用。
3、掌握汇编语言程序结构,熟悉汇编语言的一些常用语法规则,初步掌握汇编语言的开发过程。
4、掌握DOS系统功能调用的基本方法。
二、实验原理考察通过调用(INT 21H)表中的0ah号功能显示输出字符串三、实验内容及算法流程(流程框图)、源程序清单(要求在重要语句后写出注释)实验内容: 编写程序,在屏幕上显示输出‘I love DOTA。
源程序清单:实验3.asm实验3.obj实验3.exedata segmentbuf db 'I love DOTA.$'data endscode segmentassume cs:code ds:datastart: mov ax,datamov ds,axlea dx,bufmov ah,9int 21hmov ah,4chint 21hcode endsend start实验四:实验名称:编写一个程序,要求从键盘输入一个小写字母,以其大写字母形式显示,否则显示ERROR。
一、实验目的综合转移指令与字符串显示操作。
二、实验原理对输入的字符进行比较,若为小写字母的字符,则通过02h号功能显示该字符的大写形式,否则通过JMP跳转指令输出字符串。
三、实验内容及算法流程(流程框图)、源程序清单(要求在重要语句后写出注释)实验内容: 编写一个汇编语言程序,要求从键盘输入一个小写字母,以其大写字母形式显示,否则显示error。
流程(流程框图)源程序清单:实验4.asm实验4.obj实验4.exedata segmentbuf db 'ERROR$'data endscode segmentassume cs:code,ds:datastart: mov ax,datamov ds,axmov ah,01int 21hpush axmov ah,02mov dl,0ahint 21hpop axcmp al,'a'jb Acmp al,'z'ja Asub al,20hmov dl,almov ah,02int 21hjmp BA: lea dx,bufmov ah,9int 21hB: mov ah,4chint 21hcode endsend start实验五:编写程序在屏幕上显示10个“T”。
一、实验目的通过LOOP循环语句控制输出,熟悉LOOP语句的用法。
二、实验原理通过LOOP循环语句置CX寄存器的值为10,并在循环体内调用02H功能,进行字符输出。
三、实验内容及算法流程(流程框图)、源程序清单(要求在重要语句后写出注释)实验内容: 编写程序,在屏幕上输出10个“T”。
源程序清单:实验5.asm实验5.obj实验5.execode segmentassume cs:codestart: mov cx,10again:mov dl,'T'mov ah,02int 21hloop againmov ah,4chint 21hcode endsend start实验六:从键盘输入一个字符,如果是x则显示10个*,如果是y,则显示10个@如果是z,则显示10个$,否则退出程序。
一、实验目的主要考察JMP转移指令以及条件转移指令。
二、实验原理对输入的字符进行比较,如果满足相应的条件则根据条件转移指令转移到不同的地方输出不同的字符。
三、实验内容及算法流程(流程框图)、源程序清单(要求在重要语句后写出注释)实验内容: 从键盘输入一个字符,如果是x则显示10个*,如果是y,则显示10个@如果是z,则显示10个$,否则退出程序。
源程序清单:实验6.asm实验6.obj实验6.execode segmentassume cs:codestart: mov cx,10mov ah,01int 21hcmp al,'x'jz Acmp al,'y'jz Bcmp al,'z'jz Cjmp DA: mov dl,'*'mov ah,02int 21hloop Ajmp DB: mov dl,'@'mov ah,02int 21hloop Bjmp DC: mov dl,'$'mov ah,02int 21hloop Cint 21hD: mov ah,4chint 21hcode endsend start实验七:从键盘输入一个字符串,要求将其转换为大写字符串显示。
一、实验目的考察DOS系统调用里的02H号功能进行字符串输入操作。
二、实验原理通过调用DOS系统调用里的02H号功能进行字符的输入操作,将其中的每个字符先进行判断,合乎要求的减去20h然后存储,最后对其输出。
三、实验内容及算法流程(流程框图)、源程序清单(要求在重要语句后写出注释)实验内容: 从键盘输一个字符串,要求将其转换为大写字符串显示。
流程(流程框图)源程序清单:实验7.asm实验7.obj实验7.exeassume cs:code,ds:datadata segmentstring db 100 dup(?)data endscode segmentstart: mov ax,datamov ds,axlea si,stringmov ah,01next:int 21hcmp al,13jz donecmp al,'a'jl noopsub al,20hnoop:mov [si],alinc sijmp nextdone:mov ah,02mov dl,13int 21hmov dl,10int 21hmov byte ptr [si],'$'mov ah,09lea dx,stringint 21hmov ax,4c00hint 21hcode endsend start实验八:编写程序从键盘接收一个小写字母,然后找出它的前导字符和后续字符,再按顺序显示这三个字符。
一、实验目的通过条件转移指令产生不同的分支。
二、实验原理通过对输入的字符进行比较,若为小写字母字符,则先将该字符的ASCII码减去1输出,然后依次加上1后在输出,一共输出3个字符即可。
三、实验内容及算法流程(流程框图)、源程序清单(要求在重要语句后写出注释)实验内容: 编写程序,从键盘接受一个小写字母,然后找出他的前导字符和后续字符,再按顺序显示这三个字符。
流程(流程框图)源程序清单:实验8.asm实验8.obj实验8.exeassume cs:code,ds:datadata segmentbuf db 'Please input one character :$'str db 'ERROR!!!!$' data endscode segmentstart: mov ax,datamov ds,axlea dx,bufmov ah,09int 21hmov ah,07int 21hcmp al,'a'jz Ccmp al,'z'jz Dcmp al,'b'jb Acmp al,'y'ja Amov dl,almov ah,02int 21hmov bl,almov dl,0dhmov ah,02hint 21hmov dl,0ahmov ah,02int 21hmov al,blsub al,1hmov dl,almov ah,02int 21hadd al,1hmov dl,almov ah,02int 21hadd al,1hmov dl,almov ah,02int 21hjmp B A:lea dx,strmov ah,09int 21hjmp BC: mov dl,almov ah,02int 21hmov dl,0dhmov ah,02int 21hmov dl,0ahmov ah,02int 21hmov dl,'a'mov ah,02int 21hmov dl,'b'mov ah,02int 21hjmp BD: mov dl,almov ah,02int 21hmov dl,0dhmov ah,02hint 21hmov dl,0ahmov ah,02int 21hmov dl,'y'mov ah,02int 21hmov dl,'z'mov ah,02int 21hjmp BB: mov ax,4c00hint 21hcode endsend start实验九:从键盘接收一个小写字符串,并将该字符串在屏幕上进行显示,然后再下一行输出剔除其中数字字符的字符串。