当前位置:编程学习 > 汇编语言 >>

帮汇编语言做:A的B次方,要求A,B能从键盘上输入,并把结果显示出来!

答案:DATA SEGMENT NA DW ? NB DW ? OUTPUT1 DB 0AH,0DH,'ERROR!$' OUTPUT2 DB 'Please input number A(0~127):$' OUTPUT3 DB 0AH,0DH,'Please input the exponent of A(0~127):$' ;OUTPUT4 DB,0AH,0DH,'The result is:$' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: PUSH DS XOR AX,AX PUSH AX MOV AX,DATA MOV DS,AX MOV DX,OFFSET OUTPUT2 CALL TS CALL SR MOV NA,BX MOV DX,OFFSET OUTPUT3 CALL TS CALL SR MOV NB,BX ; MOV DX,OFFSET OUTPUT4 ; CALL TS CALL DG MOV BX,NA MOV CX,1000 CALL XS MOV CX,100 CALL XS MOV CX,10 CALL XS MOV CX,1 CALL XS MOV AH,4CH INT 21H ;------------------------------------------------------------------------------------------------------- TS PROC NEAR MOV AH,09 INT 21H RET TS ENDP ;--------------------------------------------------------------------------------------------------------- SR PROC NEAR XOR BX,BX MOV CL,3 A: MOV AH,08H INT 21H CMP AL,30H JB L CMP AL,39H JA L MOV DL,AL MOV AH,02H INT 21H SUB AL,30H XOR AH,AH XCHG BX,AX MOV DH,10 MUL DH ADD BX,AX L: CMP AL,0DH LOOPNZ A RET SR ENDP ;----------------------------------------------------------------------------------------------------- DG PROC NEAR CMP NB,1 JA NEXT MOV DX,NA RET NEXT: MOV AX,NB SUB AX,1 MOV NB,AX MOV AX,NA MUL AX MOV NA,AX CALL DG RET DG ENDP ;------------------------------------------------------------------------------------------------------ XS PROC NEAR MOV AX,BX MOV DX,0 DIV CX MOV BX,DX MOV DL,AL ADD DL,30H MOV AH,2H INT 21H RET XS ENDP ;-------------------------------------------------------------------------------------------------------- CODE ENDS END START

上一个:单片机汇编语言解析 高手帮忙解析,谢谢。
下一个:汇编语言中 cs, ds,ss 的区别

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,