北航x86汇编程序设计_作业三

这篇博客介绍了北航x86汇编课程的作业,包括编写子程序实现10到16、16到10、2到10进制的转换,以及乘除法运算。此外,还涵盖了字符串处理,如大小写转换、增删查改、复制、比较和输入输出功能。展示了程序运行的结果截图。
摘要由CSDN通过智能技术生成

1. 编写综合程序,构成子程序表,实现10->16,16->10,2->10进制转换以及乘除法运算。

代码如下:

STACK 		SEGMENT PARA STACK
			DW 100H DUP(?)
STACK		ENDS

DATA		SEGMENT PARA
STR1		DB 'Please input a decimal number(10->16):',0ah,0dh,'$'
STR2		DB 'Please input a binary number(2->10):',0ah,0dh,'$'
STR3		DB 'Please input a hexadecimal number(16->10):',0ah,0dh,'$'
STR4		DB 'Quotient:','$'
STR5		DB 'Remainder:','$'
VALUE		DB 128 DUP(?)
NEW_LINE	DB 0DH,0AH,'$'
DATA		ENDS

CODE 		SEGMENT
			ASSUME CS:CODE,DS:DATA,SS:STACK
MAIN		PROC FAR
			MOV AX,DATA
			MOV DS,AX
			MOV AX,STACK
			MOV SS,AX
			
			MOV DX,OFFSET STR1 ;输入一个十进制数
			MOV AH,9
			INT 21H
			MOV CX,5			
			CALL INPUT_10
			
			MOV  BX, 16        ;16进制,要除16
			MOV  CX, 4         ;求4位16进制数.
			CALL CV10_16
			
			PUSH AX
			
			CALL ENTER_1
			
			MOV DX,OFFSET STR2 ;输入一个二进制数
			MOV AH,9
			INT 21H
			MOV CX,16		
			CALL INPUT_2
			
			CALL ENTER_1
			
			MOV  BX, 10        ;10进制,要除10
			MOV  CX, 5         ;求5位10进制数.
			CALL CV2_10
			
			PUSH AX
			
			CALL ENTER_1
			
			MOV DX,OFFSET STR3 ;输入一个十六进制数
			MOV AH,9
			INT 21H
			MOV CX,4		
			CALL INPUT_16
			
			CALL ENTER_1
			
			MOV  BX, 10        ;10进制,要除10
			MOV  CX, 5         ;求5位10进制数.
			CALL CV2_10
			
			CALL ENTER_1
			
			POP BX
			POP AX
			CALL DIV1_2
			
			CALL ENTER_1
			
			CALL MULT
			
			MOV AH,4CH
			INT 21H
			
MAIN		ENDP

;输出回车
ENTER_1		PROC
			PUSH AX
			PUSH DX
			
			MOV DX,OFFSET NEW_LINE ;显示回车
			MOV AH,9
			INT 21H
			
			POP DX
			POP AX
			RET
ENTER_1		ENDP


INPUT_10	PROC
			PUSH SI
			PUSH DX
			PUSH BX
			
			MOV SI,0
			MOV BX,10
			
LP1:		MOV AH,1
			INT 21H
			CMP AL,0DH
			JE RETURN
			CMP AL,30
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值