2016-11-21 79 views
1

我所经历的鸸鹋8086个例子并坚持以下thermometer.asm代码无法理解示例代码

#start=thermometer.exe# 

; temperature rises fast, thus emulator should be set to run at the maximum speed. 

; if closed, the thermometer window can be re-opened from emulator's "virtual devices" menu. 



#make_bin# 

name "thermo" 

; set data segment to code segment: 
mov ax, cs 
mov ds, ax 

start: 

in al, 125 

cmp al, 60 
jl low 

cmp al, 80 
jle ok 
jg high 

low: 
mov al, 1 
out 127, al ; turn heater "on". 
jmp ok 

high: 
mov al, 0 
out 127, al ; turn heater "off". 

ok: 
jmp start ; endless loop. 

谁能解释一下#make_bin##start=thermometer.exe#手段。另外,为什么我们不需要在使用端口之前配置端口。

+1

这些是emu8086指令(不是x86汇编的一部分),所以请查阅emu8086的文档。 ...关于“配置端口”..不知道你是什么意思。 'out'指令不需要任何配置,它将根据这些值设置I/O总线。阅读总线的设备是否需要配置,这是不同的主题,取决于设备的构造和设计如何操作,请参考设备的文档。 – Ped7g

+0

接下来的3个网址可以帮助您:http://muhendislik.istanbul.edu.tr/elektrikelektronik/wp-content/uploads/2013/12/Emu8086_tutorial.pdf,http://www.coval.net/teach/emu8086/ helpfiles/compatibility.html,https://www.facebook.com/Emu8086-and-assembly-language-Tips-n-Ticks-152336431476411/。 –

回答

0

我把它作为程序的一部分。 这部分没有任何人在温度计报告温度时打开或关闭温度计。 #make_bin#行用于创建.bin,有时可以放入eprom。 而行#start = thermometer.exe#运行读取温度的程序。 记住,当你发现#....#总是一个编译器指令。