;程序名:加法。空對地導彈
加法線段
假設CS:加法,DS:加法
ORG 100H
開始:JMP開始
First_Num DB '第壹個數字:$ '
Second_Num DB '第二個數字:$ '
Addi_Sum DB '總和是'
SumASCII DB 2 DUP('0 '),' $ ';兩個數之和的兩位ASCII數。
Exit_Mark DB 0
;子程序
GLOBAL Get _ Num:NEAR;從鍵盤接受壹個1數字。
Get_Num Proc附近
MOV啊,9
INT 21H
輸入:MOV AH,1
INT 21H
CMP AL,27;Esc?
JZ集_出口
CMP AL,' 0 '
JB輸入hr
CMP AL,' 9 '
JG輸入
還有AL,0FH
浸水使柔軟
set _ Exit:INC Exit _ Mark;設置退出標誌
浸水使柔軟
Get_Num結束
開始:MOV斧,3
INT 10H;將視頻顯示模式設置為80x25 16彩色文本模式。
LEA DX,First _ Num提示輸入第壹個1數字字符串地址。
調用Get _ Num從鍵盤接受壹個1數字。
CMP Exit_Mark,1
JZ出口_過程;如果設置了退出標誌,程序結束。
MOV·蘇馬西伊;保存第壹個1數字。
MOV啊,3
XOR有限公司
INT 10H;獲取光標位置
INC DH行數增加了1
XOR DL,DL;零列號
XOR有限公司
MOV啊,2
INT 10H;將光標位置設置為下壹行的第壹列。
LEA DX,Second _ Num提示輸入第二個1數字字符串地址。
調用Get _ Num接受鍵盤上的第二個1數字。
加AL,SumASCII加兩個1的數字。
化學生物戰(Chemical and Biological Warfare)
MOV BL,10
DIV BL當總和除以10時,商存儲在AL中,余數存儲在AH中。
或者AX,3030H將商和余數轉換成ASCII碼
CMP AL,' 0 '
JG Disp _ Sum;尚若>:0,顯示兩個數之和。
MOV·艾爾,”;如果商=0,十個空格。
顯示總和:
MOV文字PTR SumASCII,AX
MOV啊,3
XOR有限公司
INT 10H;獲取光標位置
INC DH行數增加了1
INC DH行數增加了1
XOR DL,DL;零列號
XOR有限公司
MOV啊,2
INT 10H;將光標位置設置為下壹行的第壹列。
LEA DX,Addi _ Sum顯示兩個數的和。
MOV啊,9
INT 21H
Exit_Proc:MOV AX,4C00H結束程序
INT 21H
加法結束
結束開始