我编写了一个程序,用于比较存储在变量中的4个数字,并在8086(汇编)中获得最大的数字。
这是我的程序:
; Find the greatest among 4 numbers
; You may customize this and other start-up templates;
; The location of this template is c:\emu8086\inc\0_com_template.txt
org 100h
;CH IS FOR A,CL FOR B,DH FOR C, DL FOR C
; Comparison for var1
MOV CH,var1
MOV CL,var2
MOV DH,var3
MOV DL,var4
CHcomparison:
CMP CH,CL
JL CLcomparison
CMP CH,DH
JL CLcomparison
CMP CH,DL
JL CLcomparison
MOV AL,CH
JMP end
CLcomparison:
CMP CL,DH
JL DHcomparison
CMP CL,DL
JL DHcomparison
MOV AL,CL
JMP end
DHcomparison:
CMP DH,CH
JL DLcomparison
CMP DH,DL
JL DLcomparison
MOV AL,DH
JMP end
DLcomparison:
MOV AL,DL
end:
ret
var1 DB 76h
var2 DB 90h
var3 DB 4h
var4 DB 17h
现在,我的程序将最大的四个变量存储在AX寄存器中。它不适用于存储在变量中的十六进制值,但可以使用没有'h'的值,我的意思是普通的十进制值。