ADDOP1 DD 65535
SUM DD ?
DSEG ENDS
ESEG SEGMENT
ADDOP2 DD 1
ESEG ENDS
STACK1 SEGMENT PARA STACK 'STACK'
DB 100 DUP(?)
STACK1 ENDS
CODE SEGMENT
ASSUME DS:DSEG,CS:CODE,ES:ESEG
START: MOV AX,DSEG
MOV DS,AX
MOV AX,ESEG
MOV ES,AX
MOV AX,WORD PTR ADDOP1
ADD AX,WORD PTR ADDOP2
MOV WORD PTR SUM,AX
MOV AX,WORD PTR ADDOP1+2
ADC AX,WORD PTR ADDOP2+2
MOV WORD PTR SUM+2,AX
以上完成16进制相加
MOV BX,WORD PTR SUM+2
CALL DISPLAY1 输出高16位,以10进制形式
MOV BX,WORD PTR SUM
CALL DISPLAY1 输出低16位,以10进制形式
注:这个程序只能实现 65535 以内的相加运算,超出后出错
因为这个显示程序只能正确输出理16位数
MOV AH,4CH
INT 21H
DISPLAY1 PROC NEAR
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
DISPLAY1 ENDP
DEC_DIV 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
DEC_DIV ENDP
CODE ENDS
END START
例子如下:
直接编译,程序输出结果中任意输入两个数字,程序执行结果如下图所示:
知识扩展:
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
C语言属于高级程序语言的一种,它的前身是“ALGOL”。其创始人是布朗·W·卡尼汉和丹尼斯·M·利奇。C语言问世时是带有很大的局限性,因为它只能用于UNIX系统上。然而随着科学技术的进步,计算机工业的发展,C语言逐渐脱离UNIX。1987年美国标准化协会制定了C语言的国际标准,简称“ANSI C”,从此以后它便成为一种广泛使用的程序语言。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)