【发布时间】:2017-07-18 22:34:09
【问题描述】:
我正在尝试编写一个程序来查找两个变量中较大的一个并将答案保存在 [largest] 中。
这涉及使用分支条件。
这是我的程序:
; 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。
如果有人能告诉我为什么会发生这种情况/我的思维缺陷在哪里,那会有所帮助!
【问题讨论】: