汇编程序设计实验(汇编语言程序设计上机实验)
本文目录
- 汇编语言程序设计上机实验
- 汇编语言实验 子程序设计与系统调用
- 汇编实验 设计计程序交换AX与BX内容
- 汇编程序设计:冒泡法排序程序设计实验报告
- 汇编语言程序设计实验-----子程序设计
- 汇编语言实验 分支程序设计
- 汇编大神进 实验三 汇编语言源程序设计
汇编语言程序设计上机实验
PRINT MACRO PARAM LEA DX,PARAM MOV AH,9 INT 21H ENDM DSEG SEGMENT MARKS DB 100,87,45,67,32,45,66,98,83,90,85,60,59 ;成绩 MARKED DB 0FFH ;表示成绩数据结束 M59MSG DB ’ 《60 counter:$’ M59 DB 5 DUP(0),0DH,0AH,24H C59 DW 0 M60MSG DB ’ 《90 counter:$’ M60 DB 5 DUP(0),0DH,0AH,24H C60 DW 0 M90MSG DB ’》=90 counter:$’ M90 DB 5 DUP(0),0DH,0AH,24H C90 DW 0 BUFFER DB 20,20 DUP(0) CRLF DB 0DH,0AH,24H MSGERR DB ’data error’,07,0DH,0AH,24H DSEG ENDS CSEG SEGMENT ASSUME CS:CSEG,DS:DSEG START: MOV AX,DSEG MOV DS,AX LEA SI,MARKS ML1: MOV AL, ;取一个成绩 INC SI CMP AL,0FFH ;是不是已经处理完所有成绩 JZ ML2 CMP AL,101 ;判断一下是不是有大于100的数,这里假设最大成绩是100分 JNC ML_ERR CMP AL,60 ;下面进行各成绩段的计数 JC ML_L60 CMP AL,90 JC ML_L90 INC JMP ML1 ML_L60: INC JMP ML1 ML_L90: INC JMP ML1 ML2: MOV AX, LEA SI,M59+5 CALL AX2ASC ;将AX中的数转换成ASCII码,以显示 MOV AX, LEA SI,M60+5 CALL AX2ASC MOV AX, LEA SI,M90+5 CALL AX2ASC PRINT M90MSG ;显示,如果不希望用宏指令,可以用下列的方式实现 ;LEA DX,M90MSG ;MOV AH,9 ;INT 21H PRINT M90 PRINT M60MSG PRINT M60 PRINT M59MSG PRINT M59 MOV AX,4C00H ;返回DOS INT 21H ML_ERR: PRINT MSGERR ;显示错误信息 MOV AX,4C01H INT 21H ;下面的子程序用于将AX中的数转换成ASCII码 AX2ASC PROC NEAR ;ent ax=data si=end of buffer ;exit si=start of string PUSH AX PUSH CX PUSH DX MOV CX,10 SUB_L1: MOV DX,0 DIV CX ADD DL,30H DEC SI MOV ,DL OR AX,AX JNZ SUB_L1 POP DX POP CX POP AX RET AX2ASC ENDP CSEG ENDS END START以上程序已测试通过。不知道是否满足你的要求希望能帮到你。
汇编语言实验 子程序设计与系统调用
data segment para MAXLEN DB 30 INPTLEN DB ? STR1 DB 31 DUP(0) STR2 DB 31 DUP(0);在此定义Dos功能9和0a共用的缓冲区 data ends code segment para assume cs:code,ds:data main: mov ax,data mov ds,ax LEA DX,MAXLEN MOV AH,0AH INT 21H XOR CX,CX MOV CL,INPTLEN LEA SI,STR1 LEA DI,STR2;①字符串输入 LOP1: MOV AL, CALL UPCASE;②小写变大写子程序 MOV ,AL INC DI L6: INC SI LOOP LOP1 MOV byte ptr ,’$’ CALL NEWLINE;③换行 LEA DX,STR2;④在新行显示转换后的字符串 mov ah,09H int 21h mov ah,1;按任意键结束 int 21h mov ah,4ch int 21h NEWLINE PROC PUSH AX PUSH DX MOV DL,0DH MOV AH,02H INT 21H MOV DL,0AH MOV AH,02H INT 21H POP DX POP AX RET NEWLINE ENDP upcase proc cmp al,61h jb tj cmp al,7ah ja tj sub al,20h tj: ret upcase endp code ends end main
汇编实验 设计计程序交换AX与BX内容
STSG SEGMENT STACK ’S’DW 1000 DUP(?)STSG ENDSCODE SEGMENTMAIN PROC FAR ASSUME CS:CODE,SS:STSG ;MOV SP,2000 这条语句实际上可以不用,堆栈大小已经设为了1000个字,即2000字节 MOV AX,3000H MOV BX,5000H PUSH AX PUSH BX POP AX POP BX MOV AX,4C00H INT 21HMAIN ENDPCODE ENDS END MAIN
汇编程序设计:冒泡法排序程序设计实验报告
C#代码:using System;class Program{ static void Main() { int { 49, 38, 65, 97, 76, 13, 27, 49 }; int i; Console.WriteLine("排序前:"); for (i = 0; i 《 arr.Length; i++) Console.Write("{0,4}", arr); Console.WriteLine(); BubbleSort(arr); Console.WriteLine("排序后:"); for (i = 0; i 《 arr.Length; i++) Console.Write("{0,4}", arr); Console.WriteLine(); } static void BubbleSort(int arr) { int temp; for(int i=0;i《arr.Length-1; i++) for(int j=0;j《arr.Length-1-i;j++) if(arr) { temp = arr; arr; arr = temp; } }}运行测试:
汇编语言程序设计实验-----子程序设计
data segmentstringdb’abc$’textdb’hiaabckabiiabcyyfabcds$’outputdb’count=$’countdb3db?db3 dup(?)dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axmovbx,offsetcountmovcl,0movsi,offsetstringmovdi,offsettextmoval,l0:movah,cmpah,’$’jzl4cmpah,aljzl1incdijmpl0l1:incsiincdimoval,movah,cmpal,’$’jzl3cmpah,’$’jzl4cmpah,aljnzl5 jmpl1l3:inccll5:movsi,offsetstringmoval, jmpl0l4:mov ah,09hmov dx,offset outputint 21hmovdl,0dh;回车 movah,02hint21hmovdl,0ah;换行 movah,02hint21h addcl,30hmov,clincbxmov ah,’$’mov ,ahmov ah,09hmov dx,offset countint 21hmov ah,4chint 21hcodeendsendstart微机作业还是自己动手比较好
汇编语言实验 分支程序设计
RWMACROA,BLEA DX, AMOV AH, BINT 21HENDMDATA SEGMENT USE16 BUF1 DB 60 DB ? DB 60 DUP(?)BUF2 DB 60DB ?DB 60 DUP(?)STR1 DB 0DH,0AH,’$’STR2DB ’success!$’STR3DB ’Your telephone number is not match, please try again.$’STR4 DB ’Please input your telephone number:$’STR5 DB ’Please input your telephone number again:$’DATA ENDSSTACK SEGMENTUSE16 STACKDB 200 DUP(0)STACKENDSCODESEGMENTUSE16ASSUMEDS:DATA, ES:DATA, CS:CODE, SS:STACKSTART:MOVAX,DATAMOV DS,AXMOV ES,AXLOOP1: RW STR4, 9 ;输出Please input your telephone number:RWBUF1,10 ;输入号码RWSTR1,9 ;回车换行RW STR4, 9 ;输出Please input your telephone number again:RWBUF2,10 ;输入号码RWSTR1,9 ;回车换行MOVCL,BUF1CMPCL,BUF2 ;比较输入的号码位数是否一样JNENOMOVSX CX,CLMOVSI,OFFSETBUF1MOVDI,OFFSETBUF2CLD REPZ CMPSB ;比较输入的号码是否相同JNENO RWSTR2,9 ;输出success!JMPEXITNO:RWSTR3,9 ;输出Your telephone number is not match, please try again. RWSTR1,9 ;回车换行JMP LOOP1EXIT: MOVAH,4CHINT21HCODEENDSENDSTART
汇编大神进 实验三 汇编语言源程序设计
所给程序中的错误,都已经改正,可以正常工作了。DSEG SEGMENT BINVAL DW 12345 ASCVAL DB 5 DUP(20), ’$’DSEG ENDSCSEG SEGMENT ASSUME CS:CSEG,DS:DSEGSTART: MOV AX, DSEG MOV DS, AX MOV AX, BINVAL MOV SI, OFFSET ASCVAL + 4 MOV CX, 10AGAIN: CMP AX, 10 JB DONE CWD DIV CX OR DL, 30H MOV , DL DEC SI JMP AGAINDONE: OR AL, 30H MOV , AL LEA DX, ASCVAL MOV AH, 9 INT 21H MOV AH, 4CH INT 21HCSEG ENDS END START自己对照一下,看看进行了什么修改。
更多文章:
eventalert(求助大神大脚插件中eventalertmod设置的问题 NGA玩家社区)
2024年7月11日 11:26
小米应用商店官方版app下载安装(OPPO如何安装小米应用商店APP)
2024年7月23日 11:36
如何用最低的成本搭建属于自己的博客?程序员如何搭建一个简洁漂亮实用的个人博客
2024年6月6日 12:36
安卓系统rom包下载(安卓手机用什么软件或方法能把现在用的系统做成rom包!!)
2024年6月29日 08:30
visio免费版(office2016官方下载免费完整版中文版下载)
2024年7月16日 22:28
新手学office一般要学多久?LOL有些英雄没有蓝条,他们占了便宜吗设计师首次解释原因,玩家却不买单,你怎么看
2024年6月21日 04:38