汇编实验.docx

上传人:b****6 文档编号:12797643 上传时间:2023-06-08 格式:DOCX 页数:17 大小:23.87KB
下载 相关 举报
汇编实验.docx_第1页
第1页 / 共17页
汇编实验.docx_第2页
第2页 / 共17页
汇编实验.docx_第3页
第3页 / 共17页
汇编实验.docx_第4页
第4页 / 共17页
汇编实验.docx_第5页
第5页 / 共17页
汇编实验.docx_第6页
第6页 / 共17页
汇编实验.docx_第7页
第7页 / 共17页
汇编实验.docx_第8页
第8页 / 共17页
汇编实验.docx_第9页
第9页 / 共17页
汇编实验.docx_第10页
第10页 / 共17页
汇编实验.docx_第11页
第11页 / 共17页
汇编实验.docx_第12页
第12页 / 共17页
汇编实验.docx_第13页
第13页 / 共17页
汇编实验.docx_第14页
第14页 / 共17页
汇编实验.docx_第15页
第15页 / 共17页
汇编实验.docx_第16页
第16页 / 共17页
汇编实验.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

汇编实验.docx

《汇编实验.docx》由会员分享,可在线阅读,更多相关《汇编实验.docx(17页珍藏版)》请在冰点文库上搜索。

汇编实验.docx

汇编实验

实验二循环程序实验

1、从键盘输入字符,如果字符是数字(0-9)则响铃n次,如果不是数字,则重新输入,ctrl+C键强行终止

CODESEGMENT

ASSUMECS:

CODE

START:

MOVAH,01H

INT21H

CMPAL,03H

JZEXIT

CMPAL,30H

JBSTART

CMPAL,39H

JASTART

ANDAL,0FH

CBW

MOVCX,AX

beep:

MOVAH,02H

MOVDL,07H

INT21H

MOVSI,8000H

delay:

MOVDI,0F000H

loopdi:

DECDI

JNZloopdi

DECSI

JNZdelay

LOOPbeep

EXIT:

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

2、编写一个程序,从键盘接收一个小写字母然后找出它的前导字符和后继字符,在按顺序实现这是三个字符。

CODESEGMENT

ASSUMECS:

CODE

START:

MOVAH,01H

a1:

INT21H

CMPAL,'a'

JBa1

CMPAL,'z'

JAa1

DECAL

MOVDL,AL

MOVCX,3

DISPLAY:

MOVAH,02H

INT21H

INCDL

LOOPDISPLAY

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

3、编写程序,将一个包含20个数据的数组m分成两个组:

正数组和负数组,并分别把这两个数组的数据个数存在ZSGS和FSGS单元中。

DATASEGMENT

DAT1DB25H,82H,22H,0F4H,0E5H,0E2H,11H,15H,21H,16H

