汇编语言:计算一个数的立方值(0~40)

CODE segment
ASSUME DS:CODE,DS:CODE
ORG 100H
START:
		PUSH CS
		POP DS
Again:
        LEA DX,Tips1
		MOV AH,9
		INT 21H ;显示提示
		XOR BP,BP ;BP清0
		MOV CS,2
		@In:mov ah,0
		INT 16H ;无回显输入
		CMP AL,1BH ;Esc退出程序
		JZ quit
		CMP AL,ODH
		JZ Show ;回车结束输入
		CMP AL,'0'
		JB @In
		CMP AL,'9';数据校验
		JA 
		MOV AH,0EH
		INT 10H ;显示有效输入
		AND AL,0FH
		MOV AH,0
		XCHG AX,BP
		MOV BL,10 ;BP×10
		MUL BL
		ADD BP,AX ;BP+AX
		LOOP @In
Show:
		CMP BP,40
		JBE Q4
		LEA DX,CuoWu
		MOV AH,9
		INT 21H
		JMP quit
Q4:
		XOR DX,DX
		MOV AX,BP
		MUL BP
		MUL BP
		MOV DX,AX
		MOV CUBE,AX
		PUSH AX
		MOV AL,'='
		MOV AH,0EH
		INT 10H
		POP AX
		call binidec
		JUP START
quit:
		MOV AH,0
		INT 16H
		MOV AH,4CH
		int 21H
		Tips1 DB 0DH,0AH,'Input(0-40),Esc to Quit: $'
		CuoWu db 'Input Error!$'
		CUBE dw 0
		binidec:
		mov cx,10000d
		call dec_div
		mov cx,1000d
		call dec_div
		mov cx,100d
		call dec_div
		mov cx,10d
		call dec_div
		mov cx,1d
		call dec_div
		ret
dec_div:
    mov ax,dx
    mov dx,0
    div cx
    mov bx,dx
    add al,30h
    mov ah,0eh
		int 10h
		ret
code ends
end start

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值