我正在尝试编写一个程序,找到两个变量中较大的一个并将答案保存在[最大]中。
这涉及使用分支条件。
这是我的计划:
; Find
; Gunner Stone ver 1.0 2/27/2017
;
org 100h
section .text
; beginning address of code = 0x0100
;*******************************************************
;
start:
mov dl, [num1]
cmp dl, [num2]
jg assignA ;should jump if dl is greater than [num2]
mov dl, [num2]
assignA:
mov [largest], dl
infiniteLoop:
jmp infiniteLoop
;
;*******************************************************
ILP: JMP ILP ;infinite loop
;
TIMES 50H -($-$$) DB 0
section .data
; beginning address of data = 0x0150
;*******************************************************
;
num1: db 0x0A
num2: db 0xFA
largest: db 00
;
;*******************************************************
我的问题或缺乏理解是,即使[num1]小于[num2],跳转也会触发jg assignA
。
如果有人能告诉我为什么会发生这种情况/我的想法存在缺陷,那会有所帮助!