ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:20.95KB ,
资源ID:3009913      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-3009913.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(汇编小程序.docx)为本站会员(sk****8)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

汇编小程序.docx

1、-程序 sy3-1:实现从键盘输入一位数字,判断其奇偶性。并在屏幕上输出一个标志,若为奇数,则输出 1;否则输出 0。-如果输入的不是数字,则显示字符串“ERROR” 。DATAS SEGMENTSTRING DB “ERROR$“ ;定义字符串FLAG DB ? ;设置奇偶标志DATAS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATASSTART:MOV AX,DATASMOV DS,AXMOV FLAG,1 ;给标志位 FLAG 赋初值MOV AH,01HINT 21H ;接收键盘输入一位数CMP AL,30HJB ERRCMP AL,39HJA ERRT

2、EST AL,01H ;测试,根据最后一位判断奇偶性JNZ OUTPUT ;不为 0 则为奇数MOV FLAG,0OUTPUT: MOV DL,FLAGMOV AH,02HINT 21H ;输出标志位JMP EXITERR: ;显示字符串 MOV DX,OFFSET STRINGMOV AH,9INT 21H EXIT: MOV AH,4CHINT 21HCODES ENDSEND START;-程序 sy3-2:根据用户输入的星期几数字代号(0 代表星期天) ,在屏幕上显示相应的英文缩写名。DATAS SEGMENTs0 db “Sun$“S1 DB “Mon$“S2 DB “Tue$“S3

3、 DB “Wed$“S4 DB “Thu$“S5 DB “Fri$“S6 DB “Sat$“ADDR_TABLE DW S0,S1,S2,S3,S4,S5,S6 ;定义地址表DATAS ENDSSTACKS SEGMENT;此处输入堆栈段代码STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AXMOV AH,1INT 21H ;接受键盘输入CMP AL,30HJB EXITCMP AL,36H ;不是数字 06,则退出程序JA EXIT SUB AL,30H ;转变为数字MOV

4、BL,2MUL BL ;数字乘以 2 的结果是在地址表中的相应位置的偏移值MOV BX,AX ;将输入的数字转换为地址表中的偏移地址MOV DX,ADDR_TABLEBX ;取地址表中的相应内容(即 DX 为字符串的偏移地址)MOV AH,9INT 21H ;显示字符串EXIT:MOV AH,4CHINT 21HCODES ENDSEND START;-SY4-1.ASM: 该程序计算 1100 的和并用十进制的形式在屏幕上显示出来。code segmentassume cs:codestart: mov cx,100mov ax,0mov bx,1s:add ax,bx ;循环累加求和inc

5、 bxloop smov bx,ax ;将显示 bx 的值;-下面程序段的功能是以十进制形式显示 BX 的内容MOV SI,10000 ;因为 BX65536,循环处理 5 次MOV CX,5ROTATE:MOV AX,BXMOV DX,0 ;被除数送(DX ,AX )DIV SI ;除数MOV BX,DX ;余数要作为下一步的被除数MOV DL,ALADD DL,30HMOV AH,2 ;显示商(即对应位上的数字)INT 21HMOV AX,SI MOV DX,0MOV DI,10DIV DI ;把除数除以 10 后的商作为下一步的除数MOV SI,AX ;改变除数LOOP ROTATEmo

6、v ah,4chint 21h ;返回 DOScode endsend start ;-该程序判断两个字符串是否匹配,并在屏幕上显示结果。DATA SEGMENTSTRING1 DB Move the cursor Backward.STRING2 DB Move the cursor backward.MESS1 DB Mactch.,13,10,$MESS2 DB No match!,13,10,$DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV SI,-1 ;SI 要记录不匹配的位置MOV

7、 CX,25S: INC SIMOV AL,STRING1SICMP AL,STRING2SI ;循环比较LOOPZ SJZ MATCH ;相等则匹配LEA DX,MESS2 JMP DISPMATCH:LEA DX,MESS1DISP: MOV AH,9INT 21H ;显示字符串MOV AH,4CHINT 21HCODE ENDSEND START;-该程序判断两个字符串是否匹配,并在屏幕上显示结果。DATA SEGMENTSTRING1 DB Move the cursor Backward.STRING2 DB Move the cursor Backward.MESS1 DB Mac

8、tch.,13,10,$MESS2 DB No match!,13,10,$DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AX ;源串段地址MOV ES,AX ;目的串段地址MOV SI,OFFSET STRING1 ;源串偏移地址MOV DI,OFFSET STRING2 ;目的串偏移地址MOV CX,25 ;串长度CLD ;方向标志位REPZ CMPSB ;相等则重复比较,遇到不相等的则退出JZ MATCH ;如果退出串比较后,zf=1 表示整个字符串都比较完了都相等则匹配LEA DX,MESS2

