简单的计算器模拟程序的设计和实现内容摘要:

CMP AH,[BX] JZ NO_BX。 inc bx INC BX NO_BX: MOV [BX],AL MOV AH,3DH CMP AH,AL JNZ NO_OVER SUB AL,25。 transplant 39。 =39。 to 39。 $39。 MOV [BX],AL JMP OVER NO_OVER: JMP READ MULT PROC NEAR。 mult data*10,add up PUSH DX PUSH CX PUSH AX MOV AH,0 CMP [BX],AH JZ NO_INC_BX MOV AH,30H CMP [BX],AH JNB NO_INC_BX INC BX NO_INC_BX: MOV DX,0 MOV CX,10 MOV AH,[BX] CMP AH,30H JB NO_SUB SUB AH,30H NO_SUB: MOV [BX],AH NEXT: ADD DX,[BX] LOOP NEXT SUB AL,30H。 tras to decimal ADD DL,AL MOV [BX],DL MOV AH,[BX] ADD AH,30H MOV [BX],AH POP AX POP CX POP DX RET MULT ENDP。 end of read OVER: CALL NEAR PTR TRANS。 the outlet of the program OVER1: CALL NEAR PTR VALUE。 jmp instead of ret in procedure trans OVER2: CALL NEAR PTR PRINT OVER3: MOV AH,9 MOV DX,OFFSET MSG5 INT 21H MOV AH,8 INT 21H CMP AL,1BH JZ OVER4 MOV CX,210 MOV BX,OFFSET STRI MOV AL,0 OVER_LOOP: MOV [BX],AL INC BX LOOP OVER_LOOP MOV AH,2 MOV DL,0DH INT 21H MOV DL,0AH INT 21H JMP START OVER4: MOV AH,4CH INT 21H。 trans TRANS PROC NEAR。 PUSH AX PUSH BX PUSH CX PUSH DX PUSH SI PUSH DI XOR CX,CX MOV BX,OFFSET STRI MOV SI,OFFSET EXP MOV DI,OFFSET TRACK TRANS_WHILE: MOV AL,[BX] INC BX MOV AH,24H。 39。 $39。 CMP AH,AL JZ TRANS_OVER。 end with 39。 =39。 MOV AH,2FH。 judge L digital CMP AH,AL JNB NO_DIGITAL MOV [SI],AL INC SI JMP TRANS_WHILE NO_DIGITAL: MOV AH,28H。 judge L 39。 (39。 CMP AH,AL JNZ NO_9 MOV [DI],AL。 push al INC DI JMP TRANS_WHILE NO_9: MOV AH,29H。 judge L 39。 )39。 CMP AH,AL JNZ NO_0 POP_WHILE: DEC DI MOV AL,[DI]。 pop al MOV AH,28H CMP AH,AL JZ OVER_POP_WHILE MOV [SI],AL INC SI JMP POP_WHILE OVER_POP_WHILE:。 mov al,dl JMP TRANS_WHILE。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。