第一范文网 - 专业文章范例文档资料分享平台

微机原理作业及参考答案

来源:用户分享 时间:2025/6/9 7:45:56 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

MOV CX,100

LP: MOV AH,BUF[SI]

CMP AH,85H JA GS

CMP AH,60H JAE PS MOV AL,BAD ADD AL,1 DAA

MOV BAD,AL JMP AGAIN GS: MOV AL,GOOD ADD AL,1 DAA

MOV GOOD,AL JMP AGAIN PS: MOV AL,PASS ADD AL,1 DAA

MOV PASS,AL AGAIN: MOV AL,BL ADD AL,AH DAA

MOV BL,AL

MOV AL,BH ADC AL,0 DAA

MOV BH,AL

INC SI LOOP LP

MOV AVRG,BH MOV AH,4CH INT 21H CODE ENDS

END START 4-15

DATA SEGMENT

FIRST DB '...$' ;定义字符串 COUNT EQU 100 ;定义字符串长度 RESULT DW ? ;定义存放结果单元 DATA ENDS

STACK SEGMENT PARA STACK 'STACK' DB 100 DUP(?)

STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX

MOV BX,OFFSET FIRST ;建立数据指针 MOV CX,COUNT ;设置循环次数 MOV DX,0 ;清零计数器 LP: CMP BYTE PTR [BX],'A' JNZ NEXT ;非'A'则转到NEXT INC DX ;是'A'则计数器DX加1 NEXT: INC BX ;调整数据指针 LOOP LP ;循环100次 MOV RESULT,DX ;结果存入RESULT MOV AH,4CH INT 21H CODE ENDS

END START 4-17

DATA SEGMENT

DATA_W DW X1,X2,… COUNT EQU ($-DATA_W)/2 COUT1 DW 0 COUT2 DW 0 COUT3 DW 0 DATA ENDS

STACK SEGMENT PARA STACK 'STACK' DB 100 DUP(?) STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX

MOV BX,OFFSET DATA_W ;建立数据指针 MOV CX,COUNT ;设置循环次数 LP: CMP WORD PTR [BX],0 JGE NEXT INC COUT2

JMP AGAIN NEXT: JG NEXT2 INC COUT3

JMP AGAIN

NEXT2: INC COUT1

AGAIN:INC BX ;调整数据指针 INC BX

LOOP LP ;循环100次

MOV AH,4CH INT 21H CODE ENDS

END START 4-18

DATA ESGMENT

ARRAY DB D1,D2,...,DN ;定义字节数组 COUNT EQU $-ARRAY ;字节数组长度赋予符号名COUNT MAX DB ? MIN DB ? DATA ENDS

STACK SEGMENT PARA STACK 'STACK' DB 100 DUP(?) STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX

MOV BX,OFFSET ARRAY ;建立数据指针 MOV CX,COUNT-1 ;设置循环次数 MOV AL,[BX] MOV MAX,AL ;MAX赋予初值为ARRAY的第一个数据 MOV MIN,AL ;MIN赋予初值为ARRAY的第一个数据 LP: INC BX ;调整数据指针 MOV AL,[BX] ;取数据 CMP AL,MIN ;与MIN进行比较 JNB BIG ;比MIN大则跳转BIG判断是否最大值 MOV MIN,AL ;小于或等于MIN则给MIN重新赋值 JMP NEXT ;比较下一个数据 BIG: CMP AL,MAX ;与MAX进行比较 JNA NEXT ;比MAX小则比较下一个数据 MOV MAX,AL ;大于或等于MAX则给MAX重新赋值 NEXT: LOOP LP MOV AH,4CH INT 21H CODE ENDS

END START 4-19

DATA SEGMENT

BLOCK DB X1,X2,… COUNT EQU 256 MAX DB ? DATA ENDS

STACK SEGMENT PARA STACK 'STACK' DB 100 DUP(?) STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV MAX,0

MOV BX,OFFSET BLOCK ;建立数据指针 MOV CX,COUNT ;设置循环次数 LP: MOV AL, BYTE PTR [BX]

CMP AL,0 JGE NEXT NEG AL NEXT: CMP MAX,AL

JAE AGAIN MOV MAX,AL

AGAIN:INC BX ;调整数据指针 LOOP LP MOV AH,4CH INT 21H CODE ENDS

END START

4-22

DATA SEGMENT STRING DB 'S1S2...S80' COUNT EQU 80 DATA ENDS

STACK SEGMENT PARA STACK 'STACK' DB 100 DUP(?) STACK ENDS

CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV DX,0 ;清零计数器DX MOV BX,OFFSET STRING;建立指针 MOV CX,COUNT ;置循环次数

搜索更多关于: 微机原理作业及参考答案 的文档
微机原理作业及参考答案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4ahfl0kpd04oweh0pit6_4.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top