ZSQDB10DUP(?

FSQDB10DUP(?

ZSGSDB0

FSGSDB0

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVBX,0

MOVSI,0

MOVDI,0

MOVCX,10

A1:

MOVAL,DAT1[BX]

ANDAL,AL

JSFSCL

MOVZSQ[SI],AL

INCSI

INC[ZSGS]

JMPNEXT

FSCL:

MO

VFSQ[DI],AL

INCDI

INC[FSGS]

NEXT:

INCBX

LOOPA1

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

实验三

1、学生成绩名次排序

DATASEGMENT

GRADEDB88,75,95,63,98,78,87,73,90,60

RANKDB10DUP(?

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVDI,10

MOVBX,0

LOOP1:

MOVAL,GRADE[BX]

MOVDL,0

MOVCX,10

LEASI,GRADE

NEXT:

CMPAL,[SI]

JGENOCOUNT

INCDL

NOCOUNT:

ADDSI,1

LOOPNEXT

INCDX

MOVRANK[BX],DL

INCBX

DECDI

JNZLOOP1

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

2、在BUFF起始的单元中,有一组数据,数组的个数放在cnt单元中,试把数组中的数据按从小到大排序。

DATASEGMENT

BUFFDB18,5,20,1,35,4,6,14,7,52

CNTDW10

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVDI,0

WAI:

MOVBX,1

DECCNT

JEEXIT

MOVCX,CNT

MOVAL,BUFF[DI]

NEI:

CMPBUFF[DI+1],AL

JNSCONT

XCHGAL,BUFF[DI+1]

MOVBUFF[DI],AL

MOVBX,0

CONT:

INCDI

CMPBX,0

JEWAI

EXIT:

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

实验四宏的调用

DATASEGMENT

JUPDW0,A1,A2,A3,A4

MENUDB0DH,0AH

DB'**','**','**','**','**','**','**','**',0DH,0AH

DB'1.PROGRAMA',0DH,0AH

DB'2.PROGRAMB',0DH,0AH

DB'3.PROGRAMC',0DH,0AH

DB'4.PROGRAMD',0DH,0AH

DB'0.EXIT',0DH,0AH

DB'PLEASESELECT0-4:

','$'

DATAENDS

CRLFMACRO

MOVDL,0DH

MOVAH,2

INT21H

MOVDL,0AH

MOVAH,2

INT21H

ENDM

INPUTMACROORG

MOVDL,ORG

MOVAH,02H

INT21H

JMPA0

ENDM

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

A0:

LEADX,MENU

MOVAH,09H

INT21H

MOVAH,01H

INT21H

CMPAL,'0'

JBA0

CMPAL,'5'

JAA0

CMPAL,'0'

JEEXIT

ANDAL,0FH

SHLAL,1

CBW

MOVSI,AX

CRLF

CALLJUP[SI]

A1PROCNEAR

INPUT'A'

RET

A1ENDP

A2PROCNEAR

INPUT'B'

RET

A2ENDP

A3PROCNEAR

INPUT'C'

RET

A3ENDP

A4PROCNEAR

INPUT'D'

RET

A4ENDP

EXITPROCNEAR

MOVAH,4CH

INT21H

RET

EXITENDP

CODEENDS

ENDSTART

实验五子程序设计

编程实现,把上节编好的程序作为子程序,用菜单程序进行统一管理,按0退出。

DATASEGMENT

JUPDW0,A1,A2,A3,A4

MENUDB0DH,0AH

DB'1.PROGRAMA',0DH,0AH

DB'2.PROGRAMB',0DH,0AH

DB'3.PROGRAMC',0DH,0AH

DB'4.PROGRAMD',0DH,0AH

DB'0.EXIT',0DH,0AH

DB'PLEASESELECT0-4:

','$'

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

A0:

LEADX,MENU

MOVAH,09H

INT21H

MOVAH,01H

INT21H

CMPAL,'0'

JBA0

CMPAL,'4'

JAA0

CMPAL,'0'

JEEXIT

ANDAL,0FH

SHLAL,1

CBW

MOVSI,AX

CALLJUP[SI]

A1PROCNEAR

MOVDL,'A'

MOVAH,02H

INT21H

JMPA0

RET

A1ENDP

A2PROCNEAR

MOVDL,'B'

MOVAH,02H

INT21H

JMPA0

RET

A2ENDP

A3PROCNEAR

MOVDL,'C'

MOVAH,02H

INT21H

JMPA0

RET

A3ENDP

A4PROCNEAR

MOVDL,'D'

MOVAH,02H

INT21H

JMPA0

RET

A4ENDP

EXIT:

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

 

实验六窗口

在屏幕上开出一个窗口,

要求:

1、输入字符在窗口最底行,满行换行,上滚一行。

2、回车换行,上滚一行。

3、按esc退出,(ctrf+c,03h)

LOCATEMACROWIN_LRR,WIN_ULC

MOVAH,02H

MOVBH,0

MOVDH,WIN_LRR

MOVDL,WIN_ULC

INT10H

ENDM

CLEARMACROAL1,CH1,CL1,DH1,DL1,BH1

MOVAH,6

MOVAL,AL1

MOVCH,CH1

MOVCL,CL1

MOVDH,DH1

MOVDL,DL1

MOVBH,BH1

INT10H

ENDM

CODESEGMENT

MAINPROCFAR

ASSUMECS:

CODE

START:

CLEAR0,0,0,80,80,70H

CLEAR0,3,5,23,75,40H

CLEAR0,4,22,22,53,1EH

A1:

LOCATE22,22

MOVCX,32

GETCHAR:

MOVAH,1

INT21H

CMPAL,1BH

JZEXIT

CMPAL,13

JNZA2

CALLCRLF

A2:

LOOPGETCHAR

CLEAR1,4,22,22,53,1EH

JMPA1

EXIT:

MOVAH,4CH

INT21H

RET

MAINENDP

CRLFPROC

MOVDL,0DH

MOVAH,2

INT21H

MOVDL,0AH

MOVAH,2

INT21H

CLEAR1,4,22,22,53,1EH

LOCATE22,22

RET

CRLFENDP

CODEENDS

ENDSTART

实验七发声

编制音乐程序,通过在数据区存储的频率洗漱和节拍数,通过调用发音子程序发出音乐。

要求:

自己找一首歌,八个普音符转变为频率系数和节拍系数。

至少三十个音符。

PUBLICGENSOUND

CODESEGMENT

ASSUMECS:

CODE

GENSOUNDPROCFAR

PUSHAX

PUSHBX

PUSHCX

PUSHDX

PUSHDI

MOVAL,0B6H

OUT43H,AL,

MOVDX,12H

MOVAX,348CH

DIVDI

OUT42H,AL

MOVAL,AH

OUT42H,AL

INAL,61H

MOVAH,AL

ORAL,03H

OUT61H,AL

;PUSHSI

;MOVSI,5

WAIT1:

MOVCX,2800

DELAY:

LOOPDELAY

;DECSI

;JNZWAIT1

;POPSI

DECBX

JNZWAIT1

MOVAL,AH

OUT61H,AL

POPDI

POPDX

POPCX

POPBX

POPAX

RET

GENSOUNDENDP

CODEENDS

END

MUSIC.ASM

EXTRNGENSOUND:

FAR

STACKSEGMENTPARASTACK'STACK'

DB64DUP('STACK...')

STACKENDS

DATASEGMENTPARA'DATA'

FREQDW330,392,330,294,330,392,330,294,330

DW330,392,330,294,262,294,330,392,294

DW262,262,220,196,196,220,262,294,330,262

DW-1

TIMEDW3DUP(50),25,25,50,25,25,100

DW2DUP(50,50,25,25),100

DW3DUP(50,25,25,),100

DATAENDS

CODESEGMENTPARA'CODE'

ASSUMECS:

CODE,SS:

STACK,DS:

DATA

MUSICPROCFAR

MOVAX,DATA

MOVDS,AX

LEASI,FREQ

LEABP,DS:

TIME

FREQ:

MOVDI,[SI]

CMPDI,-1

JEENDSM

MOVDX,DS:

[BP]

CALLGENSOUND

ADDSI,2

ADDBP,2

JMPFREQ

ENDSM:

MOVAX,4C00H

INT21H

MUSICENDP

CODEENDS

ENDMUSIC

两个文件连接时:

LINK文件1+文件2

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 研究生入学考试

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2