我是靠谱客的博主 老迟到野狼,最近开发中收集的这篇文章主要介绍南邮微机实验一,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

(实验1.2)以十进制形式显示“25+9”的结果

.486
DATA SEGMENT USE16
SUM DB ?,?
MESG DB '25+9='
     DB  0,0,'$'
N1 DB 9,0F0H
N2 DW 25
DATA ENDS

CODE SEGMENT USE16
     ASSUME CS:CODE,DS:DATA
BEG:MOV AX,DATA
    MOV DS,AX
    MOV BX,OFFSET SUM
    MOV AH,N1
    MOV AL,BYTE PTR N2
    ADD AH,AL
    MOV BYTE PTR [BX],AH

    MOV SI,OFFSET MESG
    CALL CHANG
    MOV AH,9
    MOV DX,OFFSET MESG
    INT 21H
    MOV AH,4CH
    INT 21H

CHANG PROC
LAST:CMP BYTE PTR [BX],10
     JC NEXT
     SUB BYTE PTR [BX],10
     INC BYTE PTR [SI+5]
     JMP LAST
NEXT:MOV AH,BYTE PTR [BX]
     ADD BYTE PTR [SI+6],AH
     ADD BYTE PTR [SI+5],30H
     ADD BYTE PTR [SI+6],30H
     RET
CHANG ENDP

CODE ENDS
END BEG 

实验2.10)统计串中在42H~45H范围内的字符个数,以二进制形式在屏幕显示。

.486
DATA SEGMENT USE16
BUF DB 'aDDBCAEaaaaBCH'
CNT EQU $-BUF
DATA ENDS

CODE SEGMENT USE16
     ASSUME CS:CODE,DS:DATA
BEG:MOV AX,DATA
    MOV DS,AX
    MOV CX,CNT
	MOV SI,OFFSET BUF
	MOV BX,0
AGA:CMP BYTE PTR [SI],42H
    JC NEXT
	CMP BYTE PTR [SI],45H
	JA NEXT
	INC BX
NEXT:INC SI
    LOOP AGA

	CALL DISP
	MOV AH,2
	MOV DL,'B'
	INT 21H
    MOV AH,4CH
    INT 21H
DISP PROC
     MOV CX,16
LAST:MOV DL,'0'
     RCL BX,1
	 JNC PRINT
	 MOV DX,'1'
PRINT:MOV AH,2
     INT 21H
	 LOOP LAST
	 RET
DISP ENDP
CODE ENDS
END BEG 

最后

以上就是老迟到野狼为你收集整理的南邮微机实验一的全部内容,希望文章能够帮你解决南邮微机实验一所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部