我刚学汇编 在测试中遇到这样一个问题:
定义了一个sum初值为0,想使它与端口3中的信息不断的相加,直到超过100.
但在debug下测试,发现在没有超过100前不能执行相加指令!
这是否与端口中没有信息有关?要怎样才能使端口中有信息?
现在源程序如下:
my_data segment
sum db ?
my_data ends
stack segment para stack 'stack'
db 100 dup(?)
stack ends
my_code segment
assume cs:my_code, ds:my_data
port_val equ 3
start: mov ax,my_data
mov ds,ax
mov sum,0
cycle: cmp sum,100
jna not_done
mov al,sum
out port_val,al
hlt
not_done:in al,port_val
add sum,al
jmp cycle
my_code ends
end start