实现32位加法(汇编)

时间: 2023-10-04 admin IT培训

实现32位加法(汇编)

实现32位加法(汇编)

实现32位加法(汇编)

大致思路就是首先将32位分低位和高位,先把低位相加的结果赋值到Z上,之后高位相加后,带进位相加

数据定义

	X DD 22223333HY DD 44445555HZ DD ?

低位(word)相加

  • 涉及到 word ptr强制转换类型
		MOV AX , WORD PTR XMOV BX , WORD PTR YADD AX , BXMOV WORD PTR Z , AX 

高位相加(adc-带符号相加)

		MOV AX , WORD PTR X + 2MOV BX , WORD PTR Y + 2ADC AX , BX MOV WORD PTR Z+2 , AX

特别要注意的点就是 !!ADC!!

完整代码

DATA SEGMENTX DD 22223333HY DD 44445555HZ DD ?
DATA ENDSCODE SEGMENT 'CODE'ASSUME DS:DATA,CS:CODESTART:MOV AX , DATAMOV DS , AX;---MOV AX , WORD PTR XMOV BX , WORD PTR YADD AX , BXMOV WORD PTR Z , AX MOV AX , WORD PTR X + 2MOV BX , WORD PTR Y + 2ADC AX , BX MOV WORD PTR Z+2 , AX;---查看结果是否正确MOV AX , WORD PTR ZMOV BX , WORD PTR Z+2;---MOV AH , 4CHINT 21HCODE ENDSEND START

结果截图