我正在寫一個程序,比較數據段中定義的2個數字。 我這樣定義它們如何比較2號碼?
Dseg SEGMENT PARA PUBLIC 'data'
NUM1 DW 1 ; num1 = 1
NUM2 DW 2 ; num2 = 2
MAX DW ? ; variable to save the max number
MIN DW ? ; variable to save the min number
Dseg ENDS
Cseg SEGMENT PARA PUBLIC 'code'
ASSUME CS : Cseg , DS : Dseg , SS : Sseg , ES : NOTHING
ORG 100H
Mov AX , Dseg
Mov DS , AX
Mov AX , NUM1 ; move num1 to AX
CMP AX , NUM2 ; compare num1 with num2
JAE MAX1 ; jump if num1 > num2
Mov AX , NUM2; ax = num2
Mov MAX , AX ; max = ax
Mov AX , NUM1; ax = num1
Mov MIN , AX ; min = ax
JMP ENDPROG
MAX1 :
Mov AX , NUM1; ax = num1
Mov MAX , AX ; max = ax
Mov AX , NUM2; ax = num2
Mov MIN , AX ; min = ax
JMP ENDPROG
ENDPROG :
;..............
Mov AX , 4c00H
INT 21H
Cseg ENDS
END
但是跳轉順序不起作用!並且它卡在ENDPROG標籤。 我想知道這是爲什麼? 這段代碼有什麼問題?
你是什麼意思_「跳轉命令不好」_? – Michael 2014-10-19 10:30:33
jmp或jae不起作用。這就像沒有跳轉順序。 – zahra 2014-10-19 10:33:52
您如何測試跳轉不起作用?在調試器中單步執行? – usr2564301 2014-10-19 11:03:13