9、JMP DISPMATCH:LEA DX,MESS1DISP: MOV AH,9INT 21H ;显示字符串MOV AH,4CHINT 21HCODE ENDSEND START;-该程序实现找到 10 个学生成绩数组中最大值并在屏幕上显示;-统计小于 60 的个数,即不及格的人数并显示。;-计算数组平均值(取整数部分,即平均成绩)并显示 DATAS SEGMENTGRADE DB 76,68,54,80,45,92,63,58,94,85STR1 DB “The highest score:$“STR2 DB “the number of failing:$“STR3 DB “average

10、:$“DATAS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATASSTART:MOV AX,DATASMOV DS,AXMOV SI,0MOV DX,OFFSET STR1CALL OUTSTRCALL MAXS ;调用比较找最大值MOV BX,0 MOV BL,AL ;将最大值送 BXCALL BINIDEC ;调用二进制转十进制输出 BXCALL CRLF ;调用显示回车换行MOV DX,OFFSET STR2CALL OUTSTRCALL BJG ;调用统计不及格人数MOV BH,0CALL BINIDEC ;以十进制显示不及格人数CALL CRLFMO

11、V DX,OFFSET STR3CALL OUTSTRCALL AVG ;调用求平均值MOV BX,0 MOV BL,AL ;将平均值送 BXCALL BINIDEC ;以十进制显示平均值MOV AH,4CHINT 21H;-子程序 OUTSTR:显示字符串。OUTSTR PROC NEARMOV AH,9INT 21HRETOUTSTR ENDP;-子程序 AVG:求数组平均值, 出口参数为 AL。AVG PROC NEARMOV AX,0MOV SI,0MOV CX,10S: ADD AL,GRADESIADC AH,0INC SILOOP SMOV BL,10DIV BLRETAVG E

12、NDP ;-子程序 BJG: 统计不及格人数,出口参数为 BL。BJG PROC NEARMOV CX,10MOV AL,60MOV BX,0COM:CMP AL,GRADESIJlE NEXTINC BXNEXT:INC SILOOP COM RETBJG ENDP ;-子程序 MAXS:通过比较找到最大值,出口参数为 AL。MAXS PROC NEARMOV SI,0MOV CX,9 ;设置比较次数MOV Al,GRADESI LOOP1:INC SICMP GRADESI,ALJBE CONTINIU1MOV AL,GRADESI ;保存大值CONTINIU1: LOOP LOOP1RE

13、TMAXS ENDP;-子程序将 bx 的内容转换为十进制输出到屏幕BINIDEC PROC NEARMOV SI,10000 ;BX65536,循环处理 5 次MOV CX,5ROTATE:MOV AX,BXMOV DX,0 ;被除数送(DX ,AX )DIV SI ;除数MOV BX,DX ;余数要作为下一步的被除数MOV DL,ALADD DL,30HMOV AH,2 ;显示商(即对应位上的数字)INT 21HMOV AX,SI MOV DX,0MOV DI,10DIV DI ;把除数除以 10 后的商作为下一步的除数MOV SI,AX ;改变除数LOOP ROTATERETBINIDE

14、C ENDP;-显示回车换行CRLF PROC NEARPUSH AXPUSH DXMOV AH,2MOV DL,0DHINT 21HMOV DL,0AHINT 21HPOP DXPOP AXRETCRLF ENDPCODES ENDSEND START;-程序功能:输入表达式,实现 500 以内的十进制数的加减运算;-定义宏:显示以$结束的字符串outstring macro mesmov dx, offset mesmov ah,9int 21h endm ;-设置提示符 DATAS SEGMENTmes1 db please input the first operand:$mes2 d

15、b please input the second operand:$mes3 db please input the operator:$mes4 db output the Calculated Results:$mes5 db first Data of more than 500, please enter again!$mes6 db second Data of more than 500, please enter again!$ mes7 db Operator input error, please enter again!$DATAS ENDSSTACK SEGMENTDW

16、 50 DUP (0)TOS LABEL WORDSTACK ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSTART:MOV AX,DATASMOV DS,AXMOV AX,STACKMOV SS,AXMOV SP,OFFSET TOSs1: outstring mes1 ;输出提示菜单call decibin ;接收键盘十进制输入,以任意非十进制数码结束输入cmp bx,500ja err1 ;控制操作数不大于 500 push bxcall crlf ;换行jmp s2err1:call crlfoutstring mes5 ;输出错

17、误提示call crlfjmp s1 s2: outstring mes2call decibincmp bx,500ja err2 push bxcall crlfjmp s3err2:call crlfoutstring mes6call crlfjmp s2 s3:outstring mes3mov ah,1 ;输入操作符int 21h mov bl,alcmp bl, + jne c1 pop axpop bxadd bx,ax ;做加法 call crlf outstring mes4 jmp dispc1:cmp bl,-jne err call crlf outstring mes4 pop axpop bxsub bx,ax ;做减法jns dispmov dl,-mov ah,2int 21h ;输出负号neg bx ;求绝对值disp: call binidec ;显示运算结果jmp quit err:call crlfoutstring mes7 ;操作符错误提示

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。